Для получения чистого Markdown любой страницы добавьте .md к URL страницы.
Для полного индекса документации см. https://api.vega.chat/docs/llms.txt.
Для полного содержания документации см. https://api.vega.chat/docs/llms-full.txt.
Для интеграции AI‑клиента (Claude Code, Cursor и др.) подключитесь к MCP‑серверу по адресу https://api.vega.chat/docs/_mcp/server.

Fusion Router

MD версия

Fusion Router (openrouter/fusion) предоставляет вашей модели доступ к инструменту многомодельного обсуждения. При вызове панель моделей отвечает на ваш запрос параллельно, затем модель‑судья сравнивает их ответы и возвращает структурированный анализ — согласие, противоречия, пробелы в покрытии, уникальные инсайты и слепые зоны. Ваша модель использует этот анализ, чтобы написать лучший окончательный ответ.

Обзор

Используйте Fusion, когда одной модели недостаточно — исследовательские вопросы, экспертная критика, запросы «сравнить и противопоставить» или любые задачи, где стоимость ошибки превышает стоимость нескольких дополнительных завершений.

Как это работает

mermaid
flowchart LR
  request[Your request] --> model[Your model]
  model -- calls openrouter:fusion --> panel[Panel<br />up to 8 models<br />+ web_search + web_fetch]
  panel --> judge[Judge / analysis<br />+ web_search + web_fetch<br />structured JSON]
  judge -- analysis --> model
  model --> answer[Final answer]
  1. Вы отправляете запрос с model: "openrouter/fusion". Маршрутизатор разрешает псевдоним в реальную модель и прикрепляет инструмент openrouter:fusion.
  2. Ваша модель читает подсказку и решает, требует ли задача обсуждения. Если да, она вызывает openrouter:fusion. (Используйте tool_choice: "required", чтобы гарантировать вызов.)
  3. Панель — набор моделей — отвечает на ваш запрос параллельно, каждая с включёнными openrouter:web_search и openrouter:web_fetch.
  4. Судья получает все ответы панели, с доступом к openrouter:web_search и openrouter:web_fetch, и сравнивает их — он не объединяет их. Он возвращает структурированный анализ в виде JSON: что согласовано большинством моделей (рассматривается как более надёжный консенсус), где есть разногласия, какие части покрыты только некоторыми моделями, уникальные инсайты отдельных моделей и слепые зоны, которые никто не затронул.
  5. Ваша модель получает анализ и пишет окончательный ответ.

openrouter:web_search и openrouter:web_fetch включены как в вызовах панели, так и в вызове судьи, поэтому модели могут получать свежие источники во время ответа и анализа.

Два способа использования

json
{
  "model": "openrouter/fusion",
  "messages": [
    { "role": "user", "content": "What are the strongest arguments for and against carbon taxes?" }
  ]
}
json
{
  "model": "~anthropic/claude-opus-latest",
  "messages": [
    { "role": "user", "content": "What are the strongest arguments for and against carbon taxes?" }
  ],
  "tools": [
    { "type": "openrouter:fusion" }
  ]
}

Оба варианта используют один и тот же конвейер. Псевдоним модели проще — он автоматически внедряет инструмент, так что вам не нужно его объявлять. Формат серверного инструмента даёт больше контроля (выбираете свою внешнюю модель, комбинируете Fusion с другими инструментами).

В обоих случаях модель решает, когда вызывать openrouter:fusion. Для подсказок, не требующих обсуждения, она отвечает напрямую — включая вызов любых других объявленных вами инструментов. Добавьте tool_choice: "required", чтобы принудительно включать Fusion в каждый запрос.

Быстрый старт

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

const client = new OpenRouter({
  apiKey: '<VEGA_API_KEY>',
});

const completion = await client.chat.send({
  model: 'openrouter/fusion',
  messages: [
    {
      role: 'user',
      content: 'Survey the strongest arguments for and against a carbon tax. Where do experts disagree?',
    },
  ],
});

console.log(completion.choices[0].message.content);
bash
curl https://api.vega.chat/api/v1/chat/completions \
  -H "Authorization: Bearer $VEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/fusion",
    "messages": [
      {"role": "user", "content": "Survey the strongest arguments for and against a carbon tax. Where do experts disagree?"}
    ]
  }'

Конфигурация

Вы можете переопределить панель и судью, явно объявив инструмент с блоком parameters. Это необязательно — просто опустите его, и Fusion использует предустановки качества по умолчанию.

typescript
const completion = await client.chat.send({
  model: '~anthropic/claude-opus-latest',
  messages: [
    {
      role: 'user',
      content: 'Compare ridge, lasso, and elastic-net regression. Where does each shine?',
    },
  ],
  tools: [
    {
      type: 'openrouter:fusion',
      parameters: {
        analysis_models: [
          '~anthropic/claude-opus-latest',
          '~openai/gpt-latest',
          '~google/gemini-pro-latest',
        ],
        model: '~openai/gpt-latest',
      },
    },
  ],
});
bash
curl https://api.vega.chat/api/v1/chat/completions \
  -H "Authorization: Bearer $VEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "~anthropic/claude-opus-latest",
    "messages": [
      {"role": "user", "content": "Compare ridge, lasso, and elastic-net regression."}
    ],
    "tools": [
      {
        "type": "openrouter:fusion",
        "parameters": {
          "analysis_models": ["~anthropic/claude-opus-latest", "~openai/gpt-latest", "~google/gemini-pro-latest"],
          "model": "~openai/gpt-latest"
        }
      }
    ]
  }'
ПолеПо умолчаниюОписание
analysis_modelsQuality preset (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest)Модели, образующие панель. Каждая работает параллельно с включёнными openrouter:web_search и openrouter:web_fetch. Допустимо 1–8 моделей.
modelВаша внешняя модельМодель‑судья, которая формирует структурированный JSON‑анализ. По умолчанию используется та же модель, что обрабатывает ваш запрос.
max_tool_calls8Максимальное количество шагов вызова инструмента, которое каждая модель панели и судья могут выполнить в своём цикле openrouter:web_search/web_fetch до возврата текста. Диапазон 1–16.
max_completion_tokensЗначение по умолчанию провайдераМаксимальное количество токенов вывода (включая рассуждения) для внутреннего вызова панели/судьи. Позволяет не исчерпать бюджет моделей с тяжёлым рассуждением.
reasoningЗначение по умолчанию провайдераКонфигурация рассуждения, передаваемая в вызовы панели и судьи — объект с необязательными полями effort и max_tokens.
temperatureЗначение по умолчанию провайдераТемпература сэмплинга (02), передаваемая в вызовы панели и судьи.

Принудительный запуск Fusion для каждого запроса

По умолчанию модель решает, когда вызывать openrouter:fusion. Чтобы гарантировать его запуск для каждого запроса, установите tool_choice: "required":

typescript
const completion = await client.chat.send({
  model: 'openrouter/fusion',
  messages: [
    {
      role: 'user',
      content: 'Compare ridge, lasso, and elastic-net regression.',
    },
  ],
  tool_choice: 'required',
});
bash
curl https://api.vega.chat/api/v1/chat/completions \
  -H "Authorization: Bearer $VEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/fusion",
    "messages": [
      {"role": "user", "content": "Compare ridge, lasso, and elastic-net regression."}
    ],
    "tool_choice": "required"
  }'

Поскольку openrouter/fusion внедряет только один инструмент (openrouter:fusion), требование какого‑то вызова инструмента фактически заставляет выполнить Fusion. Если ваш запрос также содержит другие инструменты, модель может выбрать один из них вместо Fusion.

Ответ

Поле model в ответе указывает конкретную модель, которая обработала запрос — а не псевдоним openrouter/fusion:

json
{
  "id": "gen-...",
  "model": "anthropic/claude-opus-4.5",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "..."
      }
    }
  ]
}

Чтобы убедиться, что генерация прошла через Fusion Router, проверьте метаданные генерации. Поле router будет содержать openrouter/fusion:

json
{
  "data": {
    "id": "gen-...",
    "model": "anthropic/claude-opus-4.5",
    "router": "openrouter/fusion"
  }
}

Стоимость

Fusion выполняет N вызовов панели + 1 вызов судьи в дополнение к вашему обычному запросу. При панели из трёх моделей ожидайте примерно 4–5× стоимости одного завершения того же запроса. Стоимость растёт линейно с размером панели.

Защита от рекурсии

Внутренние вызовы Fusion передают заголовок x-openrouter-fusion-depth. Модели панели и судьи не могут рекурсивно вызывать openrouter:fusion — плагин отказывается внедрять инструмент второй раз, ограничивая обсуждение одним уровнем.

Связанные материалы