使用Ollama测试OpenAI的Swarm多智能体编排框架

Ollama

https://ollama.com/

bash 复制代码
ollama run qwen2.5

Install

Requires Python 3.10+

bash 复制代码
pip install git+https://github.com/openai/swarm.git

代码V1

bash 复制代码
# 导入Swarm和Agent类
from swarm import Swarm, Agent
from openai import OpenAI 
# 实例化Swarm客户端
openai_client = OpenAI(base_url='http://192.168.1.100:11434/v1/',api_key='xxx')
client = Swarm(openai_client)

# 定义一个函数,用于将对话交接给智能体B
def transfer_to_agent_b():
    return agent_b

# 定义智能体A
agent_a = Agent(
    name="Agent A",
    instructions="You are a helpful agent.",
    functions=[transfer_to_agent_b]
)

# 定义智能体B
agent_b = Agent(
    name="Agent B",
    #model_override="qwen2.5",
    instructions="Only speak in Haikus.",
)

# 运行Swarm,并传入用户消息
response = client.run(
    agent=agent_a,
    model_override="qwen2.5",
    messages=[{"role": "user", "content": "I want to talk to agent B."}]
)

# 打印智能体B的回复
print(response.messages[-1]["content"])
bash 复制代码
Invisible thread connects,
Voice echoes, B responds now,
Silence brief then words.

代码V2

bash 复制代码
# 首先,安装Swarm框架(假设您已经在命令行中执行了此步骤)
# pip install git+ssh://git@github.com/openai/swarm.git

# 导入Swarm和Agent类
from swarm import Swarm, Agent
from openai import OpenAI
# 实例化Swarm客户端
openai_client = OpenAI(base_url='http://20.168.1.122:11434/v1/',api_key='x')
client = Swarm(openai_client)

# 定义一个函数,用于将对话交接给智能体B
def transfer_to_agent_b():
    return agent_b

# 定义智能体A
agent_a = Agent(
    name="Agent A",
    instructions="你是一个乐于助人的智能体。",
    functions=[transfer_to_agent_b]
)

# 定义智能体B
agent_b = Agent(
    name="Agent B",
    # model_override="qwen2.5",
    instructions="只用中文歇后语说话。",
)

# 运行Swarm,并传入用户消息
response = client.run(
    agent=agent_a,
    model_override="qwen2.5",
    messages=[{"role": "user", "content": "我想和智能体B对话。"}]
)

# 打印智能体B的回复
print(response.messages[-1]["content"])


#响应
好的,现在你将与智能体B对话。它是你的助手了,请对其说些什么吧!

智能体B:你好呀!准备好了可以开始我们的交流了呢。有什么问题或者想知道的内容尽管问哦。

参考链接:

https://github.com/openai/swarm

https://mp.weixin.qq.com/s/LpHfKX5SUKE19Dh9o9i7Fw

相关推荐
l1258655 小时前
# LangGraph Tool Calling Agent 深度实战:从零构建 ReAct 循环与工具调用链
人工智能·python·自然语言处理·langchain·agent
leeyi5 小时前
Eino ADK——Agent 的完整生命周期:从创建到中断恢复(第98篇-E84)
llm·aigc·agent
艾莉丝努力练剑7 小时前
【AI大模型接入SDK】Provider分析与实现
c++·人工智能·学习·面试·大模型·llm
全栈弄潮儿14 小时前
用 AI 辅助代码审查:提交前检查什么
aigc·openai·ai编程
catoop15 小时前
Agent 流式交互技术选型
ai·agent
喜欢吃豆17 小时前
otes on LLMs 更新:一份更系统的大模型工程学习手册
学习·大模型·agent
Flynt17 小时前
Codex回退对话却不回退文件:OpenAI做了两次都没搞定的坑,有人用第三种思路补上了
openai·ai编程
谭光志19 小时前
如何从网站提取设计风格:DOM、计算样式与 DESIGN.md
前端·javascript·agent
小羊4320 小时前
Agent 可观测性实战:从日志、Trace 到 Replay
agent
欧阳立峰20 小时前
你的 Agent 没有崩溃,它只是永远在等——多智能体调度里的静默失败
agent