AutoAgent 接入 Google Gemini 与 Vertex AI:LiteLLM 驱动下的完整 LLM 配置指南
【免费下载链接】AutoAgent"AutoAgent: Fully-Automated and Zero-Code LLM Agent Framework"项目地址: https://gitcode.com/GitHub_Trending/au/AutoAgent
本篇指南围绕 AutoAgent(全自动、零代码的 LLM Agent 框架)如何接入 Google 的两条主流模型通道——Gemini(Google AI Studio)与Vertex AI(Google Cloud Platform),系统讲解环境变量配置、模型命名规范与启动命令,并结合仓库源码说明 AutoAgent 底层如何通过 LiteLLM 统一完成补全调用、以及为 Gemini 定制工具 Schema 的兼容逻辑。读者读完即可在本地 Docker / CLI 环境中用 Gemini 模型跑通 AutoAgent 的user mode、agent editor与workflow editor。
配置原理:AutoAgent 如何调用 Google 模型
AutoAgent 的运行时核心是 autoagent/core.py,其MetaChain类通过 LiteLLM 统一代理所有 LLM 补全调用:
from litellm import completion, acompletion # ... completion_response = completion(**create_params)这意味着只要模型名遵循 LiteLLM 的provider/model-name命名规范,AutoAgent 就能透明地路由到对应厂商。针对 Google 生态,对应两个 provider 前缀:
gemini/...:走Gemini - Google AI Studio通道;vertex_ai/...:走Vertex AI - Google Cloud Platform通道。
同时,模型名称通过 constant.py 中的环境变量COMPLETION_MODEL统一注入(默认值为claude-3-5-sonnet-20241022),并在 cli.py 的main与deep-research命令中被读取,最终传给MetaChain的get_chat_completion。
Gemini - Google AI Studio 配置
通过 Google AI Studio 使用 Gemini 时,只需配置两个环境变量即可(以运行 AutoAgent Docker 镜像为例,使用-e传入):
GEMINI_API_KEY="<your-google-api-key>" LLM_MODEL="gemini/gemini-1.5-pro"在 AutoAgent 的 CLI 启动方式下,等价写法是在项目根目录的.env文件中设置GEMINI_API_KEY,然后以环境变量方式指定模型并启动:
# .env 文件中配置 GEMINI_API_KEY=your_gemini_api_key # 启动 AutoAgent 完整功能(user mode / agent editor / workflow editor) COMPLETION_MODEL=gemini/gemini-2.0-flash auto main两点关键说明:
- 模型名必须带
gemini/前缀,这是 LiteLLM 路由到 Google AI Studio provider 的约定;LLM_MODEL与COMPLETION_MODEL都遵循此规则。 GEMINI_API_KEY会被 constant.py 通过dotenv的load_dotenv()加载进进程环境,随后由 LiteLLM 的 Gemini provider 读取用于鉴权。
Vertex AI - Google Cloud Platform 配置
如果使用企业级 GCP 环境(Vertex AI),需要配置 GCP 服务账号凭证与项目、区域信息。同样以-e环境变量方式传入:
GOOGLE_APPLICATION_CREDENTIALS="<json-dump-of-gcp-service-account-json>" VERTEXAI_PROJECT="<your-gcp-project-id>" VERTEXAI_LOCATION="<your-gcp-location>" LLM_MODEL="vertex_ai/<desired-llm-model>"配置说明:
| 环境变量 | 含义 | 说明 |
|---|---|---|
GOOGLE_APPLICATION_CREDENTIALS | GCP 服务账号 JSON 内容 | 需将服务账号 JSON 文件内容整体注入(或配置为文件路径),用于 Vertex AI 鉴权 |
VERTEXAI_PROJECT | GCP 项目 ID | 指定调用哪个 GCP 项目下的模型资源 |
VERTEXAI_LOCATION | GCP 区域 | 如us-central1、asia-east1等,决定模型端点所在区域 |
LLM_MODEL | Vertex AI 模型名 | 必须以vertex_ai/前缀开头,如vertex_ai/gemini-1.5-pro |
在 AutoAgent CLI 中的等价启动方式为:
COMPLETION_MODEL=vertex_ai/gemini-1.5-pro auto main源码级佐证:Gemini 的工具调用兼容逻辑
AutoAgent 是一个强工具调用的 Agent 框架,Agent 的每个函数都会通过 autoagent/util.py 中的function_to_json序列化为 OpenAI 风格的 JSON Schema。而 Gemini 对工具参数的 Schema 校验比 OpenAI 更严格——它要求所有type为object的参数必须带有非空的properties。
为此,autoagent/core.py 专门实现了adapt_tools_for_gemini适配函数,在检测到模型名包含gemini时自动生效:
if "gemini" in create_model.lower(): tools = adapt_tools_for_gemini(tools)该函数的核心逻辑是:
- 对每个工具定义做深拷贝,避免污染原始工具 Schema;
- 若顶层参数的
type为object且缺少非空properties,则自动补一个dummy字符串属性; - 对嵌套的 object 类型参数同样递归处理。
这意味着:即使你在 AutoAgent 中自定义的 Agent 工具参数没有显式声明properties,切换到 Gemini 模型后也不会因 Schema 不合规而报错,框架会自动完成兼容修复。
另外,AutoAgent 还支持非函数调用(non-function calling)模式:当模型不支持函数调用时,可通过FN_CALL=False环境变量切换,将工具描述直接拼入系统提示词(见 constant.py 中NOT_SUPPORT_FN_CALL与NOT_USE_FN_CALL的自动判定逻辑),这与 Gemini 场景下的降级策略是互通的。
相关配置速查
接入 Google LLM 时,常与以下 AutoAgent 全局配置项组合使用(均定义于 constant.py):
COMPLETION_MODEL:指定 LiteLLM 格式的模型名,默认claude-3-5-sonnet-20241022,Gemini 场景设为gemini/...或vertex_ai/...;API_BASE_URL:自定义 provider 的 Base URL,默认None;FN_CALL:是否启用函数调用,默认根据模型名自动判定;DEBUG:是否开启调试日志,默认False。
结语
AutoAgent 借助 LiteLLM 的统一抽象,让 Gemini 与 Vertex AI 的接入成本降到"两个环境变量 + 一个带前缀的模型名"。配合源码内置的adapt_tools_for_gemini工具 Schema 适配层,即使是强工具调用的多 Agent 编排场景,也能稳定运行在 Google 模型之上。更多 LLM 提供商的配置方式可参考仓库 docs 目录下的 llms.md 总览页。
【免费下载链接】AutoAgent"AutoAgent: Fully-Automated and Zero-Code LLM Agent Framework"项目地址: https://gitcode.com/GitHub_Trending/au/AutoAgent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考