def __init__(self):
# 初始化 OpenAI 客户端
self.client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# 创建 AgentCP 实例
self.acp = agentcp.AgentCP(app_path)
# 消息存储器(按 session_id 隔离)
self.message_store = dict()
def record_message(self, session_id: str, role: str, content: str):
# 记录对话历史(支持 user/assistant/system 三种角色)
def get_messages_for_llm(self, session_id: str, max_messages=20, system_message=None):
# 构造符合 OpenAI 格式的对话历史(自动维护最近20条消息)
async def process_query(self, query: str, session_id: str, send_aid: str):
# 1. 加载角色设定(包含详细天气查询规则)
# 2. 调用 OpenAI 接口生成回复
# 3. 处理工具回调(当需要用户补充位置/时间信息时)
graph TD
A[用户提问] --> B{是否天气相关?}
B -->|是| C[检查位置/时间信息]
B -->|否| D[简短回答并引导]
C --> E{信息完整?}
E -->|是| F[生成天气报告]
E -->|否| G[调用用户工具获取信息]
OPENAI_API_KEY=your_api_key
BASE_URL=https://api.openai.com/v1
MODEL=gpt-3.5-turbo
pip install openai agentcp python-dotenv