Обзор системы¶
Назначение¶
Платформа предназначена для автоматизированной генерации и редактирования технических заданий (ТЗ) с использованием больших языковых моделей (LLM). Система позволяет:
- генерировать структурированные ТЗ на основе пользовательского описания;
- классифицировать товары и услуги по ОКПД2 с помощью векторного поиска;
- автоматически подбирать характеристики продукции и нормативные документы (ГОСТ);
- редактировать отдельные ячейки и таблицы характеристик с помощью LLM;
- инкрементально обновлять документ при изменении отдельных параметров;
- вести интерактивный диалог с AI-агентом в контексте текущего документа.
Технологический стек¶
| Компонент | Технологии |
|---|---|
| Backend | Python 3.12, FastAPI 0.115, Uvicorn (4 воркера), Pydantic 2.11 |
| Frontend | React 18.3, TypeScript 5.8, Vite 6.3, Ant Design 5.25, MobX |
| LLM-интеграция | OpenAI API (gpt-4.1, gpt-4.1-mini, gpt-5.1), LangChain, LangGraph, LangSmith |
| Векторная БД | Qdrant 1.15 (гибридный поиск: embeddings + BM25) |
| Кэширование | Redis 7 (прогресс задач, кэш подсказок, дедупликация) |
| Мониторинг | Prometheus, VictoriaMetrics, Grafana, Victoria Logs, Vector |
| Reverse Proxy | Traefik (TLS-терминация, маршрутизация) |
| CI/CD | GitLab CI (lint, test, build, deploy) |
| Контейнеризация | Docker, Docker Compose |
Ключевые характеристики¶
- Асинхронная обработка — длительные операции генерации выполняются в фоновом режиме с отслеживанием прогресса через Redis.
- Отказоустойчивость — экспоненциальный backoff при обращении к LLM (до 5 попыток), fallback-модели при недоступности основной.
- Контроль параллелизма — ограничение одновременных запросов к OpenAI через
asyncio.Semaphore(по умолчанию 12). - Гибридный поиск — комбинация векторных эмбеддингов (text-embedding-3-large) и BM25 для классификации ОКПД2.
- Мультипроцессный Prometheus — корректный сбор метрик при нескольких воркерах Uvicorn.