| |
| version: '3.8' |
|
|
| services: |
| |
| qdrant: |
| image: qdrant/qdrant:latest |
| container_name: eyewiki-qdrant |
| ports: |
| - "6333:6333" |
| - "6334:6334" |
| volumes: |
| - qdrant_data:/qdrant/storage |
| environment: |
| - QDRANT__SERVICE__GRPC_PORT=6334 |
| networks: |
| - eyewiki-network |
| restart: unless-stopped |
| healthcheck: |
| test: ["CMD", "curl", "-f", "http://localhost:6333/"] |
| interval: 30s |
| timeout: 10s |
| retries: 3 |
| start_period: 40s |
|
|
| |
| eyewiki-rag: |
| build: |
| context: . |
| dockerfile: Dockerfile |
| container_name: eyewiki-rag-api |
| ports: |
| - "8000:8000" |
| volumes: |
| |
| - ./data/raw:/app/data/raw |
| - ./data/processed:/app/data/processed |
| - qdrant_data:/app/data/qdrant |
| |
| - ./prompts:/app/prompts |
| environment: |
| |
| - OLLAMA_BASE_URL=http://host.docker.internal:11434 |
| - LLM_MODEL=mistral |
| - EMBEDDING_MODEL=nomic-embed-text |
| |
| |
| - QDRANT_HOST=qdrant |
| - QDRANT_PORT=6333 |
| - QDRANT_COLLECTION_NAME=eyewiki_rag |
| - QDRANT_PATH=/app/data/qdrant |
| |
| |
| - CHUNK_SIZE=512 |
| - CHUNK_OVERLAP=50 |
| - MAX_CONTEXT_TOKENS=4000 |
| |
| |
| - RETRIEVAL_K=20 |
| - RERANK_K=5 |
| networks: |
| - eyewiki-network |
| depends_on: |
| qdrant: |
| condition: service_healthy |
| restart: unless-stopped |
| healthcheck: |
| test: ["CMD", "curl", "-f", "http://localhost:8000/health"] |
| interval: 30s |
| timeout: 10s |
| retries: 3 |
| start_period: 60s |
|
|
| networks: |
| eyewiki-network: |
| driver: bridge |
|
|
| volumes: |
| qdrant_data: |
| driver: local |
|
|