Если ваша команда поддерживает собственную RAG-систему или хранит контент в стороннем сервисе знаний, например AWS Bedrock, вы можете подключить эти внешние источники к Интеллос, не перенося контент во встроенную базу знаний Интеллос. Это позволяет вашим ИИ-приложениям получать информацию напрямую из существующей инфраструктуры, сохраняя при этом полный контроль над логикой поиска и управлением контентом.
Архитектура внешней базы знаний
Подключение внешней базы знаний состоит из трёх шагов:
  1. Создайте API-сервис, к которому Интеллос сможет обращаться с запросами.
  2. Зарегистрируйте эндпоинт API в Интеллос.
  3. Подключите конкретный источник знаний через зарегистрированный API.
Когда ваше приложение работает, Интеллос отправляет запросы на поиск к вашему эндпоинту и использует возвращённые чанки как контекст для ответов LLM.
Если вы подключаетесь к LlamaCloud, установите плагин LlamaCloud вместо создания собственного API. Полную демонстрацию настройки смотрите в видеоруководстве.Если вы разрабатываете плагин для другого сервиса знаний, исходный код плагина LlamaCloud доступен для справки.
Интеллос имеет только доступ на чтение (поиск) к внешним базам знаний — он не может изменять ваш внешний контент или управлять им. Вы поддерживаете базу знаний и её логику поиска независимо.

Шаг 1. Создание API для поиска

Создайте API-сервис, реализующий спецификацию API внешних знаний. Вашему сервису нужен единственный эндпоинт POST, который принимает поисковый запрос и возвращает подходящие текстовые чанки с оценками сходства.

Шаг 2. Регистрация API внешних знаний

API внешних знаний хранит URL вашего эндпоинта и учётные данные для аутентификации. Несколько баз знаний могут использовать одно API-подключение.
  1. Перейдите в Знания, нажмите API внешних знаний в правом верхнем углу, затем нажмите Добавить API внешних знаний.
  2. Заполните следующие поля:
    • Имя: метка, которая отличает это API-подключение от других.
    • Конечная точка API: базовый URL вашего внешнего сервиса знаний. При отправке запросов Интеллос автоматически добавляет /retrieval.
    • API Key: учётные данные для аутентификации в вашем сервисе. Интеллос отправляет их как Bearer-токен в заголовке Authorization.
При сохранении Интеллос проверяет подключение, отправляя тестовый запрос к вашему эндпоинту.

Шаг 3. Создание внешней базы знаний

После регистрации API подключите внешний источник знаний к Интеллос. При этом в Интеллос создаётся база знаний, связанная с вашей внешней системой.
  1. Перейдите в Знания и нажмите Подключиться к внешней базе знаний.
    Подключение к внешней базе знаний
  2. Заполните следующие поля:
    • Название внешней базы знаний и Описание базы знаний (необязательно).
    • API внешних знаний: выберите зарегистрированное вами API-подключение.
    • Внешний идентификатор базы знаний: идентификатор конкретного источника знаний во внешней системе, передаваемый в ваш API в поле knowledge_id. Это любой идентификатор, который ваш внешний сервис использует для различения баз знаний. Например, ARN базы знаний Bedrock или идентификатор, заданный в вашей собственной системе.
      API внешних знаний и Внешний идентификатор базы знаний нельзя изменить после создания. Чтобы использовать другой API или источник знаний, создайте новую внешнюю базу знаний.
    • Настройки поиска:
      • Top K: максимальное число чанков, извлекаемых на один запрос. Более высокие значения возвращают больше результатов, но могут включать менее релевантный контент.
      • Порог оценки: минимальная оценка сходства для возвращаемых чанков. Включите этот параметр, чтобы отфильтровать малорелевантные результаты. Используйте более высокое значение для более строгой релевантности или более низкое — чтобы включить более широкий набор совпадений. Если параметр отключён, возвращаются все результаты в пределах лимита Top K независимо от оценки.
После создания внешняя база знаний доступна для использования в ваших приложениях так же, как любая встроенная база знаний. Подробнее см. Интеграция знаний в приложение.

Устранение неполадок

Отказ в подключении или тайм-аут (self-hosted)

Интеллос маршрутизирует исходящие HTTP-запросы через SSRF-прокси на базе Squid. Если ваш внешний сервис знаний работает на том же хосте, что и Интеллос, или его домен не внесён в список разрешённых, прокси блокирует запрос. Чтобы разрешить подключения, добавьте домен вашего сервиса в ACL allowed_domains в файле docker/ssrf_proxy/squid.conf.template:
После редактирования перезапустите контейнер SSRF-прокси.

Проблемы с форматом ответа API

Если поиск завершается с ошибкой или возвращает неожиданные результаты, сверьте ответ вашего API со спецификацией API внешних знаний. Распространённые проблемы:
  • Поле metadata в каждой записи должно быть объектом ({}), а не null. Значение null вызывает ошибки в конвейере поиска.
  • Поля content и score должны присутствовать в каждой записи.