当前位置: 首页 > news >正文

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

Ollama

https://ollama.com/

ollama run qwen2.5

Install

Requires Python 3.10+

pip install git+https://github.com/openai/swarm.git

代码V1

# 导入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"])
Invisible thread connects,
Voice echoes, B responds now,
Silence brief then words.

代码V2

# 首先,安装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

http://www.lryc.cn/news/462121.html

相关文章:

  • C# 完美操作 Active Directory 详细总结,轻松玩转域管理
  • PCL 点云配准 KD-ICP算法(精配准)
  • uniapp打包安卓apk步骤
  • Springboot 整合 Java DL4J 实现安防监控系统
  • 【数据结构与算法】第1课—算法复杂度
  • 利用高德API获取整个城市的公交路线并可视化(五)
  • DNS:互联网域名系统的核心
  • 小猿口算炸鱼脚本
  • 浅谈云原生--微服务、CICD、Serverless、服务网格
  • android app执行shell命令视频课程补充android 10/11适配-千里马android
  • C++笔记-UTF8和UTF8-dom的区别
  • “探索Adobe Photoshop 2024:订阅方案、成本效益分析及在线替代品“
  • 网页复制粘贴助手,Chrome网页复制插件(谷歌浏览器复制插件)
  • 【C++刷题】力扣-#118-杨辉三角
  • Linux下的环境变量
  • Edge论文的创新点
  • ‌ComfyUI 高级实战:实现华为手机的AI消除功能
  • 我记得我曾喜欢过冬天
  • 最新夜间数据集发布LoLI-Street: 33000帧数据,涵盖19000个目标
  • 反向传播算法与随机搜索算法的比较
  • 【PDF文件】默认被某种软件打开,如何进行修改?
  • Kaggle Python练习:字符串和字典(Exercise: Strings and Dictionaries)
  • React(四) 事件总线,setState的原理,PureComponent优化React性能,ref获取类组件与函数组件
  • Java学习-JVM
  • leed认证分几个级别
  • 3.C++经典实例-计算一个数的阶乘
  • 深入理解Qt中的QTableView、Model与Delegate机制
  • 解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第1章 ARM Cortex-M处理器简介
  • java集合类的框架体系
  • 基于SpringBoot+Vue+Uniapp家具购物小程序的设计与实现