Самая частая ошибка при корпоративной закупке Rerank API — сравнивать только «сколько стоит один вызов». Реранкинг работает с поисковыми запросами и текстами документов, объём вызовов растёт вместе с числом кандидатов, а качество нужно подтверждать на собственных данных. Если смотреть только на цену, возвращаться к вопросу придётся на этапе квот, комплаенса или приёмки.

Ниже чек-лист, который можно взять на совещание: от объёма вызовов и квот до счетов, приватности, оценки качества, деградации и приёмки пилота. Конкретные цены и квоты не фиксируются — ориентируйтесь на страницу тарифов и договор.

Примечание: Cohere, Jina, BAAI, BGE, OpenAI и другие названия принадлежат их правообладателям; статья не связана с этими организациями и не является их агентом. Материал носит характер обсуждения закупки и не является юридической консультацией; квоты, цены и условия обработки данных — по подписанному договору и официальным страницам.

1. Сводная таблица закупки

Сначала соберите пункты в таблицу, затем раскрывайте каждый:

Пункт Что уточнить Материалы приёмки
Объём и квоты Месячная квота, QPS, кандидатов на запрос, поведение при превышении Описание квот, протокол нагрузочного теста
Тарификация и счёт Единица, расчётный период, сторона договора, тип счёта Коммерческое предложение, договор, образец счёта
Данные и приватность Хранение, обучение, регион, удаление, субподрядчики Соглашение об обработке данных, описание безопасности
Качество Оценочный набор, базовая линия, метрики, порог приёмки Отчёт об оценке, регрессионные записи
Права и аудит Субаккаунты, ротация ключей, журналы вызовов Матрица прав, образец журнала
Деградация и SLA Уведомление о сбоях, резервный канал, смена версии Условия SLA, записи учений
Контроль затрат Панель расхода, бюджетные оповещения, разбивка по проектам Скриншот панели, настройки оповещений

2. Сначала объём вызовов, потом цена

Объём вызовов реранкинга — это не «число вопросов пользователей», а число запросов, умноженное на число кандидатов и коэффициент повторов:

Дневной объём ≈ дневное число запросов × кандидатов на запрос × (1 + доля повторов)

Десять тысяч запросов в день при 30 кандидатах — это триста тысяч оценок документов; при тарификации по search unit или токенам длина документов дополнительно увеличивает счёт. Перед закупкой подготовьте среднесуточное значение, пик активности и прогноз роста на двенадцать месяцев: оценка по демонстрационному трафику обычно занижена.

Уточните и гранулярность тарификации: за число запросов, документов, токенов или пакет «за один поиск». Разные единицы нельзя сравнивать напрямую — приводите их к одному объёму работы.

3. Квоты, ограничения скорости и поведение на пике

Условия квот должны быть зафиксированы письменно. Уточните:

  • месячные и годовые квоты, разделены ли пробный и промышленный лимиты;
  • как считается ограничение скорости: QPS, запросы в минуту или параллелизм;
  • максимальное число кандидатов и максимальная длина одного документа;
  • что происходит при превышении: ошибка, автоматический переход на оплату по факту или остановка сервиса;
  • могут ли проекты совместно использовать квоту и можно ли задать лимит отдельному ключу.

«Поведение при превышении» упускают чаще всего: одни сервисы возвращают ошибку, другие автоматически переходят на постоплату, и счёт может вырасти без согласования. Требуйте бюджетные оповещения и жёсткий верхний предел.

4. Тарификация, договор и счёт

Цена на сайте — только ориентир; в итоге нужны официальное коммерческое предложение и договор. Подтвердите:

  • единицу тарификации, ступенчатые цены, минимальный платёж или обязательный объём;
  • предоплату или постоплату, расчётный период и отсрочку;
  • сторону договора, сторону выставления счёта, тип счёта и налоговую ставку;
  • поддержку счёта-фактуры с НДС и соответствие содержания оказанным услугам;
  • срок уведомления об изменении цен и влияние на уже купленные квоты;
  • возврат средств, судьбу неиспользованного объёма и экспорт данных после расторжения.

При работе через API-шлюз важно разделить, кому вы платите, кто выставляет счёт и кто отвечает за сбой. В трансграничном сервисе добавляются валюта, конвертация и налоги — финансовую службу стоит подключить заранее.

5. Приватность и границы обработки данных

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

При закупке уточните по пунктам:

  • сохраняется ли содержимое запросов, как долго и для чего;
  • используется ли оно для обучения или улучшения сервиса и можно ли это отключить письменно;
  • где хранятся данные и резервные копии, каков трансграничный маршрут;
  • как работает удаление: можно ли удалить данные по арендатору и за какой срок;
  • список субподрядчиков и уведомление об изменениях;
  • шифрование, контроль доступа, уведомление об инцидентах и соглашение об обработке данных.

Командам с особо чувствительными данными стоит оценить открытую модель на своём сервере: веса работают внутри вашего VPC, данные не покидают внутреннюю сеть, но появляются затраты на GPU, эксплуатацию и обновления. Для хостингового сервиса условия «не хранить, не обучать, удалять по запросу» должны быть записаны в договоре.

6. Оценка качества: набор и NDCG

Оценочный набор формируется из 100–300 реальных запросов и покрывает частые формулировки, опечатки, многоязычные случаи, длинные документы и ситуации «ответа в материалах нет». К каждому запросу прикладывается набор из первых 20–50 кандидатов производственного поиска с разметкой 0 (нерелевантно), 1 (релевантно), 2 (прямой ответ).

Основная метрика — NDCG@10, дополнительно MRR, попадание в Top-3, задержка P95 и стоимость одного запроса. Также фиксируйте Recall@k набора кандидатов: он задаёт верхнюю границу эффекта реранкинга.

import math

def dcg(rels, k):
    return sum((2 ** r - 1) / math.log2(i + 2) for i, r in enumerate(rels[:k]))

def ndcg_at_k(ranked_rels, k=10):
    ideal = sorted(ranked_rels, reverse=True)
    idcg = dcg(ideal, k)
    return dcg(ranked_rels, k) / idcg if idcg else 0.0

# Уровни релевантности в порядке после реранкинга: 2=прямой ответ, 1=релевантно, 0=нет
ranked = [2, 0, 1, 0, 0, 1, 0, 0, 0, 0]
print(round(ndcg_at_k(ranked), 4))

Пороги приёмки нельзя копировать из публичных рейтингов и нельзя принимать на веру формулировку «качество хорошее». Бизнес и поставщик до пилота письменно согласуют: прирост NDCG@10 относительно базовой линии, минимальное абсолютное значение, верхнюю границу задержки P95 и долю ошибок, а также воспроизводимость и регрессионную проверку.

7. Права, аудит и управление ключами

  • Выдавайте отдельные ключи по средам и проектам, общие ключи запрещены.
  • Ключи должны иметь минимальные права, поддерживать ротацию и отзыв; их нельзя хранить во фронтенде или публичном репозитории.
  • Если возможно, настройте белый список IP и лимит скорости на ключ, чтобы один проект не исчерпал общую квоту.
  • Журналы вызовов должны хранить время, версию модели, длительность, статус и расход; содержательные поля обезличиваются по требованиям комплаенса.
  • Консоль должна поддерживать роли участников и аудит действий; при увольнении права отзываются своевременно.

При использовании единого шлюза уточните его политику журналирования и возможности субаккаунтов: дополнительный слой — это ещё один обработчик данных, и договор с проверкой должны это покрывать.

8. Деградация и отказоустойчивость

Реранкинг — шаг улучшения, а не единая точка отказа. В закупочной документации должно быть указано:

  • коды ошибок и механизм уведомления при недоступности сервиса;
  • наличие резервного канала в другом регионе или у другого поставщика;
  • бюджет тайм-аута и логика возврата к векторной похожести или ключевому порядку;
  • политика очереди, повторов и предохранителя при ограничении скорости, чтобы шторм повторов не усиливал сбой;
  • окно миграции при выводе модели или смене версии.

На инженерном уровне реранкинг стоит обернуть в отдельный интерфейс с переключателем «выключить реранкинг» и регулярно проводить учения. Возможность отката одной кнопкой практичнее любого обещания.

9. Приёмка пилота и контроль затрат

Рекомендуемый порядок — без сразу большого долгосрочного контракта:

  1. Определите рамки пилота: бизнес-линия, типы запросов, дневной лимит вызовов и критерии успеха.
  2. Подготовьте оценочный набор и базовую линию: без реранкинга, текущее решение и кандидат используют одни и те же кандидаты.
  3. Подключите небольшой трафик, запустите параллельное сравнение, запишите качество, задержку, ошибки и фактический расход.
  4. Проведите ручную проверку, выборочно сравните различия до и после сортировки, убедитесь, что прирост не объясняется смещением разметки.
  5. После приёмки подписывайте полноценный договор или расширяйте квоту, одновременно настройте бюджетные оповещения и ежемесячный обзор.

После запуска отслеживайте четыре числа: дневной объём вызовов, среднее число кандидатов, попадание в кэш и стоимость по каждой бизнес-линии. Способы оптимизации: сокращать бесполезных кандидатов, отключать реранкинг для низкоценных запросов, кэшировать частые результаты и задавать бюджет по проектам. Снижение кандидатов с 50 до 20 уменьшит счёт и задержку, но эффект нужно подтвердить оценочным набором.

Частые вопросы

Как обычно тарифицируется Rerank API?

Распространённые единицы — число вызовов, search unit, число документов и токены. Определения у поставщиков разные; приводите их к одному объёму работы и сверяйтесь с договором и страницей тарифов.

Можно ли использовать пробный лимит в промышленной эксплуатации?

Большинство пробных лимитов предназначены для оценки, могут запрещать коммерческое использование и не дают промышленного SLA. Для рабочей нагрузки нужны платная квота или развёртывание в своём контуре, а также счёт, соглашение об обработке данных и ответственность за сбои.

Какой NDCG считать приемлемым?

Универсального числа нет: всё зависит от качества кандидатов, стандарта разметки и допустимого уровня для бизнеса. Разумнее задать цель прироста относительно базовой линии, а абсолютное качество подтвердить ручной проверкой.

Если данные чувствительны, остаётся только развёртывание в своём контуре?

Не обязательно. Можно оценить хостинговый сервис, который обязуется не хранить и не обучать на данных, поддерживает удаление и подписывает соглашение; если этого недостаточно для комплаенса, выбирайте открытую модель на своём сервере. В обоих случаях считайте совокупную стоимость.

Влияет ли обновление модели поставщиком на качество?

Может влиять. Меняются поведение сортировки, шкала оценок и задержка. Требуйте предварительного уведомления о смене версии, по возможности фиксируйте версию и храните регрессионный набор: прогоняйте его до и после обновления.

Что дальше

Для подключения к существующей цепочке RAG можно с небольшим бюджетом зарегистрироваться в ZSQH AI Gateway, централизованно управлять ключами, квотами и журналами расхода, а затем провести пилот по чек-листу. Модели и цены — на странице тарифов, условия закупки — по договору и официальной документации.

Связанные статьи: