Данная документация предназначена для специалистов, занимающихся развертыванием и промышленной эксплуатацией, а также пользователей InsightStream (https://insightstream.ru) — системы поиска и суммаризации корпоративных данных. InsightStream помогает упростить доступ к информации, автоматизировать поиск и создавать суммарные ответы, что повышает эффективность работы сотрудников.
InsightStream позволяет обрабатывать корпоративные данные, такие как регламенты, инструкции и другие неструктурированные документы, помогая сократить время поиска и повысить продуктивность сотрудников.
InsightStream представляет собой интеллектуальную поисковую систему для корпоративной сети, использующую технологии Retrieval-Augmented Generation (RAG) и большую языковую модель (LLM) для генерации ответов. Система позволяет создавать ассистентов для поиска и суммаризации информации из загруженных документов.
Компонент | Требование |
---|---|
ОС | Linux (рекомендуется Ubuntu 20.04+) |
CPU | 4 ядра |
RAM | 8 GB |
Диск | 50 GB |
Сеть | 100 Мбит/с |
Компонент | Требование |
---|---|
CPU | 8 ядер |
RAM | 16 GB и более |
Диск | 100 GB SSD |
Сеть | 1 Гбит/с |
InsightStream устанавливается с помощью Docker Compose.
Для корректной работы системы необходимо указать значение следующих переменных:
CHAT_API_KEY
: ключ доступа к LLM APICHAT_MODEL
: модель LLMCHAT_API_BASE
: URL для доступа к LLM APIEMBED_MODEL
, EMBED_TIKTOKEN_MODEL
, EMBED_API_KEY
, EMBED_API_BASE
: настройки модели и API эмбеддинговRERANK_MODEL
, RERANK_API_KEY
, RERANK_API_BASE
: настройки модели и API реранкаOPENAI_API_KEY
: ключ (токен) для доступа к CompressaOPENAI_BASE
: адрес для доступа к API CompressaQDRANT_URL
: базовый URL базы данных QdrantRABBITMQ_URL
: строка подключения к RabbitMQ (с логином и паролем)Дополнительные настраиваемые переменные:
RABBIT_USER
, RABBIT_PASS
: логин и пароль пользователя RabbitMQ (по умолчанию: guest/guest)AMQP_URL
, AMQP_USER
, AMQP_PASS
: дублирующие переменные для RabbitMQ в случае проблем с доступом.env
для настройки переменных (на основе .env.example
)docker-compose up -d
docker ps
и docker logs <container_name>
http://localhost:8501
http://localhost:3000
InsightStream не имеет встроенной аутентификации. Для её настройки рекомендуется использовать Nginx. Пример базовой конфигурации с фиксированным токеном:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your/fullchain.pem; ssl_certificate_key /path/to/your/privkey.pem; location /api/ { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; if ($http_authorization != "Bearer your_api_key_here") { return 401; } } }
Логи InsightStream записываются в stdout. Для интеграции с ELK используйте следующую конфигурацию:
input { docker { containers => ["insightstream"] type => "docker-logs" } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "insightstream-logs" } }
После настройки Logstash, настройте дашборды в Kibana для анализа логов.
Пример формата лога:
[2024-10-29 14:32:45] INFO: Запрос пользователя: "Какие документы необходимы для регистрации?" [2024-10-29 14:32:50] ERROR: Ошибка индексации документа "doc123.pdf": Недопустимый формат.
curl -X POST "http://localhost:6333/collections/{collection_name}/snapshots"
curl -X PUT "http://localhost:6333/collections/{collection_name}/snapshots/recover" -H 'Content-Type: application/json' -d' { "location": "http://qdrant-node-1:6333/collections/{collection_name}/snapshots/snapshot-2022-10-10.snapshot" }'
docker pull
docker-compose down
docker-compose up -d