OpenAI多智能体框架Swarm实测—基于Qwen开源模型

1、基础配置

底层模型:Qwen开源模型

swarm:0.1.0

2、agent设置

python 复制代码
agent_a = Agent(name="Agent A", instructions="你是Agent A,是一个有用的助手", functions=[transfer_to_agent_b], model=model_name,
                tool_choice='auto')
agent_b = Agent(name="Agent B", instructions="你是Agent B,仅仅使用繁体字说话", functions=[transfer_to_agent_a],model=model_name, tool_choice='auto')

agent之间的跳转函数

python 复制代码
def transfer_to_agent_b():
    return agent_b
def transfer_to_agent_a():
    return agent_a

3、单智能体示例

输入示例:

python 复制代码
msg = [{"role": "user", "content": "你好,小明的年龄是12岁。"},
       {"role": "user", "content": "我的年龄是小明的2倍"},
       {"role": "user", "content": "请问我的年龄是多少"}]

4、多智能体示例

输入示例

python 复制代码
msg = [{"role": "user", "content": "你好,你是谁?"},
       {"role": "user", "content": "我想和Agent B说话"},
       {"role": "user", "content": "你好,你是谁?由哪家公司训练出来的?"},
       {"role": "user", "content": "写一副春节对联"},
       {"role": "user", "content": "帮我转到agent a"},
       {"role": "user", "content": "你好,你是哪家公司训练出来的?"},
       {"role": "user", "content": "写一首七言绝句,有关爱情的。"}]

初始的agent设置为Agent A,上面问答的基本流程是: Agent A >>>Agent B >>>Agent A,具体输出如下

可以看到,开源模型+Swarm框架,可以完成Agent之间的跳转,回复效果还不错。

5、测试脚本

python 复制代码
agent = agent_a
history = []
history_dict = {'history_agent_a':[], 'history_agent_b':[]}
for m in msg:
    print('{}: {}'.format(m['role'], m['content']))
    history = history + [m]
    str_name_forward = agent.name.lower().replace(' ','_')
    history_dict['history_{}'.format(str_name_forward)] += [m]

    response = client.run(agent=agent, messages=history_dict['history_{}'.format(str_name_forward)], history_messages=history_dict)

    agent = response.agent
    res = response.messages
    str_name_backward = agent.name.lower().replace(' ', '_')
    history_dict['history_{}'.format(str_name_backward)] += res
    history = history + res

    print("{}:{}".format(response.agent.name, response.messages[-1]["content"]))

history保存全部会话记录,history_agent_a和history_agent_b分别保存子Agent的会话记录

swarm git链接:swarm

相关推荐
python_知世2 天前
怎么看AI大模型(LLM)、智能体(Agent)、知识库、向量数据库、知识图谱,RAG,AGI 的不同形态?
大模型·llm·知识图谱·agent·知识库·1024程序员节·rag
大数据AI人工智能培训专家培训讲师叶梓3 天前
检索增强型生成模型RichRAG:为多面查询提供丰富回应
人工智能·大模型·微调·多模态·1024程序员节·rag·智能体·检索增强型生成
强哥之神4 天前
一文了解:多智能体系统(MAS)的演变(算法篇)
人工智能·机器学习·目标跟踪·语言模型·llama·多智能体·智能体
大耳朵爱学习6 天前
这本大模型书真的太香啦!直接硬控我三小时
深度学习·自然语言处理·llm·nlp·大语言模型·agent·动手做ai agent
长山的随笔7 天前
Claude 3.5学习使用电脑,就像给人装上翅膀练习飞翔
人工智能·智能体
GISer Liu8 天前
大模型生图安全疫苗注入赛道 - 赛题评测与优化策略(DataWhale组队学习)
人工智能·python·学习·安全·llm·agent·ai绘画
我爱学Python!9 天前
当LangGraph遇上Mem0:如何让你的AI Agent具有更智能的记忆与个性化的体验?
人工智能·ai·自然语言处理·大模型·llm·大语言模型·agent
一根老麻花9 天前
LangGraph 源码分析 | BaseTool 模板类
langchain·agent·langgraph·源码解读
士多啤梨先生11 天前
OpenAI 全新基准工具:75 个 Kaggle 任务,全面测试 AI 代理能力
人工智能·llm·openai·agent