Разделы документации
Поиск по коллекциямготовится
Планируемый контракт: как собрать коллекцию из своих документов, подключить её к запросу и во что это обойдётся
Коллекция — это набор ваших документов, загруженных в LibraChat заранее и разобранных на фрагменты. Когда коллекция подключена к запросу, модель сама находит в ней подходящие фрагменты и подставляет их в ответ. Вам не нужно самим искать нужный кусок текста и класть его в messages — вы указываете идентификатор коллекции, остальное делает сервис.
Как создать коллекцию
Планируется три шага: создать коллекцию, загрузить в неё файлы, дождаться разбора. Пока идёт разбор, коллекция имеет статус indexing и в запросах не участвует; готовая — ready.
Список коллекций — GET /v1/collections, удаление коллекции — DELETE /v1/collections/{id}, удаление отдельного файла — DELETE /v1/collections/{id}/files/{file_id}. Удаление освобождает хранилище: с этого момента место за него не тарифицируется.
Как подключить к запросу
Коллекция подключается через инструмент file_search в поле tools — по конвенции OpenAI. В одном запросе можно указать несколько коллекций. Модель решает сама, нужен ли поиск: если вопрос не требует документов, вызова не будет и платить за него не придётся.
В ответе, помимо обычного choices[0].message.content, планируется блок с найденными фрагментами — чтобы вы могли показать пользователю источник ответа.
При stream: true фрагменты придут отдельным событием до начала текста, а счётчик file_search_calls — в последнем фрагменте вместе с usage (в нём choices пустой). Поток, как и сейчас, закрывается строкой data: [DONE].
Что попадает в счёт
Оплата складывается из трёх частей, и это важно понимать до подключения коллекций: сам поиск, хранение документов и обычные токены.
Цены поиска и хранения для коллекций
| Что тарифицируется | Единица | Цена |
|---|---|---|
| Поиск по коллекциям | 1000 вызовов | 675 ₽ |
| Хранение коллекций | 1 ГиБ в сутки | 27 ₽ |
| Скачивание | 1 ГиБ | 54 ₽ |
| Найденные фрагменты (входные токены) | 1 млн, libra-fast | 337,50 ₽ |
| Найденные фрагменты (входные токены) | 1 млн, libra-pro | 450 ₽ |
- Считается вызов поиска, а не запрос: если модель за один ответ обратилась к коллекции дважды, это два вызова. Если не обратилась ни разу — 0 ₽ за поиск.
- Найденные фрагменты подставляются в промпт и оплачиваются как обычные входные токены модели. Чем больше max_results, тем дороже ответ — на практике 5–10 фрагментов хватает.
- Хранение считается по фактическому объёму разобранных документов за каждые сутки. 1 ГиБ документов — 27 ₽ в сутки, около 810 ₽ в месяц.
- Баланс общий на аккаунт, предоплаченный; пополнение от 1 млн токенов по 450 ₽ за 1 млн. Все списания будут видны в журнале операций отдельными строками.
- При нехватке средств запрос вернёт 402 insufficient_balance. Лимиты ключа не меняются: 120 запросов/мин, 1 000 000 токенов/мин, max_tokens до 32 000.
Ограничения планируемого контракта
- Коллекции привязаны к аккаунту, а не к ключу: любой из ваших ключей (их до 10) сможет обращаться к любой коллекции аккаунта.
- Разбор загруженного файла асинхронный. Пока status = indexing, запрос с этой коллекцией вернёт ответ без её данных.
- Планируемые ошибки: 404 collection_not_found, 409 collection_indexing, 413 file_too_large. Тексты ошибок русские, ответ отдаётся с Content-Type: application/json; charset=utf-8.
- Картинки внутри документов не индексируются: берётся только текстовый слой. Изображения в messages по-прежнему отбрасываются.