Автоматическая трансформация сообщений

Гармонизация и взаимная конвертация форматов диалога между стандартами различных лабораторий искусственного интеллекта.

Различные разработчики моделей используют разные диалекты API: некоторые требуют строгого чередования ролей user/assistant, другие поддерживают множественные системные инструкции, третьи передают изображения в виде отдельных блоков контента. Шлюз Api Router берет всю нормализацию форматов на себя.

Адаптивный конвертер структур сообщений

Вы отправляете запрос в стандартном формате OpenAI messages. Роутер налету преобразует структуру под специфические требования целевого апстрима (например, Claude Messages API или Gemini Content API) и обратно.

Ключевые технические возможности

  • Объединение последовательных реплик: Автоматическое склеивание нескольких сообщений одной роли, если провайдер запрещает повторы.
  • Конвертация мультимодальных вложений: Бесшовный перевод base64-изображений и URL в формат конкретного провайдера.
  • Нормализация системных промптов: Корректная передача system-сообщений провайдерам, требующим передачи инструкций вне массива сообщений.
  • Абсолютная совместимость: Возможность переключать модели на лету в коде без правки структуры messages.

Пример интеграции в коде

Ниже представлен базовый пример отправки запроса с использованием стандартного клиента. Убедитесь, что ваш токен создан в разделе Ключи управления API:


import OpenAI from "openai";

// Инициализация стандартного SDK с базовым URL Api Router
const client = new OpenAI({
  baseURL: "https://api-router.velar.plus/v1",
  apiKey: process.env.API_ROUTER_KEY, // Ваш ключ от сервиса
});

async function run() {
  const response = await client.chat.completions.create({
    model: "anthropic/claude-sonnet", // Семейство модели без жесткой привязки к устаревающим номерам
    messages: [
      { role: "system", content: "Вы профессиональный инженер-архитектор." },
      { role: "user", content: "Как настроить надежную маршрутизацию запросов?" }
    ],
    temperature: 0.2,
  });

  console.log("Ответ модели:", response.choices[0].message.content);
}

run();
  

Связанные разделы документации

Для глубокого погружения в тему изучите следующие материалы: