跳到主要内容

Modal 标志Modal

通过 Mastra 的模型路由器访问 2 个 Modal 模型。系统会自动使用 MODAL_PROXY_TOKEN 环境变量完成身份验证。

更多信息请参阅Modal 文档

.env
MODAL_PROXY_TOKEN=your-api-token
src/mastra/agents/my-agent.ts
import { Agent } from '@mastra/core/agent'

const agent = new Agent({
id: 'my-agent',
name: 'My Agent',
instructions: 'You are a helpful assistant',
model: 'modal/moonshotai/Kimi-K3',
})

// Generate a response
const response = await agent.generate('Hello!')

// Stream a response
const stream = await agent.stream('Tell me a story')
for await (const chunk of stream) {
console.log(chunk)
}
信息

Mastra 使用兼容 OpenAI 的 /chat/completions endpoint。部分 Provider 特有功能可能不可用,详情请参阅Modal 文档

模型
模型的直接链接

ModelContextToolsReasoningImageAudioVideoInput $/1MOutput $/1M
modal/moonshotai/Kimi-K31.0M$3$15
modal/thinkingmachines/Inkling-NVFP41.0M$1$5
2 available models

高级配置
高级配置的直接链接

自定义请求头
自定义请求头的直接链接

src/mastra/agents/my-agent.ts
const agent = new Agent({
id: 'custom-agent',
name: 'custom-agent',
model: {
url: 'https://inference.us-west.modal.direct/v1',
id: 'modal/moonshotai/Kimi-K3',
apiKey: process.env.MODAL_PROXY_TOKEN,
headers: {
'X-Custom-Header': 'value',
},
},
})

动态选择模型
动态选择模型的直接链接

src/mastra/agents/my-agent.ts
const agent = new Agent({
id: 'dynamic-agent',
name: 'Dynamic Agent',
model: ({ requestContext }) => {
const useAdvanced = requestContext.task === 'complex'
return useAdvanced ? 'modal/thinkingmachines/Inkling-NVFP4' : 'modal/moonshotai/Kimi-K3'
},
})