Skip to main content
Mastra 是一个用于构建 AI 智能体、工具和工作流的 TypeScript 框架。通过配置自定义的 OpenAI 兼容模型端点,即可将其接入 Venice。

前置条件

创建 Mastra 项目

将您的 Venice API 密钥添加到生成项目的 .env 文件中:
请勿将 .env 提交到源代码管理中。不要在浏览器端代码中暴露您的 Venice API 密钥。

创建由 Venice 驱动的智能体

创建一个智能体,并将其模型配置指向 Venice API:
id 的第一段是 Mastra 的路由标签。Mastra 会将剩余的模型 ID venice-uncensored 发送给 Venice。
url 设置为上面显示的基础 API 地址。不要附加 /chat/completions;Mastra 会自动添加该路径。
在您的 Mastra 实例中注册该智能体:
启动开发服务器,然后打开终端中显示的 URL,在 Mastra Studio 中测试该智能体:

生成响应

获取已注册的智能体并调用 generate()

流式响应

当您想要在输出到达时逐步显示时,使用 stream()

添加工具

Mastra 工具使用 Zod schema 来校验输入和输出。当为智能体附加工具时,请使用支持函数调用的 Venice 模型。
将工具附加到智能体:

生成结构化输出

通过 structuredOutput 传入一个 Zod schema,即可获得已校验的数据:
如果所选模型不支持 API 的结构化输出模式,请在 structuredOutput 中设置 jsonPromptInjection: true,让 Mastra 改为将 schema 添加到提示词中。

更换模型

若要使用其他 Venice 文本模型,请保留 venice/ 路由前缀,并替换剩余的模型 ID:
在为工具调用、视觉或结构化输出选择模型之前,请浏览 可用的 Venice 模型 并查看它们的能力。

故障排查

请确认 VENICE_API_KEY 已在 Mastra 运行的环境中存在,并在修改 .env 后重启开发服务器。
请使用 模型页面 上显示的准确模型 ID。在 Mastra 中,为其加上 venice/ 前缀,例如 venice/venice-uncensored
将模型 URL 设置为 https://api.venice.ai/api/v1。不要使用完整的 /chat/completions 端点。
选择支持函数调用的模型,在指令中说明智能体何时应使用该工具,并使用 createTool() 定义工具。

Mastra 文档

了解更多关于 Mastra 智能体、工具和工作流的信息

Venice 模型

浏览模型及其支持的能力