Сервис отвечает на вопросы по загруженному .docx документу.
POST /files- загрузка и индексация документа.POST /questions- постановка вопроса, возвратquestion_id.GET /questions/{question_id}- статус обработки и финальный ответ.GET /ui- встроенный интерфейс для ручной проверки.
- FastAPI
- LangChain
- Ollama (
qwen3:4b+nomic-embed-text) - Chroma
- BM25 + векторный retrieval через
EnsembleRetriever
docker compose up --buildПосле старта:
- API:
http://localhost:8000 - Swagger:
http://localhost:8000/docs - UI:
http://localhost:8000/ui
- Загрузка файла:
curl -X POST "http://localhost:8000/files" -F "file=@ADC_8 (1).docx"- Создание вопроса:
curl -X POST "http://localhost:8000/questions" ^
-H "Content-Type: application/json" ^
-d "{\"file_id\":\"<file_id>\",\"question\":\"Укажи предмет договора\"}"- Получение результата:
curl "http://localhost:8000/questions/<question_id>"