forked from zovos/vk_hackathon
Both services are now single-file (main.py only), exactly matching the Lotus solution structure that passes the test stand: - index: char-based sliding window chunking (256/128), is_system+is_hidden filter, render_message consistent with Lotus, UVICORN_WORKERS=8 - search: validate_required_env at module level, embed_dense_batch for HyDE, 429 retry on reranker, RRF fusion without per-query filter - Dockerfiles: COPY main.py . (no extra modules to import) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
595 B
Docker
24 lines
595 B
Docker
FROM python:3.13-slim
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY main.py .
|
|
|
|
ENV HOST=0.0.0.0
|
|
ENV PORT=8000
|
|
ENV QDRANT_COLLECTION_NAME=evaluation
|
|
ENV QDRANT_DENSE_VECTOR_NAME=dense
|
|
ENV QDRANT_SPARSE_VECTOR_NAME=sparse
|
|
ENV EMBEDDINGS_DENSE_MODEL=Qwen/Qwen3-Embedding-0.6B
|
|
ENV FASTEMBED_CACHE_PATH=/models/fastembed
|
|
ENV HF_HOME=/models/huggingface
|
|
|
|
RUN mkdir -p /models/fastembed /models/huggingface
|
|
RUN python -c "from fastembed import SparseTextEmbedding; SparseTextEmbedding(model_name='Qdrant/bm25')"
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["python", "main.py"]
|