- Python 64.3%
- TypeScript 33.4%
- Nix 1.1%
- JavaScript 0.5%
- CSS 0.3%
- Other 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
CI / Lint and test (push) Successful in 5m42s
|
||
| .github/workflows | ||
| docs | ||
| media/screenshots | ||
| services | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| docker-compose.yaml | ||
| init.sql | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Фабрика гипотез
Интеллектуальный инструмент для генерации и приоритизации научно-технологических гипотез в НИИ и промышленных лабораториях.
Скриншоты
Скриншоты интерфейса размещаются в папке media/screenshots/.
Авторизация
Чат
Гипотеза
Граф знаний
Архитектура
Проект представляет собой монорепозиторий на uv с несколькими сервисами:
services/api_gateway— HTTP API для пользователей (FastAPI): аутентификация, сессии, загрузка файлов, запуск задач.services/ml_worker— фоновый ML/Celery worker: ingestion документов, NER, RAG, генерация и ревью гипотез.services/frontend— веб-интерфейс (React + Vite).
Инфраструктура поднимается через docker-compose.yaml:
- PostgreSQL — пользователи, сессии, сообщения, результаты.
- Redis — брокер Celery.
- ChromaDB — векторное хранилище.
Быстрый старт
- Скопируйте
.env.exampleв.envи заполните обязательные переменные:
cp .env.example .env
Обязательно задайте:
YANDEX_API_KEY— ключ доступа к Yandex AI Studio.YANDEX_FOLDER_ID— идентификатор каталога Yandex Cloud.
Остальные переменные заполнены разумными значениями по умолчанию.
- Запустите инфраструктуру и сервисы:
docker compose up -d
- Создайте первого администратора:
uv run --package api-gateway python scripts/create_admin.py admin <password>
Или внутри запущенного контейнера:
docker compose exec api_gateway /app/.venv/bin/python /app/scripts/create_admin.py admin <password>
- Откройте веб-интерфейс:
- Frontend:
http://localhost:4173 - API Gateway:
http://localhost:8000 - Документация API:
http://localhost:8000/docs
По умолчанию frontend в Docker обращается к API по относительному пути /api/v1, что позволяет использовать один домен с nginx. Для локальной разработки вне Docker можно переопределить адрес:
VITE_API_BASE_URL=http://localhost:8000/api/v1 npm run dev
Локальная разработка
Проект использует uv для управления зависимостями. Чтобы установить все
необходимые dev-зависимости (линтеры, форматеры, pre-commit), выполните:
uv sync --group dev
После этого инструменты ruff, mdformat и pre-commit станут доступны в
окружении проекта.
Pre-commit
Хуки настраиваются через .pre-commit-config.yaml и используют локальные
утилиты из dev-зависимостей. Для установки хуков выполните:
pre-commit install
# Или через uv
uv run pre-commit install
Чтобы проверить все файлы вручную до коммита:
pre-commit run --all-files
# Или через uv
uv run pre-commit run --all-files
Хуки будут запускаться автоматически при каждом git commit.
Переменные окружения
Основные переменные описаны в .env.example:
POSTGRES_*— подключение к PostgreSQL.POSTGRES_DSN/DATABASE_URL— DSN для ML Worker и API Gateway.CELERY_BROKER_URL,CELERY_RESULT_BACKEND— подключение к Redis.CHROMA_HOST,CHROMA_PORT— подключение к ChromaDB.SECRET_KEY— ключ для подписи JWT.YANDEX_API_KEY,YANDEX_FOLDER_ID— доступ к Yandex AI Studio.YANDEX_EMBED_MODEL,YANDEX_LLM_MODEL— модели для эмбеддингов и генерации.YANDEX_LLM_TEMPERATURE,YANDEX_LLM_MAX_TOKENS— параметры генерации.NER_MODEL_NAME,HF_TOKEN— модель GLiNER и токен HuggingFace.API_GATEWAY_PORT,FRONTEND_PORT— внешние порты сервисов.UPLOAD_DIR— директория для загружаемых файлов.REPORT_DIR— директория для отчётов ML worker.
Статус реализации
Реализовано:
- Приём и предобработка документов (PDF, Excel, Word, Markdown, TXT, базы данных).
- Извлечение сущностей и связей (NER), построение графа знаний.
- Генерация и ревью гипотез с обоснованием, оценкой новизны, рисков и ценности.
- Валидация сгенерированных гипотез с возможностью fallback на экспертную проверку.
- Ранжирование по настраиваемым весам критериев.
- Сессионная модель: чат-проект с сохранением ограничений, весов, истории сообщений и результатов.
- Итеративное улучшение гипотез на основе предыдущих результатов (
previous_hypothesis,previous_review) и RAG-истории. - Формирование JSON/HTML отчётов по каждому сообщению.
- Docker Compose развёртывание всех сервисов.
Ещё не реализовано:
- Визуальный конструктор дорожных карт проверки гипотез с оценкой ресурсов и сроков.
- Явный механизм обучения на фидбэке эксперта (подтверждено/опровергнуто). Обратная связь учитывается косвенно через
previous_reviewи RAG-историю, но в схеме БД нет отдельного статуса верификации гипотезы.



