ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

HelloAgents 对接大模型实战:OpenAI/Anthropic/Gemini 三大适配器配置全解析

HelloAgents 对接大模型实战:OpenAI/Anthropic/Gemini 三大适配器配置全解析 HelloAgents 对接大模型实战OpenAI/Anthropic/Gemini 三大适配器配置全解析【免费下载链接】HelloAgentsA agent framework based on the tutorial hello-agents项目地址: https://gitcode.com/gh_mirrors/he/HelloAgentsHelloAgents是一个生产级多智能体Agent框架通过内置的LLM 适配器层让你用一套代码同时对接 OpenAI、Anthropic Claude 和 Google Gemini 三大主流大模型接口。你只需配置 4 个环境变量框架会根据base_url自动识别并选择对应适配器无需手动切换 SDK真正做到「一份配置三大模型自由切换」。 核心卖点统一配置、自动适配、流式输出、Function Calling、Token 统计一个都不少。 三大适配器架构HelloAgents 如何自动选择大模型HelloAgents 将 LLM 接入抽象为「统一接口 适配器」模式统一接口HelloAgentsLLM类对外只暴露invoke非流式、stream_invoke流式、invoke_with_tools工具调用三种方法三个适配器OpenAIAdapter、AnthropicAdapter、GeminiAdapter分别处理各家不同的请求格式自动检测逻辑在 hello_agents/core/llm_adapters.py 中的create_adapter()函数里检测条件base_url 包含自动选中的适配器适用服务anthropic.comAnthropicAdapterClaude 系列模型googleapis.com或generativelanguageGeminiAdapterGoogle Gemini其他任意地址OpenAIAdapter默认OpenAI 及所有兼容接口这意味着只要你使用的是 OpenAI 兼容协议的服务DeepSeek、Qwen、Kimi、智谱、本地 Ollama/vLLM 等全部走默认的 OpenAI 适配器一套配置通吃。相关代码位置统一 LLM 客户端hello_agents/core/llm.py适配器实现与自动选择hello_agents/core/llm_adapters.py全局参数配置hello_agents/core/config.py⚡ 最快配置方法一个 .env 文件搞定所有模型HelloAgents 采用「传入参数 环境变量」的优先级策略推荐在项目根目录创建.env文件只需 4 行配置LLM_MODEL_IDyour-model-name # 模型名称 LLM_API_KEYyour-api-key-here # API 密钥 LLM_BASE_URLyour-api-base-url # 服务地址 LLM_TIMEOUT60 # 超时时间秒可选配置完成后一行代码即可创建 LLM 客户端框架自动检测适配器from hello_agents import HelloAgentsLLM llm HelloAgentsLLM() # 自动读取 .env 并选择适配器⚠️ 注意三个必填项模型名、密钥、地址缺一不可缺少时框架会抛出HelloAgentsException明确提示缺失项。依赖方面核心依赖在 requirements.txt 中基础只要求openai库Anthropic 和 Gemini 的客户端为按需加载——只有当你配置了对应的base_url时才需要安装pip install anthropic # 仅对接 Claude 时需要 pip install google-genai # 仅对接 Gemini 时需要新版 SDK 场景一OpenAI 兼容适配器默认覆盖 90% 需求OpenAI 适配器是默认适配器兼容范围最广提供商类型示例服务配置示例云端 APIOpenAI、DeepSeek、Qwen、Kimi、智谱 GLMLLM_BASE_URLhttps://api.deepseek.com/v1本地推理vLLM、Ollama、SGLangLLM_BASE_URLhttp://localhost:8000/v1其他兼容任何 OpenAI 格式接口LLM_BASE_URLyour-endpointThinking Model 智能识别如果你使用 o1、o3、deepseek-reasoner 等推理模型适配器会自动识别模型名中的reasoner、o1、o3等关键词额外提取并返回reasoning_content思考过程在流式和非流式调用中均已支持。response llm.invoke([{role: user, content: 你好}]) print(response.content) # 回复内容 print(response.usage) # Token 用量统计 print(response.latency_ms) # 响应耗时 if response.reasoning_content: # 推理模型的思考过程 print(response.reasoning_content) 场景二Anthropic Claude 适配器配置Claude 的消息格式与 OpenAI 差异较大system 提示词独立传参、工具调用使用tool_use内容块HelloAgents 在适配器内部完成了全部格式转换对用户完全透明。配置示例LLM_MODEL_IDclaude-sonnet-4-20250514 LLM_API_KEYsk-ant-xxxxxxxx LLM_BASE_URLhttps://api.anthropic.com适配器内部会自动处理三件「脏活」详见 hello_agents/core/llm_adapters.py 中AnthropicAdapter类提取 system 消息从消息列表剥离 system 角色转为独立的system参数工具 schema 转换将统一的 OpenAI 风格工具定义转为 Anthropic 的input_schema格式消息块转换assistant 的工具调用转为tool_use块工具结果转为tool_result块Claude API 要求必须指定max_tokens适配器已内置默认值 4096无需额外配置。 场景三Google Gemini 适配器配置Gemini 使用完全不同的角色体系user/model替代user/assistant和内容块结构HelloAgents 基于新版google-genaiSDK 实现了完整适配。配置示例LLM_MODEL_IDgemini-2.0-flash LLM_API_KEYAIzaSyXxxxxxxxx LLM_BASE_URLhttps://generativelanguage.googleapis.com适配器的关键转换逻辑角色映射assistant→modelsystem→system_instruction生成配置参数映射max_tokens→max_output_tokens工具调用解析Gemini 响应没有显式的call_id适配器会自动生成call_时间戳保证与统一响应对象兼容 验证配置是否生效3 种调用方式实测配置完成后建议按以下三种方式逐一验证可参考 examples/context_engineering_demo.py 等示例代码① 非流式调用——最简单适合调试配置response llm.invoke([{role: user, content: 介绍一下你自己}]) print(response.content, response.usage)② 流式调用——验证 SSE 逐字输出能力for chunk in llm.stream_invoke([{role: user, content: 讲个笑话}]): print(chunk, end, flushTrue)③ 工具调用Function Calling——验证智能体的核心能力response llm.invoke_with_tools( messages[{role: user, content: 北京现在天气如何}], tools[weather_tool] # 任意 BaseTool 子类 ) print(response.tool_calls) # 结构化的工具调用列表三个适配器均实现了相同的调用签名因此切换模型时业务代码零改动——这正是适配器模式的价值。工具调用的统一架构详见 docs/function-calling-architecture.md。️ 常见问题排查清单现象原因解决方法必须提供API密钥异常.env未配置或变量名拼写错误检查LLM_MODEL_ID/LLM_API_KEY/LLM_BASE_URL三个变量使用 Claude 报需要安装 anthropic缺少 SDKpip install anthropic使用 Gemini 报需要安装 google-genai缺少新版 SDKpip install google-genai注意不是旧版google-generativeaiClaude 返回 400 参数错误请求参数不兼容确认未传入top_p等 Anthropic 不支持的参数流式调用拿不到 Token 统计统计信息在结束后才可用调用结束后读取llm.last_call_stats 提示所有 API 异常都会被框架包装为统一的HelloAgentsException错误信息中会明确标注是哪个提供商的调用失败定位问题时优先看异常文案。 总结HelloAgents 大模型对接 3 步走写配置.env中填写LLM_MODEL_ID、LLM_API_KEY、LLM_BASE_URL三要素装依赖OpenAI 系零额外安装Claude 装anthropicGemini 装google-genai跑起来HelloAgentsLLM()一行代码创建客户端自动适配三大模型HelloAgents 的适配器设计让「换模型」从改代码变成改一行配置无论是从 DeepSeek 切到 Claude还是用本地 Ollama 做离线实验都能在 5 分钟内完成。结合框架自带的 docs/ 目录下 16 篇能力指南流式输出、会话持久化、子代理等可以快速构建生产级智能体应用 【免费下载链接】HelloAgentsA agent framework based on the tutorial hello-agents项目地址: https://gitcode.com/gh_mirrors/he/HelloAgents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表