feat: Спринт 1 — RAG-ядро, загрузка wiki и Debug UI
FastAPI + ChromaDB + E5-large + DeepSeek по паттерну work-pcs-dr-cdss, адаптированному под пациентский контекст: - services: embeddings (E5-large с префиксами), vectorstore (коллекция operators_wiki), document_processor (PDF/DOCX/TXT/MD + чанкер с FAQ- паттерном под wiki), llm_client (системный промпт ассистента клиники), rag_pipeline (одиночный вопрос → retrieval → ответ). - routers: /health, /documents (upload, list, chunks, delete), /query. - static/index.html: шапка со статусом, блок базы знаний с раскрытием чанков по клику, блок тест-вопроса с 3-колоночным ответом (чанки со score / собранный промпт / ответ LLM). - Порт 8003 (8001 занят CDSS, 8002 — voicenote). E2E проверен: загрузка wiki_test.md → 2 чанка, вопрос «как записать ребёнка к лору?» → top score 84.8%, корректный ответ DeepSeek. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
services:
|
||||
rag-service:
|
||||
build: .
|
||||
ports:
|
||||
- "8003:8003"
|
||||
volumes:
|
||||
- chroma_data:/app/data
|
||||
- embedding_cache:/root/.cache
|
||||
environment:
|
||||
CHROMA_PERSIST_DIR: /app/data/chroma
|
||||
EMBEDDING_MODEL: intfloat/multilingual-e5-large
|
||||
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}
|
||||
DEEPSEEK_MODEL: ${DEEPSEEK_MODEL:-deepseek-chat}
|
||||
LOG_LEVEL: ${LOG_LEVEL:-info}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -sf http://localhost:8003/health || exit 1"]
|
||||
interval: 15s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
start_period: 180s
|
||||
|
||||
volumes:
|
||||
chroma_data:
|
||||
embedding_cache:
|
||||
Reference in New Issue
Block a user