
如何用LiteLLM接入任意模型Agency Swarm Lab的OpenSourceSwarm开源模型实战指南【免费下载链接】agency-swarm-lab项目地址: https://gitcode.com/gh_mirrors/ag/agency-swarm-labAgency Swarm Lab 是基于 Agency Swarm 框架的多智能体实战仓库其中的 OpenSourceSwarm 示例演示了如何用 LiteLLM 接入任意模型——无论是云端大模型Claude、Gemini、Groq、Together AI还是 Ollama 本地开源模型Llama3都能装进同一个智能体团队。本文带你完成从环境搭建到 Gradio 界面运行的完整流程轻松组建一支多模型 AI 智能体小组。 为什么需要 LiteLLM一套接口打通所有模型Agency Swarm 默认通过 OpenAI 的 Assistants API 驱动智能体但各家模型厂商并没有统一的 Assistants 接口。OpenSourceSwarm 的解法是三层架构LiteLLM 代理服务把 Claude、Gemini、Groq、Together AI、Ollama 等上百种模型的接口统一成 OpenAI 格式监听 4000 端口open-assistant-api 中间层把OpenAI Assistants 协议翻译成对任意模型都可用的对话 函数调用监听 8086 端口Agency Swarm 智能体团队用标准 OpenAI 客户端连接中间层代码里只关心选哪个模型。理解了这三层你就理解了 OpenSourceSwarm 的全部设计。 项目结构速览找到 OpenSourceSwarm 目录克隆项目git clone https://gitcode.com/gh_mirrors/ag/agency-swarm-lab重点看OpenSourceSwarm/目录每个文件各司其职文件作用OpenSourceSwarm/agency.py智能体入口定义三个智能体并组建 AgencyOpenSourceSwarm/litellm_config.yamlLiteLLM 模型与 API Key 配置文件OpenSourceSwarm/function_calling_support.py校验各模型是否支持函数调用OpenSourceSwarm/demo_gradio.pyGradio 聊天界面支持文件上传、流式输出OpenSourceSwarm/CEO/、OpenSourceSwarm/LlamaAgent/、OpenSourceSwarm/GoogleGeminiAgent/三个智能体分别绑定不同厂商的模型⚡ 最快配置方法三步接入任意模型第 1 步安装依赖pip install -r OpenSourceSwarm/requirements.txt只需三个依赖agency-swarm、gradio、litellm[proxy]。第 2 步填写模型配置仓库自带的litellm_config.yaml已预置 5 个模型anthropic/claude-3-opus-20240229Anthropicgemini/gemini-1.5-pro-latestGoogletogether_ai/mistralai/Mistral-7B-Instruct-v0.1Together AIgroq/mixtral-8x7b-32768Groqollama/llama3Ollama 本地开源模型只需在对应条目的litellm_params中填入api_key本地 Ollama 模型填anything即可。使用本地模型前先拉取权重ollama pull llama3第 3 步启动 LiteLLM 代理服务litellm --config OpenSourceSwarm/litellm_config.yaml启动后代理监听 4000 端口yaml 里配置的任意模型都可以通过它调用。 启动中间层让智能体统一对话克隆 open-assistant-api 项目README 中使用的是作者修复了工具输出提交 bug 的 fork 版本将其docker-compose配置指向 LiteLLM 代理OPENAI_API_BASE: http://host.docker.internal:4000/v1 OPENAI_API_KEY: xxx然后一键启动docker compose up -d中间层监听 8086 端口向 Agency Swarm 提供标准的 Assistants API。 编写智能体一个参数换掉整个模型每个智能体都是Agent的子类区别仅在model参数。以本地 Llama 智能体为例class LlamaAgent(Agent): def __init__(self): super().__init__( nameLlamaAgent, modelollama/llama3, # 换成任意 LiteLLM 支持的模型 )agency.py中一行代码把三个智能体编成一支团队agency Agency([ceo, [ceo, llama], [ceo, gemini]])CEO 用 Claude 3 Opus 负责统筹LlamaAgent 跑在本机Gemini 处理其他任务——真正做到一个大脑一种模型。⚠️关键点并非所有模型都支持函数调用自定义工具。可用litellm.supports_function_calling()检查仓库自带的function_calling_support.py就是现成的校验示例。若模型不支持该智能体将无法与其他智能体通信必须放在团队列表的最后。 一键运行启动 Gradio 界面在OpenSourceSwarm/目录执行python agency.py浏览器打开http://localhost:7860即可看到 Gradio 界面下拉框可切换接收消息的智能体CEO / Llama / Gemini支持上传文件作为对话上下文各智能体的回复逐条流式输出多模型协作过程一目了然。 进阶玩法AstraOpenSourceSwarm 简化方案如果不想自己搭 open-assistant-api仓库还准备了AstraOpenSourceSwarm/它借助 DataStax 的 Astra Assistants 托管服务命令更短cd AstraOpenSourceSwarm poetry install docker compose up -d poetry run python agency_ollama.py这里的 LlamaAgent 还接入了 Brave 搜索与 WolframAlpha 两个真实工具实现可参考AstraOpenSourceSwarm/LlamaAgent/tools/目录。❓ 常见问题速查问题解决方法模型不支持函数调用把该智能体放到Agency列表最后流式输出不稳定使用仓库改造过的demo_gradio.py本地模型连不上确认已执行ollama pull llama3且 Ollama 已启动想新增一个模型在litellm_config.yaml加一条配置再修改智能体的model参数总结OpenSourceSwarm 给出了一个非常通用的任意模型接入多智能体范式LiteLLM 负责接口统一轻量 Assistants 中间层负责协议适配智能体代码只需一行模型配置。掌握这套模式后Claude、Groq、Gemini、本地 Llama3 等任何模型都能无缝加入你的 AI 团队快去动手试试吧 【免费下载链接】agency-swarm-lab项目地址: https://gitcode.com/gh_mirrors/ag/agency-swarm-lab创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考