Команда 10 из 10 | AI Business SPB Hackathon 2026
LLM-чатбот для сервис-деска ООО «ТД Балтийский Берег». Анализирует 104 000 исторических тикетов и 1 000 KB-статей из MSSQL-базы IntraService, отвечает на вопросы сотрудников.
┌─────────────┐ ┌──────────────────────┐ ┌──────────────┐
│ Frontend │────▶│ FastAPI + RAGU │────▶│ MSSQL │
│ ($mol) │ │ GraphRAG engine │ │ 104K tickets│
│ :9081 │ │ :8100 │ │ 1K KB docs │
└─────────────┘ └──────────────────────┘ └──────────────┘
3 Docker-сервиса:
mssql— Azure SQL Edge, восстановление дампаcleaned.bakapi— FastAPI + RAGU (Knowledge Graph + Vector Search), локальный embedder (sentence-transformers)web— $mol фронтенд, брендированный чат
ETL-пайплайн: при первом запуске entrypoint.sh автоматически восстанавливает БД из бэкапа, извлекает тикеты и KB-статьи, строит Knowledge Graph и векторный индекс.
curl -H "X-API-Key: YOUR_API_KEY" \
https://data.ai-business-spb.ru/data/baltiyskiy-bereg/cleaned.bak \
-o задание/cleaned.bakcp .env.example .env
# Укажите ваш API-ключ GitHub Models (или другой OpenAI-совместимый провайдер)Пример .env:
LLM_API_KEY=github_pat_...
LLM_BASE_URL=https://models.github.ai/inference
LLM_MODEL=openai/gpt-4.1-mini
LLM_RPM=10
RAGU_STORAGE=ragu_data
Embedder локальный (sentence-transformers intfloat/multilingual-e5-small), API-ключ для эмбеддингов не нужен.
docker compose up -dПервый запуск займёт ~5-10 минут (восстановление БД + ETL + построение графа знаний).
- Чат: http://localhost:9081/bog/RAGU/front/app/-/test.html
- API статус: http://localhost:8100/api/status
- API запрос:
POST http://localhost:8100/api/queryс{"query": "не подключается удалёнка", "engine": "naive"}
├── server/
│ ├── main.py # FastAPI: /api/query, /api/index, /api/config
│ └── entrypoint.sh # Авто-восстановление БД + ETL при старте
├── etl/
│ ├── extract_and_index.py # Извлечение из MSSQL → RAGU Knowledge Graph
│ └── local_embedder.py # Локальный embedder (sentence-transformers)
├── front/app/
│ ├── app.view.tree # UI-дерево ($mol)
│ ├── app.view.ts # Логика чата
│ └── app.view.css.ts # Стили
├── ragu/ # RAGU — GraphRAG библиотека
├── docker-compose.yml # 3 сервиса: mssql, api, web
├── Dockerfile # Multi-stage: frontend + api
└── задание/ # Дамп БД и описание кейса
| Таблица | Назначение |
|---|---|
Task |
~104 000 тикетов: Name, Description, Comment (HTML Q&A thread) |
KBDocument |
~1 000 KB-статей: Name, Description (HTML) |
Service, TaskType, Status, Priority |
Lookup-таблицы |
- RAGU — GraphRAG (Knowledge Graph + Vector Search)
- sentence-transformers — локальные эмбеддинги (
intfloat/multilingual-e5-small, dim=384) - FastAPI — API-сервер
- $mol — реактивный фронтенд
- Azure SQL Edge — MSSQL-совместимая БД (ARM64/x64)
- GitHub Models / OpenAI API — LLM для генерации ответов