使用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

相关推荐
swipe36 分钟前
LangSmith 全链路观测:从 Agent 调试到 RAG 量化评估
后端·面试·llm
swipe1 小时前
Neo4j + Graph RAG 工程实践:RAG 真正缺的不是更多文本,而是可查询的关系
后端·面试·llm
feiwuw1 小时前
Agent和传统大模型的区别以及目前的困境和解决
人工智能·agent·智能体
nuowenyadelunwen1 小时前
CS336 Assignment 1 BPE分词器训练初版(朴素版基础上优化)及后续优化方向分析
llm·cs336
大强同学2 小时前
我用 Claude Code,把 NotebookLM 变成了 Obsidian 插件
人工智能·agent·claude·skill·notebooklm
L3S2 小时前
Claude Code 配置 Skills 的三种姿势:从手动拖放、skills.sh 一键安装到官方 Plugin
agent
guyoung2 小时前
BoxAgnts介绍(6)——Agent多轮对话及Tool、Skill调用
agent·ai编程
浮生望2 小时前
Prompt Engineering 实战指南:用 DeepSeek API 写出高质量提示词
python·llm
人工智能培训3 小时前
数字孪生赋能建筑行业 解锁工程全周期智慧管理
大数据·人工智能·机器学习·prompt·agent