Quickstart¶
Environment¶
mamba env create -f environment.yml
mamba activate cae-copilot
pdm install
pdm install -G eval
Rocky manuals (local)¶
cp data/cae/ansys_rocky/v26r1/docs/manifest.example.yaml \
data/cae/ansys_rocky/v26r1/docs/manifest.yaml
# Place Rocky v26r1 PDFs in the same directory (not committed to git).
Local stack (Docker)¶
cp .env.example .env
make dev-stack
make ingest
make smoke
make dev-stack-down
| URL | Service |
|---|---|
| http://localhost:8000/docs | FastAPI |
| http://localhost:8501 | Streamlit UI |
| http://localhost:6333 | Qdrant REST |
Host API smoke¶
pdm run test
pdm run api
curl -X POST http://localhost:8000/ask \
-H "Content-Type: application/json" \
-d '{"user_query":"What coupling modes does Rocky support with Fluent?"}'
LLM (optional)¶
Without an API key the graph still runs: keyword intent classification, in-memory RAG demo chunks, regex tool dispatch, and deterministic report fallbacks. CI and portfolio smoke tests rely on this path.
export CAEC_LLM_API_KEY=your-key
export CAEC_LLM_PROVIDER=openrouter
Intent rules also match common Russian phrasing (e.g. «как настроить», «скрипт»).
Troubleshooting¶
| Symptom | Likely cause | Fix |
|---|---|---|
| Empty citations / generic answers | Qdrant empty or CAEC_QDRANT_URL unset |
make ingest; check curl localhost:8000/kb/stats |
503 on /ask |
Demo kill switch | Set CAEC_DEMO_ENABLED=true |
| Embedding errors in prod | Stale API image without baked model | Rebuild image-api; see deployment |
| LLM connection errors | Missing or invalid API key | Optional for offline mode; set CAEC_LLM_API_KEY for live synthesis |