From f78650dabac66a294ade4e3f09e534211fde9482 Mon Sep 17 00:00:00 2001 From: yunxiang wei <121092793+yiwangsimple@users.noreply.github.com> Date: Wed, 31 Jul 2024 10:55:05 +0800 Subject: [PATCH] Delete moonshot_chat_nodes.py --- moonshot_chat_nodes.py | 118 ----------------------------------------- 1 file changed, 118 deletions(-) delete mode 100644 moonshot_chat_nodes.py diff --git a/moonshot_chat_nodes.py b/moonshot_chat_nodes.py deleted file mode 100644 index dca0649..0000000 --- a/moonshot_chat_nodes.py +++ /dev/null @@ -1,118 +0,0 @@ -import os -import sys -from openai import OpenAI - -# 添加父目录到 Python 路径 -parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -if parent_dir not in sys.path: - sys.path.append(parent_dir) - -from api_utils import load_api_key - -class MoonshotChatBaseNode: - def __init__(self): - self.client = None - self.api_key = load_api_key('MOONSHOT_API_KEY') - if self.api_key: - self.client = OpenAI(api_key=self.api_key, base_url="https://api.moonshot.cn/v1") - else: - print("Error: MOONSHOT_API_KEY not found in api_key.ini") - - @classmethod - def INPUT_TYPES(cls): - return { - "required": { - "prompt": ("STRING", {"multiline": True}), - "model": (["moonshot-v1-8k", "moonshot-v1-32k", "moonshot-v1-128k"],), - "temperature": ("FLOAT", {"default": 0.3, "min": 0.0, "max": 2.0, "step": 0.1}), - "max_tokens": ("INT", {"default": 1000, "min": 1, "max": 128000}), - }, - "optional": { - "system_message": ("STRING", {"multiline": True}), - } - } - - RETURN_TYPES = ("STRING",) - -class MoonshotSingleChatNode(MoonshotChatBaseNode): - FUNCTION = "generate_single_response" - RETURN_NAMES = ("response",) - - def generate_single_response(self, prompt, model, temperature, max_tokens, system_message=""): - if not self.client: - return ("Error: MOONSHOT_API_KEY not set or invalid. Please check your api_key.ini file.",) - - messages = [] - if system_message: - messages.append({"role": "system", "content": system_message}) - messages.append({"role": "user", "content": prompt}) - - try: - completion = self.client.chat.completions.create( - model=model, - messages=messages, - temperature=temperature, - max_tokens=max_tokens, - ) - return (completion.choices[0].message.content,) - except Exception as e: - return (f"Error: {str(e)}",) - -class MoonshotMultiChatNode(MoonshotChatBaseNode): - FUNCTION = "generate_chat" - RETURN_NAMES = ("chat_history",) - CATEGORY = "🌙DW/moonshotChat" - - def __init__(self): - super().__init__() - self.conversation_history = [] - - @classmethod - def INPUT_TYPES(cls): - input_types = super().INPUT_TYPES() - input_types["optional"]["reset_conversation"] = ("BOOLEAN", {"default": False}) - return input_types - - def generate_chat(self, prompt, model, temperature, max_tokens, system_message="", reset_conversation=False): - if not self.client: - return ("Error: MOONSHOT_API_KEY not set or invalid. Please check your api_key.ini file.",) - - if reset_conversation: - self.conversation_history = [] - - if not self.conversation_history and system_message: - self.conversation_history.append({"role": "system", "content": system_message}) - - self.conversation_history.append({"role": "user", "content": prompt}) - - try: - completion = self.client.chat.completions.create( - model=model, - messages=self.conversation_history, - temperature=temperature, - max_tokens=max_tokens, - ) - response = completion.choices[0].message.content - self.conversation_history.append({"role": "assistant", "content": response}) - chat_history = self.format_chat_history() - return (chat_history,) - except Exception as e: - return (f"Error: {str(e)}",) - - def format_chat_history(self): - formatted_history = [] - for message in self.conversation_history: - formatted_message = f"{message['role']}: {message['content']}" - formatted_history.append(formatted_message) - formatted_history.append("-" * 40) - return "\n".join(formatted_history) - -NODE_CLASS_MAPPINGS = { - "MoonshotSingleChatNode": MoonshotSingleChatNode, - "MoonshotMultiChatNode": MoonshotMultiChatNode -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "MoonshotSingleChatNode": "🌙Moonshot Single Chat", - "MoonshotMultiChatNode": "🌙Moonshot Multi Chat" -} \ No newline at end of file