Создание и управление ботами по API
В этой документации описаны методы API для создания поисковых (RAG) ботов и управления ими. Например, вы можете проверить статус ботов, посмотреть их список или добавить / удалить документы. Полный список доступных методов описан ниже.
Создание с загрузкой файлов
curl -X PUT http://base_url:8080/indexapi/bot/bot_id \
-H "Authorization: Bearer YOUR_TOKEN_HERE" \
-F "files=@/path/to/test.pdf" \
-F "files=@/path/to/test2.pdf" \
-F "user_story=write_your_user_story_here" \
-F "sync=1" \
-F "time_to_eval=2025-04-02 14:49"
Параметры:
YOUR_TOKEN_HERE
- токен для доступа по APIbot_id
- имя индекса, по которому будет доступен созданный ботuser_story
- краткое описание сценария использования (пользовательской истории)sync
(необязательно) - флаг приоритета индексации (1 - высокий приоритет, индексация будет выполнена раньше запросов на создание бота без флага и раньше любых документов, которые добавляем в уже существующих ботов)time_to_eval
(необязательно) - время, не раньше которого начнётся индексация (формат: YYYY-MM-DD HH:MM)
Параметры sync
и time_to_eval
могут быть указаны одновременно.
Внутри данного метода есть параметр user_story, это описание сценария использования ассистента. Пользовательская история напрямую влияет на качество индексации и последующих ответов ассистента.
Для написания пользовательской истории рекомендуется отвечать на вопросы: Кто будет использовать ассистента и зачем? Что важно при формировании ответа?
Примеры user_story:
Пример 1: "Я, как инженер проектного отдела корпорации, хочу выяснить как действовать в сложной рабочей ситуации. Описав рабочую ситуацию, я хочу получить инструкцию что делать и к кому обратиться. Для меня важно получить контакты людей. Важно получить объясн ения что можно делать и что нельзя. Мне не нравятся общие ответы - я давно в компании и общие моменты знаю."
Пример 2: "Я как сотрудник организации, который работает с разными корпоративными IT системами, хочу выяснить нужную мне информацию по работе одной из систем, получить помощь по своему вопросу, узнать как действовать в конкретной ситуации. Задав вопрос я хочу увидеть короткий и исчерпывающий ответ, содержащий всю необходимую информацию. Искажение фактов для меня самая серьезная проблема. В зависимости от вопроса не полное изложение фактов тоже может быть проблемой."
Ответы:
202 Accepted
– команда на создание бота принята в обработку. Ответ будет содержатьcommand_id
.{
"command_id": "some-unique-command-id"
}
Для отслеживания статуса выполнения используйте эндпоинты статуса команд (см. раздел "Отслеживание статусов команд").
Создание с указанием файлов по URL
curl -X PUT http://base_url:8080/indexapi/bot/bot_id/urls \
-H "Authorization: Bearer YOUR_TOKEN_HERE" \
-F 'urls={"type": "direct_link", "url": "https://example.com/doc1.pdf"}' \
-F "user_story=write_your_user_story_here" \
-F "sync=1" \
-F "time_to_eval=2025-04-02 14:49"
Параметры аналогичны запросу с загрузкой файлов, кроме:
urls
– JSON-объект с URL-адресами. Непосредственно сам документ должен открываться по указанному URL (например, https://example.com/doc1.pdf).