OpenAI Swarm的使用过程记录
先贴上官方文档:https://github.com/openai/swarm
它是一个关于AI Agents的一个框架,应该可以这么说,至于什么是AI Agent,你可以把它理解成一个更加聪明的AI Model,它会主动提问,会记录并管理多轮对话的历史,还会利用外部搜索工具从而扩展知识的范围,确保利用的是最新的知识而不是像AI Model那样知识局限于xx年xx月xx日。AI Agent目前应该可以说才刚起步不久,不久的未来应该会有很大的发展前景,比如可以取代客服,帮助订票,类似于托尼斯塔克的贾维斯那样的个人助理等等。目前我只能做到将它用python跑起来,而且能怎么在日常项目中使用还有待探索...(我猜可以在前端项目中嵌入,应该本质是就是调用api?我猜)
回归正题,下面来说一下如何部署swarm并将示例python代码跑起来:
第一步
首先第一步,先创建python虚拟环境(因为swarm要求python版本在3.10+,所以用最新的3.13就可以):
conda create -n swarm python=3.13
* 请注意,swarm随意取的名字,python这里使用3.13版本
如果没有conda,先安装conda,这里用miniconda就可以了,Conda 是一个流行的包管理和环境管理工具,通常用于数据科学和机器学习项目。你可以通过安装 Miniconda 或 Anaconda 来获取 Conda。链接在这里:Should I use Anaconda Distribution or Miniconda? — Anaconda documentation
node的node_modules,管理着不同的模块的依赖,有一份package.json就不会污染别的node项目,python虚拟环境应该与此类似(如果不对请指正,毕竟我不常用python)
第二步
然后激活这个虚拟环境:
conda activate swarm
激活成功之后,终端的用户名会以(swarm)开头,以什么开头取决于虚拟环境的名字是什么,这是你决定的,可以使用以下命令来查看当前激活的是哪个虚拟环境:
conda info --envs
第三步
根据官方文档,在虚拟环境安装openai 的swarm依赖,python代码里需要导入这个库中的某些函数
* 请注意,用这两个要事先把自己电脑的ssh key加入到github当中,不然pip安装会报错
第四步
然后就可以按照文档中的usage去写了,以下是一个实例代码:
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"])
* 请注意,请事先创建一个文件夹,随便什么都行,本地的就行,然后在这个文件夹随便写python代码,在虚拟环境跑,并且要把OpenAI api key放到.env文件中:
* 请注意,如果你是免费的OpenAI账号,很可能会报错如下:
Traceback (most recent call last):
File "/xx/xx/xx.py", line xx,
openai.NotFoundError: Error code: 404 - {'error': {'message': 'The model gpt-4o does not exist or you do not have access to it.', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}}
或
openai.RateLimitError: Error code: 429 - {'error': {'message': 'Your access was terminated due to violation of our policies, please check your email for more information. If you believe this is in error and would like to appeal, please contact us through our help center at help.openai.com.', 'type': 'access_terminated', 'param': None, 'code': 'access_terminated'}}
原因是你的免费OpenAI账号额度不足,不能访问gpt-4o,速率也有限制,淘宝买一个额度5刀的一级账号,35元一个月,直接发api-key给你,应该够用了,我是买了之后代码就能运行了,完美解决以上问题。
运行以上代码,得到输出如下:
好的,暂时先写这么多吧,具体还能怎么使用swarm去实现AI Agent,还待探索。。。
此博客也许还会更新,也许不会,一切随缘🤣