-
Session部分的完善:代码中有少部分未完成的点
- thread.py中完成对thread的copy功能 ✅
- ThreadProperty.CoW模式下的操作?
-
对其他模型API的支持:可选的方案是使用[astra-assistants](datastax/astra-assistants-api: Drop in replacement for the OpenAI Assistants API (github.com))的服务,该项目调用LiteLLM的服务,将当前流行的模型都封装成
OpenAI的assistant AI样式的接口,部分模型不支持streaming服务import os import sys from pathlib import Path project_root = Path(__file__).parent.parent.parent.absolute() os.environ['AS_PROJECT_ROOT'] = str(project_root) from openai import OpenAI from astra_assistants import patch from agency_swarm.agency.agency import Agency from agency_swarm.agents.agent import Agent from agency_swarm.util.oai import set_openai_client from dotenv import load_dotenv load_dotenv(".env") # api_key之类的保存在.env文件中 client = patch(OpenAI()) # agency-swarm的client要修改,目前代码运行时只有一个client,无法同时支持多种模型 set_openai_client(client) ceo = Agent(name="CEO", description="Responsible for client communication, task planning, and management.", instructions="Please communicate with users and other agents.", model="gemini/gemini-1.5-pro-latest", tools=[]) test_agent1 = Agent(name="agent1", description="Responsible for response.", instructions="Please communicate with other agents.", model="gemini/gemini-1.5-pro-latest", tools=[]) test_agent2 = Agent(name="agent2", description="Responsible for response.", instructions="Please communicate other agents.", model="gemini/gemini-1.5-pro-latest", tools=[]) agency = Agency([ ceo, [ceo, test_agent1, test_agent2], [ceo, test_agent2], ]) agency.demo_gradio()
-
数据库环境:利用语言模型搭建虚拟的数据库环境,或者编写脚本代码来提供访问使用真实数据库的能力
-
流式传输-事件处理器:
OpenAI推出了利用event_handler来处理API的各种响应的方式,可以在类中对消息统一处理,来代替一部分要专门去代码中响应位置处进行的修改class GradioEventHandler(AgencyEventHandler): @override def on_message_created(self, message: Message) -> None: # 在消息被创建的时候触发 pass @override def on_text_delta(self, delta, snapshot): # 所有的新消息,on_message_created负责添加消息头,该函数负责添加内容 pass @override def on_tool_call_created(self, tool_call): # 工具调用时触发,比如SendMessage pass @override def on_tool_call_done(self, snapshot): # 这里主要是处理函数调用请求结束后,目前只处理SendMessage,显示发送的信息 pass @override def on_run_step_done(self, run_step: RunStep) -> None: pass @override @classmethod def on_all_streams_end(cls): pass
-
验证器:
Agent类提供了response_validator方法,其中可以加入一些措施对语言模型的回答进行验证,例如llm_validator等 -
置信度:可以考虑为每个
Agent的回答加上置信度,作为消息的一部分发送给其他Agent,以供他们进行决策,(1)具体可以通过提示词形式让Agent自行给出,(2)或者让一个专门的Agent来评估出置信度 -
限制讨论轮次:解决问题时需要考虑一下迭代层数(讨论轮数),而不是讨论越深越好
-
Notifications
You must be signed in to change notification settings - Fork 0
Forked from agency-swarm(https://github.com/VRSEN/agency-swarm)
License
oplex151/agency-warm
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
Forked from agency-swarm(https://github.com/VRSEN/agency-swarm)
Resources
License
Contributing
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published