Browse Source

Fix message_push_agent and message_reply_agent tools

StrayWarrior 5 days ago
parent
commit
793d1dce75

+ 1 - 3
pqai_agent/agents/message_push_agent.py

@@ -128,12 +128,10 @@ class MessagePushAgent(SimpleOpenAICompatibleChatAgent):
                  generate_cfg: Optional[dict] = None, max_run_step: Optional[int] = None):
         system_prompt = system_prompt or DEFAULT_SYSTEM_PROMPT
         if tools is None:
-            self.tools = [
+            tools = [
                 *ImageDescriber().get_tools(),
                 *MessageNotifier().get_tools()
             ]
-        else:
-            self.tools = [*tools]
         super().__init__(model, system_prompt, tools, generate_cfg, max_run_step)
 
     def generate_message(self, context: Dict, dialogue_history: List[Dict],

+ 1 - 3
pqai_agent/agents/message_reply_agent.py

@@ -94,12 +94,10 @@ class MessageReplyAgent(SimpleOpenAICompatibleChatAgent):
                  generate_cfg: Optional[dict] = None, max_run_step: Optional[int] = None):
         system_prompt = system_prompt or DEFAULT_SYSTEM_PROMPT
         if tools is None:
-            self.tools = [
+            tools = [
                 *ImageDescriber().get_tools(),
                 *MessageNotifier().get_tools()
             ]
-        else:
-            self.tools = [*tools]
         super().__init__(model, system_prompt, tools, generate_cfg, max_run_step)
 
     def generate_message(self, context: Dict, dialogue_history: List[Dict],

+ 5 - 1
pqai_agent/agents/simple_chat_agent.py

@@ -15,7 +15,10 @@ class SimpleOpenAICompatibleChatAgent:
         self.model = model
         self.llm_client = OpenAICompatible.create_client(model)
         self.system_prompt = system_prompt
-        self.tools = tools or []
+        if tools:
+            self.tools = [*tools]
+        else:
+            self.tools = []
         self.tool_map = {tool.name: tool for tool in self.tools}
         self.generate_cfg = generate_cfg or {}
         self.max_run_step = max_run_step or DEFAULT_MAX_RUN_STEPS
@@ -24,6 +27,7 @@ class SimpleOpenAICompatibleChatAgent:
     def run(self, user_input: str) -> str:
         messages = [{"role": "system", "content": self.system_prompt}]
         tools = [tool.get_openai_tool_schema() for tool in self.tools]
+        logger.info(tools)
         messages.append({"role": "user", "content": user_input})
 
         n_steps = 0