- Add LLMProvider registry (llm/registry.py) that builds a provider from env vars (LLM_PROVIDER, GEMINI_API_KEY, GEMINI_MODEL) - Add GeminiLLMProvider using the google-genai SDK - Wire build_llm_provider() into CLI and web pipeline route (replacing llm=None) - Wrap pass 2 and pass 4 LLM calls in per-combo try/except so API errors skip individual combos rather than aborting the whole run - Add gemini optional dep to pyproject.toml; Dockerfile installs [web,gemini] - Document env vars in .env.example and README - Lower requires-python to >=3.10 to match installed system Python Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
43 lines
1.0 KiB
YAML
43 lines
1.0 KiB
YAML
services:
|
|
web:
|
|
build: .
|
|
ports:
|
|
- "5000:5000"
|
|
volumes:
|
|
- physcom-data:/app/data
|
|
environment:
|
|
- PHYSCOM_DB=/app/data/physcom.db
|
|
- FLASK_SECRET_KEY=${FLASK_SECRET_KEY:-}
|
|
- LLM_PROVIDER=${LLM_PROVIDER:-}
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
|
|
- GEMINI_MODEL=${GEMINI_MODEL:-gemini-2.0-flash}
|
|
restart: unless-stopped
|
|
expose:
|
|
- 5000
|
|
|
|
cli:
|
|
build: .
|
|
volumes:
|
|
- physcom-data:/app/data
|
|
environment:
|
|
- PHYSCOM_DB=/app/data/physcom.db
|
|
- LLM_PROVIDER=${LLM_PROVIDER:-}
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
|
|
- GEMINI_MODEL=${GEMINI_MODEL:-gemini-2.0-flash}
|
|
entrypoint: ["python", "-m", "physcom"]
|
|
profiles: [cli]
|
|
|
|
# Future: replace SQLite with a dedicated DB service
|
|
# db:
|
|
# image: postgres:16
|
|
# volumes:
|
|
# - pgdata:/var/lib/postgresql/data
|
|
# environment:
|
|
# - POSTGRES_DB=physcom
|
|
# - POSTGRES_USER=physcom
|
|
# - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
|
|
volumes:
|
|
physcom-data:
|
|
# pgdata:
|