2026-05-29 07:16:02 +00:00
|
|
|
|
# Конфигурация пайплайна транскрибации совещаний
|
|
|
|
|
|
|
|
|
|
|
|
# Профили оборудования
|
|
|
|
|
|
profiles:
|
|
|
|
|
|
# Текущий: MacBook Air M4, 16GB RAM
|
|
|
|
|
|
mac_m4:
|
|
|
|
|
|
device: cpu # MPS на Mac может быть медленнее/багован; CPU + int8 стабильнее
|
|
|
|
|
|
compute_type: int8
|
2026-05-29 09:42:07 +00:00
|
|
|
|
batch_size: 2 # Оптимум для CPU (1.2-1.3x быстрее, RAM ~4.5 GB)
|
2026-05-29 07:16:02 +00:00
|
|
|
|
model: large-v3
|
|
|
|
|
|
language: ru
|
|
|
|
|
|
diarize: true
|
|
|
|
|
|
|
|
|
|
|
|
# Будущий: GPU с 8GB VRAM
|
|
|
|
|
|
gpu_8gb:
|
|
|
|
|
|
device: cuda
|
|
|
|
|
|
compute_type: float16 # или int8 если не хватает памяти
|
|
|
|
|
|
batch_size: 1 # large-v3 + alignment + diarization в ~8GB
|
|
|
|
|
|
model: large-v3
|
|
|
|
|
|
language: ru
|
|
|
|
|
|
diarize: true
|
|
|
|
|
|
|
|
|
|
|
|
# Универсальный CPU (без GPU)
|
|
|
|
|
|
cpu_best:
|
|
|
|
|
|
device: cpu
|
|
|
|
|
|
compute_type: int8
|
|
|
|
|
|
batch_size: 1
|
|
|
|
|
|
model: large-v3
|
|
|
|
|
|
language: ru
|
|
|
|
|
|
diarize: true
|
|
|
|
|
|
|
|
|
|
|
|
# Активный профиль (можно переопределить через CLI: --profile gpu_8gb)
|
|
|
|
|
|
active_profile: mac_m4
|
|
|
|
|
|
|
|
|
|
|
|
# Настройки диаризации
|
|
|
|
|
|
hf_token: null # HuggingFace токен для pyannote. Установите через env: HF_TOKEN
|
|
|
|
|
|
|
|
|
|
|
|
# Настройки выходного документа
|
|
|
|
|
|
output:
|
2026-05-29 08:39:13 +00:00
|
|
|
|
formats: [docx, md] # Список форматов: docx, md, txt. Можно указать один или несколько.
|
2026-05-29 07:16:02 +00:00
|
|
|
|
include_timestamps: true
|
|
|
|
|
|
speaker_label_style: name # name | id | none
|
|
|
|
|
|
paragraph_pause_sec: 2.0 # новый абзац, если пауза > N секунд
|
|
|
|
|
|
|
Replace LightRAG with native Python RAG engine + add deploy tooling
- New: src/rag/engine/ — in-process hybrid search (FTS5 BM25 + sqlite-vec + LLM rerank)
- New: src/rag/qmd/ — compatibility layer (qmd_query, qmd_chat, qmd_chat_stream, qmd_index_*)
- New: src/ingest/stub_writer.py — .md stubs for binary files (videos, archives)
- New: scripts/deploy.sh + scripts/pull_models.sh + Makefile + .env.example
- Removed: LightRAG, sentence-transformers embedding via separate package, rag_standalone/
- Removed: @nousresearch/qmd npm dep (package not published); Node.js from Dockerfile
- Updated: tests/ (46 passed), docker-compose, .dockerignore, config.yaml, README
Engine: in-process Python (no daemon, no npm), sentence-transformers 384-dim,
RRF fusion (k=60), BM25 + vector with numpy fallback. WebSocket API unchanged.
Deploy: 'git clone' + 'make init' + 'make pull-models MODELS_SOURCE=...' + 'make up'.
Models (5.83 GB) live outside git; pulled via rsync from dev host.
2026-06-10 11:24:01 +00:00
|
|
|
|
# Настройки RAG (native Python engine: BM25/FTS5 + sqlite-vec + LLM rerank)
|
|
|
|
|
|
# Движок работает in-process; внешние сервисы не требуются.
|
2026-06-01 14:40:58 +00:00
|
|
|
|
rag:
|
|
|
|
|
|
enabled: true
|
|
|
|
|
|
auto_index: true
|
|
|
|
|
|
sections:
|
|
|
|
|
|
- Планировка
|
|
|
|
|
|
- Конструкции
|
|
|
|
|
|
- MEP
|
|
|
|
|
|
- Отделка
|
|
|
|
|
|
- Общие вопросы
|
|
|
|
|
|
- Согласование
|
|
|
|
|
|
- Контроль качества
|
Replace LightRAG with native Python RAG engine + add deploy tooling
- New: src/rag/engine/ — in-process hybrid search (FTS5 BM25 + sqlite-vec + LLM rerank)
- New: src/rag/qmd/ — compatibility layer (qmd_query, qmd_chat, qmd_chat_stream, qmd_index_*)
- New: src/ingest/stub_writer.py — .md stubs for binary files (videos, archives)
- New: scripts/deploy.sh + scripts/pull_models.sh + Makefile + .env.example
- Removed: LightRAG, sentence-transformers embedding via separate package, rag_standalone/
- Removed: @nousresearch/qmd npm dep (package not published); Node.js from Dockerfile
- Updated: tests/ (46 passed), docker-compose, .dockerignore, config.yaml, README
Engine: in-process Python (no daemon, no npm), sentence-transformers 384-dim,
RRF fusion (k=60), BM25 + vector with numpy fallback. WebSocket API unchanged.
Deploy: 'git clone' + 'make init' + 'make pull-models MODELS_SOURCE=...' + 'make up'.
Models (5.83 GB) live outside git; pulled via rsync from dev host.
2026-06-10 11:24:01 +00:00
|
|
|
|
|
|
|
|
|
|
# Native RAG engine (in-process, без демонов)
|
|
|
|
|
|
qmd_collection_root: ./processed # ENV override: QMD_COLLECTION_ROOT
|
|
|
|
|
|
qmd_use_rerank: true # LLM-реранкер (2-3 сек warm)
|
|
|
|
|
|
embed_model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 # ENV: RAG_EMBED_MODEL
|
|
|
|
|
|
|
|
|
|
|
|
# OpenCode LLM (чат-генерация ответов поверх найденного контекста)
|
2026-06-01 14:40:58 +00:00
|
|
|
|
chat_backend: opencode
|
|
|
|
|
|
chat_model: deepseek-v4-flash-free
|
Replace LightRAG with native Python RAG engine + add deploy tooling
- New: src/rag/engine/ — in-process hybrid search (FTS5 BM25 + sqlite-vec + LLM rerank)
- New: src/rag/qmd/ — compatibility layer (qmd_query, qmd_chat, qmd_chat_stream, qmd_index_*)
- New: src/ingest/stub_writer.py — .md stubs for binary files (videos, archives)
- New: scripts/deploy.sh + scripts/pull_models.sh + Makefile + .env.example
- Removed: LightRAG, sentence-transformers embedding via separate package, rag_standalone/
- Removed: @nousresearch/qmd npm dep (package not published); Node.js from Dockerfile
- Updated: tests/ (46 passed), docker-compose, .dockerignore, config.yaml, README
Engine: in-process Python (no daemon, no npm), sentence-transformers 384-dim,
RRF fusion (k=60), BM25 + vector with numpy fallback. WebSocket API unchanged.
Deploy: 'git clone' + 'make init' + 'make pull-models MODELS_SOURCE=...' + 'make up'.
Models (5.83 GB) live outside git; pulled via rsync from dev host.
2026-06-10 11:24:01 +00:00
|
|
|
|
chat_max_tokens: 8192
|
|
|
|
|
|
opencode_api_key: "sk-4jJBUMS7WJyBOtZZAexsSy6aT4NKOYp2gA19WLlaux8jHMw0HvyCl1V45Jf8SONz" # Или через env: OPENCODE_API_KEY
|
|
|
|
|
|
opencode_url: "https://opencode.ai/zen/v1"
|
|
|
|
|
|
|
|
|
|
|
|
# Классификация и summary (metadata layer, поверх движка)
|
2026-06-01 14:40:58 +00:00
|
|
|
|
summary_auto: true
|
|
|
|
|
|
summary_model: deepseek-v4-flash-free
|
|
|
|
|
|
summary_chunk_size: 10000
|
|
|
|
|
|
classify_chunk_size: 7000
|
Replace LightRAG with native Python RAG engine + add deploy tooling
- New: src/rag/engine/ — in-process hybrid search (FTS5 BM25 + sqlite-vec + LLM rerank)
- New: src/rag/qmd/ — compatibility layer (qmd_query, qmd_chat, qmd_chat_stream, qmd_index_*)
- New: src/ingest/stub_writer.py — .md stubs for binary files (videos, archives)
- New: scripts/deploy.sh + scripts/pull_models.sh + Makefile + .env.example
- Removed: LightRAG, sentence-transformers embedding via separate package, rag_standalone/
- Removed: @nousresearch/qmd npm dep (package not published); Node.js from Dockerfile
- Updated: tests/ (46 passed), docker-compose, .dockerignore, config.yaml, README
Engine: in-process Python (no daemon, no npm), sentence-transformers 384-dim,
RRF fusion (k=60), BM25 + vector with numpy fallback. WebSocket API unchanged.
Deploy: 'git clone' + 'make init' + 'make pull-models MODELS_SOURCE=...' + 'make up'.
Models (5.83 GB) live outside git; pulled via rsync from dev host.
2026-06-10 11:24:01 +00:00
|
|
|
|
classify_model: mimo-v2.5-free
|
|
|
|
|
|
index_model: mimo-v2.5-free # legacy alias, используется в legacy-классификации
|
2026-06-01 14:40:58 +00:00
|
|
|
|
|
|
|
|
|
|
# Очередь обработки
|
|
|
|
|
|
queue:
|
|
|
|
|
|
transcribe_workers: 2
|
|
|
|
|
|
postprocess_workers: 1
|
2026-06-01 16:16:23 +00:00
|
|
|
|
ingest_workers: 1
|
|
|
|
|
|
|
|
|
|
|
|
# Ingest документов (MD, PDF, DOCX, XLSX, TXT)
|
|
|
|
|
|
ingest:
|
|
|
|
|
|
auto_classify: true
|
|
|
|
|
|
pdf_ocr: true
|
|
|
|
|
|
doc_types:
|
|
|
|
|
|
- meeting
|
|
|
|
|
|
- specification
|
|
|
|
|
|
- estimate
|
|
|
|
|
|
- contract
|
|
|
|
|
|
- report
|
|
|
|
|
|
- correspondence
|
|
|
|
|
|
- other
|
2026-06-01 14:40:58 +00:00
|
|
|
|
|
2026-06-01 15:54:25 +00:00
|
|
|
|
# Авторизация и multi-tenant (org + projects)
|
|
|
|
|
|
auth:
|
|
|
|
|
|
jwt_secret: "" # Обязательно задайте JWT_SECRET в .env для production
|
|
|
|
|
|
jwt_expire_hours: 168
|
|
|
|
|
|
database_path: ./data/transcriba.db
|
|
|
|
|
|
bootstrap:
|
|
|
|
|
|
org_slug: merakom
|
|
|
|
|
|
org_name: "МЕРАКОМ"
|
|
|
|
|
|
admin_username: admin
|
|
|
|
|
|
admin_password: "admin123" # Смените после первого входа; или AUTH_ADMIN_PASSWORD в .env
|
|
|
|
|
|
default_projects:
|
|
|
|
|
|
- slug: "2026"
|
|
|
|
|
|
name: "2026"
|
|
|
|
|
|
- slug: "gp-merakom"
|
|
|
|
|
|
name: "ГП МЕРАКОМ"
|
|
|
|
|
|
|
2026-05-29 07:16:02 +00:00
|
|
|
|
# Пути
|
|
|
|
|
|
paths:
|
|
|
|
|
|
output_dir: ./output
|
|
|
|
|
|
temp_dir: ./tmp
|