Repository navigation
Expand file tree
/
Copy pathquerion.example.yaml
More file actions
47 lines (41 loc) · 1.77 KB
/
Copy pathquerion.example.yaml
File metadata and controls
47 lines (41 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Querion configuration. Copy to querion.yaml and edit.
# Any ${VAR} is read from the environment (or a .env file), so secrets never
# live in this file.
company: "Acme Inc"
# Claude Code CLI model alias. Opus is recommended for the deepest reasoning.
model: opus
# claude_bin: /usr/local/bin/claude # only if `claude` is not on PATH
database:
# Point this at a READ-ONLY Postgres role. Querion enforces read-only on top.
dsn: ${QUERION_DATABASE_DSN}
statement_timeout_ms: 15000
row_cap: 500
# Optional: a curated schema markdown file. If omitted, Querion introspects
# the live database (read-only) on startup.
# schema_doc: docs/schema.md
# Read-only HTTP APIs the analyst may GET from. Add one block per platform.
# Just add the key/secret to the environment and describe the API in `docs`.
sources:
- name: example
base_url: https://api.example.com
# "Header-Name: value"; the value may interpolate a secret.
auth_header: "Authorization: Bearer ${EXAMPLE_API_KEY}"
# STRONGLY recommended: list the read endpoints you allow. If set, only
# matching paths are permitted (default-deny). This is how you stay
# read-only on APIs that expose state-changing operations over GET.
safe_get:
- ^/v1/customers
- ^/v1/orders
- ^/v1/invoices
docs: docs/sources/example.md
timeout: 25
limits:
daily_per_user: 50 # 0 = unlimited
max_steps: 7 # max reasoning steps per question
max_directives_per_step: 4 # parallel independent reads per step
# Optional semantic layer maintained by Trove (github.com/anishfyi/trove).
# Trove builds a file-based semantic layer as you work; Querion folds it in so
# it understands your metric definitions and domain vocabulary.
trove:
enabled: false
layer_path: .trove/semantic.md