xiaokaizhang 1 kuukausi sitten
vanhempi
sitoutus
5640aeb46f

+ 2 - 3
Co-creation-projects/BitSecret-GPSAgent/README.md

@@ -16,10 +16,9 @@
 
 ## 🛠️ 技术栈
 
-- Reflection + ReAct + Plan-and-Solve 融合的智能体框架
+- 使用 [Hello-Agents](https://github.com/datawhalechina/hello-agents) API 实现 Reflection + ReAct + Plan-and-Solve 融合的智能体框架
 - [FormalGeo](https://github.com/FormalGeo/FormalGeo) 形式化系统与求解器
-- [SymPy](https://github.com/sympy/sympy) 符号计算库
-- [OpenAI API](https://github.com/openai/openai-python)
+- 符号计算库 [SymPy](https://github.com/sympy/sympy)
 
 ## 🚀 快速开始
 

BIN
Co-creation-projects/BitSecret-GPSAgent/architecture.png


+ 2 - 1
Co-creation-projects/BitSecret-GPSAgent/requirements.txt

@@ -3,4 +3,5 @@ dotenv==0.9.9
 matplotlib==3.10.8
 numpy==2.3.5
 sympy==1.14.0
-func-timeout==4.3.5
+func-timeout==4.3.5
+hello-agents==1.0.0

+ 4 - 5
Co-creation-projects/BitSecret-GPSAgent/src/gps/agent_loop.py

@@ -1,8 +1,8 @@
 from symbolic_solver import SymbolicSolver
 from utils import parse_gdl, parse_cdl, load_json, save_json, get_theorems, make_train_val_test_split
 from multiprocessing import Process, Queue
-from openai import OpenAI
 from dotenv import load_dotenv
+from hello_agents import HelloAgentsLLM
 import time
 import os
 import json
@@ -21,7 +21,7 @@ def dprint(msg):
 
 class Agent:
     def __init__(self, api_key, base_url, model_name):
-        self.client = OpenAI(api_key=api_key, base_url=base_url)
+        self.hello_agents_llm = HelloAgentsLLM(model=model_name, api_key=api_key, base_url=base_url)
         self.model_name = model_name
         self.history = []
         self.memory = []
@@ -35,11 +35,10 @@ class Agent:
         while epoch < max_epoch:
             epoch += 1
             try:
-                response = self.client.chat.completions.create(
-                    model=self.model_name,
+                response = self.hello_agents_llm.invoke(
                     messages=self.memory,
                     response_format={'type': 'json_object'}
-                ).choices[0].message.content
+                ).content
                 if len(response) == 0:
                     max_epoch += 1
                     raise Exception('模型输出内容为空,服务器负载过大,不计入调用次数。')