Кэширование ответов (Response Caching)

Мгновенные ответы и нулевая стоимость повторных запросов за счет высокоскоростного сетевого кэширования идентичных промптов.

Во многих прикладных сценариях — таких как FAQ-боты, автокомплит в редакторах или модульное тестирование — пользователи и системы регулярно отправляют идентичные запросы. Кэширование ответов на стороне шлюза Api Router позволяет отдавать уже рассчитанные результаты из оперативной памяти за доли миллисекунд.

Хэширование контекста и политика инвалидации

Шлюз рассчитывает криптографический хэш от модели, системных промптов, истории сообщений и параметров выборки (temperature, top_p). При точном совпадении ответ отдается из кэша с заголовком x-cache: HIT.

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

  • Нулевая стоимость повторного токена: Запросы, обслуженные из кэша, не расходуют средства с баланса аккаунта.
  • Сверхнизкая задержка (Latency < 10 мс): Мгновенная отдача ответа без ожидания вычислений на видеокартах апстрима.
  • Настраиваемый TTL (Time To Live): Возможность задавать время жизни кэша от нескольких минут до нескольких суток.
  • Прозрачные диагностические заголовки: Отслеживание статуса попадания в кэш через стандартные HTTP-заголовки ответа.

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

Ниже представлен базовый пример отправки запроса с использованием стандартного клиента. Убедитесь, что ваш токен создан в разделе Ключи управления 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();
  

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

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