OpenAI swarm+ Ollama快速构建本地多智能体服务 - 1. 服务构建教程

OpenAI开源了多智能体编排的工程swarm,今天介绍一下swarm与OLLAMA如何结合使用的教程,在本地构建自己的多智能体服务,并给大家实践演示几个案例。

安装步骤

  • 安装ollama,在官网下载对应操作系统的版本即可,下载后用ollama部署大模型,网上教程很多,本文不再描述。
  • 安装ollama的python接口:
pip install ollama
  • 安装swarm框架:
pip install git+https://github.com/openai/swarm.git

注意,这一步的前提是已经安装了git,如果本地没有安装请先行下载安装

服务构建示例

swarm官网给出的使用示例如下:

from swarm import Swarm, Agent

client = Swarm()

def transfer_to_agent_b():
    return agent_b


agent_a = Agent(
    name="Agent A",
    instructions="You are a helpful agent.",
    functions=[transfer_to_agent_b],
)

agent_b = Agent(
    name="Agent B",
    instructions="Only speak in Haikus.",
)

response = client.run(
    agent=agent_a,
    messages=[{"role": "user", "content": "I want to talk to agent B."}],
)

print(response.messages[-1]["content"])

在这个示例的基础上,与ollama以及在ollama中安装的大模型结合的方法如下:


from swarm import Swarm, Agent

# 利用OpenAI的接口(安装swarm时会自动下载),建立与ollama服务连接的客户端
from openai import OpenAI
ollama_client = OpenAI(
    base_url = 'http://localhost:11434/v1',
    api_key='ollama', # required, but unused
)

# 在swarm构建时,指定与ollama连接的客户端
client = Swarm(client=ollama_client)

def transfer_to_agent_b():
    return agent_b


agent_a = Agent(
    name="Agent A",
    model="qwen2.5:7b",   # 在构建智能体时指定ollama中的模型,传入在ollama中构建好的大模型名称即可,例如qwen2.5:7b
    instructions="You are a helpful agent.",
    functions=[transfer_to_agent_b],
)

agent_b = Agent(
    name="Agent B",
    model="qwen2.5:7b",   # 在构建智能体时指定ollama中的模型,传入在ollama中构建好的大模型名称即可,例如qwen2.5:7b
    instructions="Only speak in Haikus.",
)

response = client.run(
    agent=agent_a,
    messages=[{"role": "user", "content": "I want to talk to agent B."}],
)

print(response.messages[-1]["content"])

总结一下,若想将swarmollama结合,比官方示例多了三步,非常简单:

  1. 利用OpenAI的接口(安装swarm时会自动下载),建立与ollama服务连接的客户端
  2. 在swarm构建时,指定与ollama连接的客户端
  3. 在构建智能体时指定ollama中的模型

大家可以利用上述三个步骤自行尝试改造swarm开源代码中提供的示例进行尝试,后面有时间也会讲讲swarm框架的具体用法供大家参考。

### 集成和使用 DeepSeek 第三方平台 API 和服务 #### 使用 SiliconFlow 平台调用 DeepSeek API 为了通过 SiliconFlow (硅基流动) 调用 DeepSeek 的API并将其部署到 VSCode 上,可以遵循以下方法: 安装必要的依赖库是第一步操作。这通常涉及设置 Python 环境以及安装特定于项目的包。对于 SiliconFlow 来说,这意味着要确保拥有最新版本的 `requests` 库以及其他可能被提及作为必需项的软件包[^1]。 接着,在VSCode环境中配置项目文件夹结构,并创建一个新的Python脚本用于编写与SiliconFlow交互所需的代码逻辑。此过程涉及到利用SiliconFlow提供的文档来理解其API端点及其参数需求。 ```python import requests def call_siliconflow_api(api_key, endpoint, data=None): headers = { 'Authorization': f'Bearer {api_key}', 'Content-Type': 'application/json' } response = requests.post(endpoint, json=data, headers=headers) return response.json() ``` #### 利用 Ollama 构建本地服务 针对希望构建更独立解决方案的情况,DeepSeek V2 版本支持通过Ollama技术栈实现本地化部署方案。这种方法允许开发者下载大约100GB大小预训练好的模型副本至个人服务器或工作站内运行[^2]。 这种做法不仅减少了对外部网络连接的依赖程度,同时也提供了更高的灵活性去调整环境变量以适应不同的硬件条件。然而值得注意的是,由于所需存储空间较大加上计算资源消耗较高,因此建议仅当确实有必要时才考虑采用这种方式来进行开发测试工作。 #### 结合 OpenAI Swarm 多智能体框架 如果计划进一步扩展应用程序的功能,则可探索OpenAI Swarm这一多智能体协作工具集的可能性。它能够帮助协调多个代理之间的通信流程,从而更好地管理复杂任务分配问题。具体来说就是可以通过修改给定链接中的示例程序(app.py),引入对DeepSeek API的支持,进而完成更加高级别的自动化处理作业[^3]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值