Files
lgcosta 8eeb6b89f4 fix: responder a partir dos livros com embeddings em português
Usa o modelo multilingual, ignora trechos curtos e o template do Llama 3.2
para a resposta sair em uma frase completa. O chat deixa a API livre durante
a geração, o upload indexa o PDF e os agendamentos não são gravados duas vezes.
2026-11-01 12:34:54 -03:00

97 lines
2.6 KiB
YAML

services:
qdrant:
image: docker.io/qdrant/qdrant:latest
container_name: espiritismo-qdrant
ports:
- "6333:6333"
volumes:
- qdrant_data:/qdrant/storage
restart: unless-stopped
redis:
image: docker.io/library/redis:7-alpine
container_name: espiritismo-redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
restart: unless-stopped
web:
build:
context: .
dockerfile: backend/Dockerfile
container_name: espiritismo-web
ports:
- "8000:8000"
volumes:
- ./PDF:/app/books:ro
- uploads_data:/app/uploads
- ./data/schedules.json:/app/schedules.json
- ./backend/models:/app/models
environment:
QDRANT_URL: http://qdrant:6333
CELERY_BROKER_URL: redis://redis:6379/0
CELERY_RESULT_BACKEND: redis://redis:6379/0
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
GPT4ALL_MODEL: /app/models/llama-3.2-3b-instruct-q4_0.gguf
BOOKS_DIR: /app/books
UPLOAD_DIR: /app/uploads
SCHEDULES_PATH: /app/schedules.json
TZ: America/Sao_Paulo
depends_on:
- qdrant
- redis
restart: unless-stopped
celery:
build:
context: .
dockerfile: backend/Dockerfile
container_name: espiritismo-celery
command: celery -A app.tasks.celery_tasks worker --loglevel=info
volumes:
- ./PDF:/app/books:ro
- uploads_data:/app/uploads
- ./data/schedules.json:/app/schedules.json
- ./backend/models:/app/models
environment:
QDRANT_URL: http://qdrant:6333
CELERY_BROKER_URL: redis://redis:6379/0
CELERY_RESULT_BACKEND: redis://redis:6379/0
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
GPT4ALL_MODEL: /app/models/llama-3.2-3b-instruct-q4_0.gguf
BOOKS_DIR: /app/books
UPLOAD_DIR: /app/uploads
SCHEDULES_PATH: /app/schedules.json
TZ: America/Sao_Paulo
depends_on:
- qdrant
- redis
restart: unless-stopped
celery-beat:
build:
context: .
dockerfile: backend/Dockerfile
command: celery -A app.tasks.celery_tasks beat --loglevel=info
volumes:
- ./data/schedules.json:/app/schedules.json
environment:
CELERY_BROKER_URL: redis://redis:6379/0
CELERY_RESULT_BACKEND: redis://redis:6379/0
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
SCHEDULES_PATH: /app/schedules.json
TZ: America/Sao_Paulo
depends_on:
- redis
restart: unless-stopped
volumes:
qdrant_data:
redis_data:
uploads_data: