О клиенте
Клиент планировал запустить ИИ-чат-бота для обработки типовых вопросов и обращений в поддержку и поиска по базе знаний. Команде было важно получить не экспериментальный прототип, а практичную основу, которую можно быстро встроить в существующие системы.
При изучении готовых решений клиент столкнулся с типичной проблемой: многие RAG-фреймворки с открытым исходным кодом были слишком сложными для быстрого запуска. Их внедрение требовало использование дополнительных сервисов, настройки инфраструктуры и отдельной оптимизации стоимости генерации ответов.
Клиенту нужен был чат-бот на базе RAG, который мог бы точно отвечать на вопросы по документации, контролировать объем контекста для LLM и не требовать большой инженерной команды для запуска.
Задача
ИИ-чат-бот для поддержки должен не просто отправлять запрос в LLM. Качество ответов зависит от того, как документы загружаются, разбиваются на фрагменты, индексируются и передаются в модель в качестве контекста.
Основные сложности проекта:
- не использовать фреймворки с открытым исходным кодом;
- снизить стоимость генерации ответов за счет точного управления контекстом;
- настроить поиск по базе знаний так, чтобы бот находил релевантные фрагменты документации;
- контролировать объем данных, которые передаются в LLM;
- упростить загрузку и предварительную обработку документов;
- подготовить модульную архитектуру для интеграции в порталы, CRM и внутренние системы поддержки;
- поддержать разные варианты установки: в облаке, в гибридной инфраструктуре или на стороне клиента.
Обзор проекта
Мы разработали основу ИИ-чат-бота, которую можно было быстро адаптировать под базу знаний клиента и встроить в существующую ИТ-среду.
Вместо фреймворков с открытым исходным кодом команда СКЭНД спроектировала компактную архитектуру с векторным поиском, управлением контекстом и модульной логикой взаимодействия с LLM.
Решение загружало документы, подготавливало их к поиску, сохраняло векторные представления в PostgreSQL с pgvector и находило релевантные фрагменты по запросу пользователя. Затем бот собирал контекст для LLM и передавал в модель только те данные, которые были нужны для ответа.
Архитектура была ориентирована на API, поэтому чат-бота можно было встроить в сайт, клиентский портал, CRM или внутреннюю систему поддержки без переработки существующей инфраструктуры.
Решение
Финальная версия стала готовой основой для ИИ-чат-бота, который объединял обработку документов, семантический поиск и генерацию ответов через LLM.
Бот работал с внутренней документацией, типовыми вопросами, инструкциями и другими материалами базы знаний. Он находил подходящие фрагменты, собирал контекст и помогал пользователю получать точные ответы без ручного поиска по документам.
Команда СКЭНД сделала упор на три вещи:
- компактную архитектуру
- точный поиск по базе знаний
- контроль контекста, чтобы снижать расход токенов и стоимость генерации
Такой подход позволял использовать основу для разных сценариев: клиентской поддержки, внутренних ИИ-ассистентов, поиска по документации и обработки типовых вопросов.
Ключевые возможности
- легкая RAG-архитектура без перегруженного стека;
- поиск релевантных фрагментов в базе знаний;
- структурированная загрузка и предварительная обработка документов;
- управление контекстом LLM для снижения расхода токенов;
- семантический поиск через PostgreSQL и pgvector;
- API для интеграции с сайтами, клиентскими порталами, CRM и внутренними сервисами;
- поддержка структурированной и неструктурированной документации;
- гибкая маршрутизация запросов к разным LLM-провайдерам;
- установка в облаке, гибридной инфраструктуре или на стороне клиента;
- готовая основа для быстрой адаптации под процессы заказчика.
Технологический стек
- Оркестрация LLM: LangChain, LangGraph;
- База данных и поиск: PostgreSQL, pgvector;
- Обработка документов: Docling;
- Варианты генерации ответов: Groq, Ollama, OpenAI, Anthropic;
- Бэкенд: Python, FastAPI;
- Развертывание: Docker.
Результаты
Компания СКЭНД разработала готовую основу ИИ-чат-бота, которая помогала быстро подключать ИИ-бота к базе знаний и каналам поддержки без лишних затрат на инфраструктуру и генерацию ответов.
По сравнению с альтернативами с открытым исходным кодом это решение было проще во внедрении и сопровождении. Управление контекстом позволяло не отправлять в LLM лишние данные, а семантический поиск повышал точность ответов по базе знаний.
Клиент получил:
- основу для быстрого запуска ИИ-чат-бота с RAG;
- более простую интеграцию с существующими системами;
- управляемую стоимость генерации ответов;
- структурированную загрузку и обработку документов;
- поиск по базе знаний через PostgreSQL и pgvector;
- модульную архитектуру для дальнейшей доработки;
- гибкие варианты установки под требования инфраструктуры.