OpenRouter 模型与路由

OpenRouter 模型与路由

Body Builder

3 分钟阅读

Body Builder

根据自然语言生成多个并行 API 请求

Body Builderopenrouter/bodybuilder)会把自然语言提示词转换成结构化的 OpenRouter API 请求,让你可以轻松地在多个模型上并行运行同一任务。

概述

Body Builder 用 AI 理解你的意图,并生成有效的 OpenRouter API 请求体。只需描述你想完成什么、要使用哪些模型,Body Builder 就会返回可直接执行的 JSON 请求。

Body Builder 免费使用。生成请求体不收费。

用法

import { OpenRouter } from '@openrouter/sdk';

const openRouter = new OpenRouter({
  apiKey: '<OPENROUTER_API_KEY>',
});

const completion = await openRouter.chat.send({
  model: 'openrouter/bodybuilder',
  messages: [
    {
      role: 'user',
      content: '用 Claude Sonnet 和 GPT-5 从 1 数到 10',
    },
  ],
});

// 解析生成的请求
const generatedRequests = JSON.parse(completion.choices[0].message.content);
console.log(generatedRequests);

响应格式

Body Builder 返回一个 JSON 对象,其中包含一组兼容 OpenRouter 的请求体:

{
  "requests": [
    {
      "model": "anthropic/claude-sonnet-4.5",
      "messages": [
        {"role": "user", "content": "从 1 数到 10"}
      ]
    },
    {
      "model": "openai/gpt-5.1",
      "messages": [
        {"role": "user", "content": "从 1 数到 10"}
      ]
    }
  ]
}

执行生成的请求

生成请求体之后,并行执行它们:

// 生成请求
const builderResponse = await openRouter.chat.send({
  model: 'openrouter/bodybuilder',
  messages: [{ role: 'user', content: '用 Gemini 和 Claude 解释重力' }],
});

const { requests } = JSON.parse(builderResponse.choices[0].message.content);

// 并行执行所有请求
const results = await Promise.all(
  requests.map((req) => openRouter.chat.send(req))
);

// 处理结果
results.forEach((result, i) => {
  console.log(`Model: ${requests[i].model}`);
  console.log(`Response: ${result.choices[0].message.content}\n`);
});

使用场景

模型基准测试

比较不同模型如何处理同一任务:

"用 Claude Sonnet、GPT-5 和 Gemini 写一首关于编程的俳句"

冗余与可靠性

为关键应用从多个模型服务提供商获取回复:

"用三个不同模型回答『2+2 等于多少?』以便交叉验证"

A/B 测试

在多个模型上测试提示词,找出最合适的:

"用排名前 5 的编程模型总结这篇文章:[文章正文]"

探索

发现哪些模型擅长特定任务:

"用各种创意写作模型生成一个故事开头"

模型选择

Body Builder 可以访问所有可用的 OpenRouter 模型,并且会:

  • 默认使用最新的模型版本
  • 根据你的描述选择合适的模型
  • 理解模型别名和常用名称

模型 slug 会随新版本发布而变化。下面的示例截至 2025 年 12 月 4 日。请查看 模型页面 获取最新可用模型。

可用的模型指称示例:

  • "Claude Sonnet" → anthropic/claude-sonnet-4.5
  • "Claude Opus" → anthropic/claude-opus-4.5
  • "GPT-5" → openai/gpt-5.1
  • "Gemini" → google/gemini-3.1-pro-preview
  • "DeepSeek" → deepseek/deepseek-v3.2

定价

  • Body Builder 请求:免费(生成请求体不收费)
  • 执行生成的请求:按标准模型定价计费

限制

  • 需要 messages 格式的输入
  • 生成的请求默认只包含最少的必填字段
  • 输入中的系统消息会被保留并转发