| # ParaPilot configuration — ALL values are optional. | |
| # With no .env at all, ParaPilot runs fully offline on the deterministic STUB provider. | |
| # ---- LLM provider -------------------------------------------------------- | |
| # Provider used to compose grounded answers from retrieved chunks. | |
| # stub -> deterministic, offline, extractive (DEFAULT; no key needed) | |
| # anthropic -> uses ANTHROPIC_API_KEY (falls back to stub if missing) | |
| # openai -> uses OPENAI_API_KEY (falls back to stub if missing) | |
| PARAPILOT_PROVIDER=stub | |
| # ANTHROPIC_API_KEY=sk-ant-... | |
| # PARAPILOT_ANTHROPIC_MODEL=claude-3-5-haiku-latest | |
| # OPENAI_API_KEY=sk-... | |
| # PARAPILOT_OPENAI_MODEL=gpt-4o-mini | |
| # ---- Retrieval / generation --------------------------------------------- | |
| # Minimum retrieval confidence (0..1). Below this, ParaPilot refuses and escalates. | |
| PARAPILOT_CONFIDENCE_THRESHOLD=0.12 | |
| # Number of chunks to retrieve for an answer. | |
| PARAPILOT_TOP_K=4 | |
| # ---- Storage ------------------------------------------------------------- | |
| # SQLite database for saved progress / matters. | |
| PARAPILOT_DB_URL=sqlite:///./parapilot.db | |
| # Path to the offline seed corpus directory. | |
| PARAPILOT_CORPUS_DIR=data/corpus | |
| # ---- Optional: case law (OFF by default) -------------------------------- | |
| # CourtListener is pluggable and disabled by default; the app is complete without it. | |
| PARAPILOT_ENABLE_CASELAW=false | |
| # COURTLISTENER_API_TOKEN= | |