ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

VoltAgent 接入 Venice AI:通过 OpenAI 兼容适配器使用 `venice/<model>` 模型路由

VoltAgent 接入 Venice AI:通过 OpenAI 兼容适配器使用 `venice/<model>` 模型路由 人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆【免费下载链接】voltagentAI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework项目地址https://gitcode.com/gh_mirrors/vo/voltagent点击查看免费下载Venice AI 是一个提供多厂商模型聚合的推理平台VoltAgent 通过内置的 OpenAI 兼容适配器将 Venice AI 注册为venice提供商使开发者可以用venice/model的模型 ID 直接在Agent中调用其 25 个模型。本文以 venice.md 为骨架结合 model-provider-registry.ts 的源码实现完整讲解配置方法、环境变量、Base URL 覆盖规则与模型路由原理帮助读者在 VoltAgent 项目中快速接入 Venice AI。快速开始创建使用 Venice AI 的 Agent在 VoltAgent 中模型以provider/model的形式通过模型路由器解析Venice AI 的提供商 ID 为venice。最简接入方式如下import { Agent } from voltagent/core; const agent new Agent({ name: venice-agent, instructions: You are a helpful assistant, model: venice/claude-opus-45, });使用前需要确保以下前置条件在 Venice AI 平台获取 API Key并通过环境变量VENICE_API_KEY注入进程安装 Venice AI 对应的 Provider 包ai-sdk/openai-compatible详见下文Provider 包与适配器原理一节因为 VoltAgent 在运行时通过动态import(config.npm)懒加载该依赖见 model-provider-registry.ts。model字段除了接受单个字符串也可以传入数组配置多模型与回退策略resolveModel会优先筛选enabled ! false的候选模型见 agent.ts。环境变量VENICE_API_KEYVenice AI 提供商只要求一个环境变量环境变量说明VENICE_API_KEYVenice AI 平台 API Key必需在实际项目中通常将 Key 写入.env文件VENICE_API_KEYyour_venice_api_key_here从源码结构可以印证这个变量名的生成规则envKeyForProvider会将提供商 ID 转大写并把连字符替换为下划线venice对应VENICE再拼接_API_KEY得到惯例变量名见 model-provider-registry.ts。该 Key 最终由requireApiKey校验——如果缺失运行时会抛出明确的错误Missing API key for venice. Set process.env.VENICE_API_KEY.见 model-provider-registry.ts。默认 Base URL 与覆盖规则Venice AI 的默认 Base URL 为https://api.venice.ai/api/v1该值同时记录在自动生成的注册表中见 model-provider-registry.generated.ts。VoltAgent 允许通过设置VENICE_BASE_URL覆盖默认地址。其底层解析逻辑位于resolveBaseUrl见 model-provider-registry.ts优先级如下优先读取配置的env列表中名称匹配ENDPOINT、BASE_URL、BASEURL的环境变量其次读取惯例变量${PROVIDER}_BASE_URL对 Venice AI 即VENICE_BASE_URL最后回退到注册表中的config.api即默认的https://api.venice.ai/api/v1。典型用法如使用代理或自建网关时VENICE_API_KEYyour_venice_api_key_here VENICE_BASE_URLhttps://your-proxy.example.com/v1Provider 包与适配器原理ai-sdk/openai-compatibleVenice AI 在注册表中声明的 Provider 包为ai-sdk/openai-compatible见 model-provider-registry.generated.ts即通过 OpenAI 兼容适配器接入无需专用的 Venice SDK。对应实现是buildOpenAICompatibleProvider适配器见 model-provider-registry.tsconst provider createFn({ name: config.id, baseURL, apiKey: apiKeyMatch.value, supportsStructuredOutputs: true, });关键细节name使用提供商 IDvenice用于区分不同 provider 的请求链路baseURL由resolveBaseUrl解析出的最终地址默认或覆盖值apiKey来自VENICE_API_KEYsupportsStructuredOutputs: true声明支持结构化输出因此 VoltAgent 的output规格与工具调用能力可正常作用于该模型。适配器通过PACKAGE_ADAPTERS映射表按包名分派见 model-provider-registry.tsai-sdk/openai-compatible对应上述buildOpenAICompatibleProvider。若依赖未安装createProviderLoader会抛出提示安装包的错误信息。模型路由venice/model的解析链路VoltAgent 模型路由器支持provider/model与provider:model两种分隔形式splitModelId在斜杠或冒号处切分提供商 ID 与模型 ID见 model-provider-registry.tsvenice/claude-opus-45→ providervenicemodelclaude-opus-45若格式非法如缺少斜杠、空片段会抛出Invalid model id .... Use provider/model.错误ModelProviderRegistry采用单例 懒加载设计首次解析venice/...时才通过getProviderEntry触发 loader 动态导入 Provider 包并缓存结果见 model-provider-registry.ts后续调用直接复用缓存。注册表数据由https://models.dev/api.json自动生成并支持自动刷新非生产环境默认每 30 分钟一次因此模型清单会随上游数据源更新见 model-provider-registry.ts。可用模型清单25 个以下模型列表可在 model-provider-types.generated.ts 中确认均为venice/model形式可直接使用claude-opus-45claude-sonnet-45deepseek-v3.2gemini-3-flash-previewgemini-3-pro-previewgoogle-gemma-3-27b-itgrok-41-fastgrok-code-fast-1hermes-3-llama-3.1-405bkimi-k2-thinkingllama-3.2-3bllama-3.3-70bminimax-m21mistral-31-24bopenai-gpt-52openai-gpt-52-codexopenai-gpt-oss-120bqwen3-235b-a22b-instruct-2507qwen3-235b-a22b-thinking-2507qwen3-4bqwen3-coder-480b-a35b-instructqwen3-next-80bvenice-uncensoredzai-org-glm-4.6vzai-org-glm-4.7值得注意的是清单覆盖了 Claude、Gemini、DeepSeek、Qwen、GLM、Kimi、Mistral 等多个厂商模型接入方式完全一致——只需替换venice/model中的模型名即可例如const agent new Agent({ name: venice-agent, instructions: You are a helpful assistant, model: venice/qwen3-4b, });验证与排错缺少 API Key报错Missing API key for venice. Set process.env.VENICE_API_KEY.请检查环境变量是否已导出且非空getEnvValue会忽略空白字符串见 model-provider-registry.ts。缺少 Provider 包报错提示从ai-sdk/openai-compatible加载失败需执行npm install ai-sdk/openai-compatible后重试。模型 ID 非法报错Invalid model id .... Use provider/model.确认模型名与清单一致。Base URL 异常确认VENICE_BASE_URL指向合法的 OpenAI 兼容/v1端点。相关资源本提供商文档原文venice.md全部提供商概览Venice AI 位于venice行overview.md提供商注册表自动生成文件model-provider-registry.generated.ts模型类型映射Venice 模型清单model-provider-types.generated.ts注册表核心实现Base URL 解析、OpenAI 兼容适配器、模型 ID 切分、懒加载model-provider-registry.ts赞分享人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆【免费下载链接】voltagentAI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework项目地址https://gitcode.com/gh_mirrors/vo/voltagent点击查看免费下载相关推荐Alipay Ruby Gem生产环境部署终极指南监控、日志与性能优化策略Alipay Ruby Gem生产环境部署终极指南监控、日志与性能优化策略 Alipay Ruby Gem是一个非官方的支付宝支付集成库为Ruby开发者提供人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音在 VoltAgent 中使用 GitHub Copilot 模型github-copilot/model 模型路由接入指南在 VoltAgent 中使用 GitHub Copilot 模型github copilot/model 模型路由接入指南 本篇基于 VoltAgent人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音Daft AI Providers多模型 Provider 的统一配置、路由与 OpenAI 兼容接入实战Daft AI Providers多模型 Provider 的统一配置、路由与 OpenAI 兼容接入实战 在 Daft 的 AI 函数 prompt 、大数据数据分析数据工程AI 应用上一篇在 H2O 中使用 mruby-file-statmruby 版 File::Stat 文件元数据 API 全解析下一篇HsMod终极指南55项炉石传说增强功能完整配置与快速使用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表