news 2026/9/25 3:50:13

在 VoltAgent 模型路由中使用 Inception(inception/mercury):接入指南与源码级原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 VoltAgent 模型路由中使用 Inception(inception/mercury):接入指南与源码级原理
  • 人工智能
  • AI Agent
  • Agent 框架
  • 后端
  • 多智能体
  • RAG
  • 工具调用
  • Agent 记忆

【免费下载链接】voltagent

AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework

项目地址:https://gitcode.com/gh_mirrors/vo/voltagent
点击查看免费下载

本指南讲解如何在 VoltAgent 的模型路由(model router)中接入 Inception 平台的inception/mercury与inception/mercury-coder模型。你将掌握从Agent配置、INCEPTION_API_KEY环境变量到自定义 Base URL 的完整接入方式,并通过仓库源码理解 VoltAgent 如何把inception/<model>字符串解析为 OpenAI 兼容的 LanguageModel 实例。

一、Inception 接入概览

Inception 是 VoltAgent 内置模型注册表(model registry)中众多 provider 之一。与 OpenAI、Anthropic 等 provider 一样,你不需要额外安装 Inception 专属 SDK,只需要在Agent配置中直接使用inception/<model>形式的模型字符串,VoltAgent 会自动完成 provider 的加载与鉴权。

在 model-provider-registry.generated.ts 中,Inception 的注册条目如下:

inception: { id: "inception", name: "Inception", npm: "@ai-sdk/openai-compatible", api: "https://api.inceptionlabs.ai/v1/", env: ["INCEPTION_API_KEY"], doc: "https://platform.inceptionlabs.ai/docs", },

这个条目来自 models.dev 的快照数据,由 website/scripts/generate-model-docs.js 自动生成并打包进 VoltAgent。它定义了 Inception 的四个关键事实:使用 OpenAI 兼容适配器、默认 API 地址、需要INCEPTION_API_KEY,以及官方文档地址。

二、快速开始:创建 Inception Agent

只需把model字段设为inception/<model>即可:

import { Agent } from "@voltagent/core"; const agent = new Agent({ name: "inception-agent", instructions: "You are a helpful assistant", model: "inception/mercury", });

运行前确保环境中已设置INCEPTION_API_KEY。模型字符串的解析由ModelProviderRegistry.splitModelId完成(见 model-provider-registry.ts):它先在/处切分provider/model,再通过resolveLanguageModel找到已注册的 Inception provider,最终返回一个绑定好mercury模型 ID 的LanguageModel实例。

三、环境变量与鉴权机制

接入 Inception 需要配置以下环境变量:

变量作用是否必填
INCEPTION_API_KEYInception 平台 API 密钥必填
INCEPTION_BASE_URL覆盖默认 API Base URL可选

VoltAgent 在解析 provider 时会检查必填环境变量并给出精确的缺失提示。相关逻辑位于requireApiKey(model-provider-registry.ts),当找不到INCEPTION_API_KEY时会抛出类似下面的错误:

Missing API key for "inception". Set process.env.INCEPTION_API_KEY.

密钥的读取采用"逐个尝试"策略:resolveEnvValue会遍历该 provider 声明的所有环境变量名,取第一个非空值(model-provider-registry.ts)。对于 Inception 而言,命中的就是INCEPTION_API_KEY。

四、Provider 包:OpenAI 兼容适配器

Inception 的 provider 包是@ai-sdk/openai-compatible,这意味着 Inception 的 API 与 OpenAI 的 Chat Completions 接口兼容,VoltAgent 直接复用 AI SDK 的 OpenAI 兼容适配器,无需任何 Inception 专属代码。

在 PACKAGE_ADAPTERS 中,@ai-sdk/openai-compatible对应buildOpenAICompatibleProvider适配器。该适配器会:

  1. 从环境变量解析 API 密钥;
  2. 通过resolveBaseUrl确定请求地址(详见下一节);
  3. 调用createOpenAICompatible({ name, baseURL, apiKey, supportsStructuredOutputs: true })创建 provider;
  4. 返回一个(modelId) => LanguageModel的工厂函数。

其中supportsStructuredOutputs: true表示该 provider 支持结构化输出(structured outputs),可用于 JSON Schema 约束的生成场景。

如果你需要自定义请求头(如附加X-Client-Source之类的标记),可以绕过注册表、直接手写 provider:

import { Agent } from "@voltagent/core"; import { createOpenAICompatible } from "@ai-sdk/openai-compatible"; const inceptionProvider = createOpenAICompatible({ name: "inception", baseURL: "https://api.inceptionlabs.ai/v1/", apiKey: process.env.INCEPTION_API_KEY, headers: { "X-Client-Source": "my-app", }, }); const agent = new Agent({ name: "inception-agent", instructions: "You are a helpful assistant", model: inceptionProvider("mercury"), });

五、默认 Base URL 与自定义覆盖

Inception 的默认 Base URL 为:

https://api.inceptionlabs.ai/v1/

你可以通过设置INCEPTION_BASE_URL来覆盖它,例如切换区域端点或走内部网关。这一机制的底层实现在resolveBaseUrl(model-provider-registry.ts),其解析顺序为:

  1. 遍历 provider 声明的环境变量中名称含ENDPOINT/BASE_URL/BASEURL的项,取第一个非空值;
  2. 否则读取环境变量前缀_BASE_URL(即INCEPTION_BASE_URL,前缀由envKeyForProvider把inception转成大写并替换连字符得到);
  3. 都没有时回退到注册表中的api字段(https://api.inceptionlabs.ai/v1/)。
# 覆盖 Base URL 示例 export INCEPTION_API_KEY="your-key-here" export INCEPTION_BASE_URL="https://your-gateway.example.com/v1/"

注意:Base URL 解析在非生产环境下还会受到缓存注册表的影响。VoltAgent 在开发模式下会从~/.voltagent/model-registry/provider-registry.json加载快照,并从 models.dev 每 30 分钟自动刷新一次注册表(见 model-provider-registry.ts),以保证新增模型和配置变更能及时同步到运行时。

六、可用的 Inception 模型

当前注册表快照中 Inception 提供以下模型(见 model-provider-types.generated.ts):

  • inception/mercury
  • inception/mercury-coder

在类型层面,VoltAgent 通过ModelRouterModelId为模型字符串提供 IDE 自动补全与编译期校验:

import type { ModelRouterModelId } from "@voltagent/core"; // 合法:自动补全会提示 inception/mercury 与 inception/mercury-coder const modelId: ModelRouterModelId = "inception/mercury";

该类型由 model-provider-registry.ts 根据注册表自动生成,它把ProviderId与模型列表组合成provider/model字面量联合类型。注意:类型文件是自动生成的,模型清单会随注册表刷新而变化,因此实际可用的模型以运行时注册表快照为准。

七、进阶:按需切换与自定义 provider

在同一个 Agent 内根据请求上下文动态选择 Inception 或其他模型:

const agent = new Agent({ name: "runtime-router", model: ({ context }) => { const task = (context.get("task") as string) || "general"; return task === "coding" ? "inception/mercury-coder" : "inception/mercury"; }, });

在拆分工作负载时,可以把inception/mercury-coder用于代码生成类步骤,而把通用对话类步骤交给其他 provider,实现成本与能力的灵活组合:

import { Agent } from "@voltagent/core"; const coderAgent = new Agent({ name: "code-gen", instructions: "Generate production-ready TypeScript code.", model: "inception/mercury-coder", }); const reviewerAgent = new Agent({ name: "code-review", instructions: "Review the generated code and flag risks.", model: "inception/mercury", });

如果你需要 Inception 特有(或 OpenAI 兼容协议外)的能力,也可以在任何 VoltAgent 期望LanguageModel的位置直接使用 AI SDK 的 provider 模块,此时你完全掌控 provider 的初始化参数,注册表不再介入。

八、小结

接入 Inception 到 VoltAgent 只需三步:设置INCEPTION_API_KEY、在Agent的model字段写入inception/mercury(或inception/mercury-coder)、按需通过INCEPTION_BASE_URL覆盖默认端点。底层由@ai-sdk/openai-compatible适配器和内置的ModelProviderRegistry完成解析、鉴权与实例化,你也可以随时查看 model-provider-registry.generated.ts 和 model-provider-registry.ts 了解完整的 provider 解析链。

相关参考:providers 总览见 providers/overview.md,模型路由的整体用法见 models-docs/overview.md。

  • 人工智能
  • AI Agent
  • Agent 框架
  • 后端
  • 多智能体
  • RAG
  • 工具调用
  • Agent 记忆

【免费下载链接】voltagent

AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework

项目地址:https://gitcode.com/gh_mirrors/vo/voltagent
点击查看免费下载

相关推荐

上一篇:UniRelight安全与伦理考量:在商业应用中需要注意的5个关键问题
下一篇:革命性3D资产生成工具:NVIDIA Asset-Harvester如何从单张图片创建仿真级模型

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

AHK中文编辑器整合版详解:编码配置、热键脚本与一键编译

简介&#xff1a;面向AutoHotkey爱好者和脚本开发者的中文专用编辑器整合包&#xff0c;将SciTE 2.1.0cn中文版、语法高亮、代码折叠、自动完成、括号匹配、查找替换、宏录制、调试以及热更新等常用编辑功能集中到一个轻量环境中&#xff0c;方便中文用户直接上手编写与维护AHK…

作者头像 李华
网站建设 2026/9/25 3:49:27

抖音视频去水印批量下载实战:开源工具douyin-downloader配置与踩坑指南

抖音视频去水印下载这件事&#xff0c;我从2023年就开始折腾了。最开始用的是各种在线解析网站&#xff0c;粘贴链接、点解析、右键保存&#xff0c;一套流程走下来少说半分钟&#xff0c;批量下载更是想都别想。后来陆续试过浏览器插件、手机App、甚至自己抓包写脚本&#xff…

作者头像 李华
网站建设 2026/9/25 3:48:42

STM32H7通过FSMC驱动AD7606,采样率从100k翻倍到200k

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

作者头像 李华
网站建设 2026/9/25 3:45:01

AgentScope 2.0实战:多Agent调用与RAG as Service企业级落地

最近在中文开发者社区里&#xff0c;AgentScope 这个系统可以说是刷屏级别的存在。AgentScope 2.0、AgentScope Java、RAG as Service、多Agent调用这几个热词&#xff0c;几乎每隔几天就会冒出来一篇新文章&#xff0c;我在好几个技术社群里都被问到过同一个问题&#xff1a;这…

作者头像 李华