Самая частая ошибка при корпоративной закупке 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. Приёмка пилота и контроль затрат
Рекомендуемый порядок — без сразу большого долгосрочного контракта:
- Определите рамки пилота: бизнес-линия, типы запросов, дневной лимит вызовов и критерии успеха.
- Подготовьте оценочный набор и базовую линию: без реранкинга, текущее решение и кандидат используют одни и те же кандидаты.
- Подключите небольшой трафик, запустите параллельное сравнение, запишите качество, задержку, ошибки и фактический расход.
- Проведите ручную проверку, выборочно сравните различия до и после сортировки, убедитесь, что прирост не объясняется смещением разметки.
- После приёмки подписывайте полноценный договор или расширяйте квоту, одновременно настройте бюджетные оповещения и ежемесячный обзор.
После запуска отслеживайте четыре числа: дневной объём вызовов, среднее число кандидатов, попадание в кэш и стоимость по каждой бизнес-линии. Способы оптимизации: сокращать бесполезных кандидатов, отключать реранкинг для низкоценных запросов, кэшировать частые результаты и задавать бюджет по проектам. Снижение кандидатов с 50 до 20 уменьшит счёт и задержку, но эффект нужно подтвердить оценочным набором.
Частые вопросы
Как обычно тарифицируется Rerank API?
Распространённые единицы — число вызовов, search unit, число документов и токены. Определения у поставщиков разные; приводите их к одному объёму работы и сверяйтесь с договором и страницей тарифов.
Можно ли использовать пробный лимит в промышленной эксплуатации?
Большинство пробных лимитов предназначены для оценки, могут запрещать коммерческое использование и не дают промышленного SLA. Для рабочей нагрузки нужны платная квота или развёртывание в своём контуре, а также счёт, соглашение об обработке данных и ответственность за сбои.
Какой NDCG считать приемлемым?
Универсального числа нет: всё зависит от качества кандидатов, стандарта разметки и допустимого уровня для бизнеса. Разумнее задать цель прироста относительно базовой линии, а абсолютное качество подтвердить ручной проверкой.
Если данные чувствительны, остаётся только развёртывание в своём контуре?
Не обязательно. Можно оценить хостинговый сервис, который обязуется не хранить и не обучать на данных, поддерживает удаление и подписывает соглашение; если этого недостаточно для комплаенса, выбирайте открытую модель на своём сервере. В обоих случаях считайте совокупную стоимость.
Влияет ли обновление модели поставщиком на качество?
Может влиять. Меняются поведение сортировки, шкала оценок и задержка. Требуйте предварительного уведомления о смене версии, по возможности фиксируйте версию и храните регрессионный набор: прогоняйте его до и после обновления.
Что дальше
Для подключения к существующей цепочке RAG можно с небольшим бюджетом зарегистрироваться в ZSQH AI Gateway, централизованно управлять ключами, квотами и журналами расхода, а затем провести пилот по чек-листу. Модели и цены — на странице тарифов, условия закупки — по договору и официальной документации.
Связанные статьи:
