На этой странице описан контракт API, который ваш внешний сервис знаний должен реализовать, чтобы Интеллос мог получать из него контент. Когда ваш API готов, см. Подключение внешней базы знаний для его регистрации в Интеллос.

Аутентификация

Интеллос отправляет настроенный вами API Key как Bearer-токен в каждом запросе:
Логику аутентификации вы определяете на своей стороне. Интеллос только передаёт ключ — он его не проверяет.

Запрос

Интеллос добавляет /retrieval к настроенному вами URL эндпоинта. Если вы зарегистрировали https://your-service.com, Интеллос отправляет запросы на https://your-service.com/retrieval.

Тело

retrieval_setting

metadata_condition

Интеллос передаёт условия по метаданным в ваш API, но в настоящее время не предоставляет пользователю интерфейс для их настройки. Этот параметр доступен только для программного использования.
Каждый объект в conditions:

Пример запроса

Ответ

Верните HTTP 200 с телом в формате JSON, содержащим массив records. Если ни один результат не соответствует запросу, верните пустой массив: {"records": []}.

records

Интеллос не отклоняет записи с отсутствующими полями, но пропуск content или score приведёт к неполным или неранжированным результатам.
Если вы включаете metadata в запись, оно должно быть объектом ({}), а не null. Значение metadata, равное null, вызывает ошибки в конвейере поиска Интеллос.

Пример ответа

Обработка ошибок

Интеллос проверяет HTTP-код состояния вашего ответа. Любой статус, отличный от 200, вызывает ошибку, которая отображается пользователю. По желанию вы можете вернуть структурированную информацию об ошибке в формате JSON: Ниже приведены рекомендуемые коды ошибок. Это соглашения, а не требования, навязываемые Интеллос:

Пример ответа с ошибкой