news 2026/9/16 22:11:39

AutoAgent 接入 Google Gemini 与 Vertex AI:LiteLLM 驱动下的完整 LLM 配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AutoAgent 接入 Google Gemini 与 Vertex AI:LiteLLM 驱动下的完整 LLM 配置指南

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 modeagent editorworkflow 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 的maindeep-research命令中被读取,最终传给MetaChainget_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

两点关键说明:

  1. 模型名必须带gemini/前缀,这是 LiteLLM 路由到 Google AI Studio provider 的约定;LLM_MODELCOMPLETION_MODEL都遵循此规则。
  2. GEMINI_API_KEY会被 constant.py 通过dotenvload_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_CREDENTIALSGCP 服务账号 JSON 内容需将服务账号 JSON 文件内容整体注入(或配置为文件路径),用于 Vertex AI 鉴权
VERTEXAI_PROJECTGCP 项目 ID指定调用哪个 GCP 项目下的模型资源
VERTEXAI_LOCATIONGCP 区域us-central1asia-east1等,决定模型端点所在区域
LLM_MODELVertex 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 更严格——它要求所有typeobject的参数必须带有非空的properties

为此,autoagent/core.py 专门实现了adapt_tools_for_gemini适配函数,在检测到模型名包含gemini时自动生效:

if "gemini" in create_model.lower(): tools = adapt_tools_for_gemini(tools)

该函数的核心逻辑是:

  1. 对每个工具定义做深拷贝,避免污染原始工具 Schema;
  2. 若顶层参数的typeobject且缺少非空properties,则自动补一个dummy字符串属性;
  3. 对嵌套的 object 类型参数同样递归处理。

这意味着:即使你在 AutoAgent 中自定义的 Agent 工具参数没有显式声明properties,切换到 Gemini 模型后也不会因 Schema 不合规而报错,框架会自动完成兼容修复。

另外,AutoAgent 还支持非函数调用(non-function calling)模式:当模型不支持函数调用时,可通过FN_CALL=False环境变量切换,将工具描述直接拼入系统提示词(见 constant.py 中NOT_SUPPORT_FN_CALLNOT_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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 22:11:25

GraphQL安全测试实战:从端点发现到攻击利用

1. HTB 这个评估到底考什么&#xff1a;GraphQL 安全测试的全貌搞安全测试的兄弟应该都清楚&#xff0c;Hack The Box 的 Skills Assessment 系列不是那种随便点点就能混过去的题库&#xff0c;它要求你在限定时间里对一个模拟目标完成从信息收集到漏洞利用的完整链路。这次碰到…

作者头像 李华
网站建设 2026/9/16 22:11:19

AI辅助硬件外观设计:从概念图到3D打印的完整实操流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/16 22:10:17

Web JS VMP逆向实战:拆解虚拟机保护与反调试绕过

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/16 22:09:37

Windows下Git安装配置与SSH密钥接入托管平台全流程指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/16 22:09:31

MT9700FFFUBG显示主控芯片深度解析与工程落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/16 22:08:41

Git 空目录不显示?用 .gitkeep 保留目录结构,避免 clone 后目录丢失

先把结论放在前面&#xff1a;.gitkeep 并不是 Git 官方提供的一个特殊文件类型&#xff0c;它只是一个约定俗成的占位文件&#xff0c;核心职责是让一个空目录能够在 Git 仓库里被真正地保留下来。很多刚开始用 Git 的人都会撞见同一个诡异现象&#xff1a;本地明明建好了 upl…

作者头像 李华