О системе

Что это?

RAG-система (Retrieval-Augmented Generation) для работы с документацией АИС ГЗ — Автоматизированной информационной системы государственных закупок Санкт-Петербурга.

Система позволяет задавать вопросы на естественном языке и получать точные ответы, основанные на содержимом руководства пользователя (1200 страниц, 1862 изображения).

Как это работает?

1. Парсинг документа — DOCX файл разбирается на секции: текст извлекается по главам и разделам, изображения сохраняются отдельно.

2. Чанкинг — текст разбивается на фрагменты по ~800 символов с перекрытием для сохранения контекста.

3. Эмбеддинги — каждый фрагмент и описание изображения преобразуется в векторное представление (384 измерения) с помощью модели paraphrase-multilingual-MiniLM-L12-v2.

4. Индексация — векторы хранятся в FAISS для быстрого поиска по схожести.

5. Поиск и генерация — при запросе пользователя система находит наиболее релевантные фрагменты и передаёт их в GigaChat для генерации ответа.

Технологии

Python — основной язык
FastAPI — веб-сервер
FAISS — векторный индекс
Sentence Transformers — эмбеддинги
GigaChat — генерация ответов
python-docx — парсинг DOCX

Структура документа

Руководство пользователя включает 29 глав, охватывающих полный цикл работы:

Регистрация и авторизация
Настройки системы
Нормативно-справочная информация
Бюджет организации
Формирование комиссии
Планирование закупок
Заявки на закупку
Извещения о закупках
Работа с контрактами
Статистические отчёты

API

Доступные эндпоинты:

GET /health — проверка работоспособности
POST /query — запрос к документу
GET /stats — статистика индекса
POST /index — переиндексация
GET /images/{path} — изображение