Установка и развертывание InsightStream
Данная страница содержит пошаговую инструкцию по установке и развертыванию InsightStream на сервере с использованием Docker Compose. Здесь описаны архитектура системы, ключевые компоненты и основные этапы настройки окружения, запуска и проверки работоспособности системы.
Архитектура системы
Основные компоненты InsightStream
- База данных: Qdrant, используется для хранения и поиска данных.
- Шина сообщений: RabbitMQ, управляет очередями задач и обменом сообщениями между сервисами.
- Индексатор: работает с Qdrant для хранения и поиска данных, позволяя находить релевантные документы.
- Суммаризатор: использует LLM для создания кратких и точных ответов на запросы.
- Поисковый веб-интерфейс: предоставляет доступ к системе через браузер, построен на React.js и взаимодействует с backend через REST API.
InsightStream не имеет встроенной аутентификации. Дополнительная настройка RabbitMQ, Qdrant осуществляется отдельно и описана в их документации.
Конфигурация InsightStream
Конфигурация InsightStream задается переменными окружения (переменные и их значения задаются в файле .env
).
Основные параметры доступа к серверу InsightStream
Значения этих конфигурационных переменных необходимо задать в соответствии с тем, как будет осуществляться доступ к серверу.
# Сервер для загрузки документов и доступа к API
BASE_URL=http://адрес_или_доменное_имя_сервера:8080
AVAILABLE_USERS="['ключ_для_доступа_к_API']"
Адрес, заданный в переменной BASE_URL будет использоваться как для доступа к веб-интерфейсу системы, так и для взаимодействия между компонентами. Учитывайте это при настройке правил бранмауэра и в случаях если в сети используется split-horizon DNS.
Использование в этой переменной адресов 127.0.0.1
или localhost
приведет к некорректной работе системы.
Дополнительные настройки .env
Для корректной работы InsightStream необходимо указать полный набор переменных остальных компонентов (сами компоненты будут установлены автоматически в следующих шагах).
# Ключи и URL для LLM API
CHAT_API_KEY="empty"
CHAT_MODEL="Compressa-LLM"
CHAT_API_BASE=http://compressa-nginx/v1/
# Настройки эмбеддингов
EMBED_MODEL="Compressa-Embedding"
EMBED_TIKTOKEN_MODEL="Salesforce/SFR-Embedding-Mistral"
EMBED_API_KEY="empty"
EMBED_API_BASE=http://compressa-nginx/v1/
# Настройки реранка
RERANK_MODEL="Compressa-ReRank"
RERANK_API_KEY="empty"
RERANK_API_BASE=http://compressa-nginx/v1/
NUM_DOCS="7"