Details
| Title | Разработка интеллектуального чат - ассистента на основе RAG для навигации пользователя в аналитической BI - системе и генерации запросов и кода: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of an Intelligent RAG-based Chat Assistant for User Navigation in an Analytical BI System and Query and Code Generation |
|---|---|
| Creators | Стародубцева Катарина Антоновна |
| Scientific adviser | Малеев Олег Геннадьевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | RAG ; retrieval-augmented generation ; чат-ассистент ; BI-система ; Text-to-SQL ; LangChain ; FastAPI ; генерация кода ; chat assistant ; BI system ; code generation |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-2696 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42582 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Данная работа посвящена разработке и интеграции в аналитическую BI-систему чат-ассистента на основе технологии Retrieval-Augmented Generation (RAG), позволяющего пользователю получать ответы на общие вопросы по работе с системой, формировать SQL-запросы и программный код, а также накапливать обратную связь. Задачи, которые решались в ходе исследования: 1. Провести анализ существующих AI-ассистентов для BI-систем (Power BI Copilot, Tableau GPT, Yandex DataLens Assistant). 2. Исследовать и формализовать требования к ассистенту: поддержка общих вопросов по системе, генерация SQL-запросов и кода на Python, оценка ответов и хранение истории чатов. 3. Обосновать выбор технологического стека для реализации RAG-агента, включая LLM, векторную базу данных, средства индексации документации, серверную часть и клиентский интерфейс. 4. Разработать модульную архитектуру чат-ассистента, включающую модуль индексации и семантического поиска, модуль генерации ответов, модуль преобразования запросов в SQL/код, модуль сбора обратной связи и хранения чатов, клиентский модуль. 5. Реализовать прототип чат-ассистента, интегрированного в существующую BI-систему работодателя, обеспечивающего ответы на вопросы, генерацию SQL/кода, возможность оценивать ответы и управлять историей чатов. 6. Провести оценку качества работы ассистента по метрикам точности семантического поиска и корректности генерируемого SQL/кода. В результате работы был разработан и протестирован работоспособный прототип RAG-ассистента. Реализованы модуль семантического поиска по документации, генерация SQL-запросов и Python-кода, система хранения истории чатов и механизм обратной связи. Проведено модульное тестирование (45 тестов, покрытие 87%), интеграционная оценка RAG-пайплайна на выборке из 30 запросов (Precision@5 = 0,78, Recall@5 = 0,86, MRR = 0,72, Hit Rate@5 = 0,94), а также экспертная оценка качества генерации кода (средняя оценка SQL-запросов 4,3, Python-кода 4,1). Система полностью контейнеризирована и готова к интеграции в корпоративную среду. Для достижения данных результатов в работе были использованы следующие информационные технологии: язык программирования Python, веб-фреймворк FastAPI, фреймворк для построения RAG-пайплайнов LangChain, векторная база данных Chroma, реляционная база данных PostgreSQL, локальная языковая модель Qwen3 (запущенная через Ollama), система контейнеризации Docker Compose, система контроля версий Git, а также система автоматизации сборки GitLab CI/CD.
This work is devoted to the development and integration of a RAG-based chat assistant into the OmegaBI analytical system, enabling users to receive answers on system operation, generate SQL queries and Python code, and collect feedback to improve response quality. The research set the following goals: 1. To analyze existing AI assistants for BI systems (Power BI Copilot, Tableau GPT, Yandex DataLens Assistant). 2. To study and formalize requirements for the assistant: support for general system questions, SQL query and Python code generation, answer evaluation and chat history storage. 3. To justify the choice of technology stack for implementing a RAG agent, including LLM, vector database, documentation indexing tools, server part and client interface. 4. To develop a modular architecture of the chat assistant, including an indexing and semantic search module, a response generation module, a query-to-SQL/code conversion module, a feedback collection and chat storage module, and a client module. 5. To implement a prototype of the chat assistant integrated into the employers existing BI system, providing answers to questions, SQL/code generation, the ability to evaluate responses and manage chat history. 6. To evaluate the quality of the assistants operation using metrics of semantic search accuracy and correctness of generated SQL/code. As a result of the work, a fully functional prototype of the RAG assistant was developed and tested. Key features implemented include a semantic search module over documentation, SQL query and Python code generation, a chat history storage system and a feedback mechanism. Modular testing (45 tests, coverage 87%), integration evaluation of the RAG pipeline on a sample of 30 queries (Precision@5 = 0.78, Recall@5 = 0.86, MRR = 0.72, Hit Rate@5 = 0.94), as well as an expert assessment of code generation quality (average score for SQL queries 4.3, Python code 4.1) were performed. The system is fully containerized and ready for integration into a corporate environment. The following information technologies were used to achieve these results: Python programming language, FastAPI web framework, LangChain framework for building RAG pipelines, Chroma vector database, PostgreSQL relational database, Qwen3 local language model (running via Ollama), Docker Compose containerization system, Git version control system, and GitLab CI/CD automation system.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|