-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
206 lines (198 loc) · 9.38 KB
/
Copy path.env.example
File metadata and controls
206 lines (198 loc) · 9.38 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# Core indexing + retrieval
KUJO_RAG_INDEX_PATH=./data/rag_index.json
KUJO_RAG_NAMESPACE=default
KUJO_RAG_NAMESPACE_INDEX_ISOLATION=true
KUJO_RAG_VECTOR_BACKEND=local_json
KUJO_RAG_VECTOR_BACKEND_MEMORY_KEY=
KUJO_RAG_VECTOR_BACKEND_QDRANT_URL=
KUJO_RAG_VECTOR_BACKEND_QDRANT_COLLECTION=kujo_rag
KUJO_RAG_VECTOR_BACKEND_QDRANT_API_KEY=
KUJO_RAG_VECTOR_BACKEND_QDRANT_SYNC_ENABLED=false
KUJO_RAG_VECTOR_BACKEND_QDRANT_TIMEOUT_MS=8000
KUJO_RAG_VECTOR_BACKEND_QDRANT_FAIL_OPEN=true
KUJO_RAG_VECTOR_BACKEND_QDRANT_ALLOWED_HOSTS=
KUJO_RAG_VECTOR_BACKEND_QDRANT_MIRROR_PATH=
KUJO_RAG_VECTOR_BACKEND_QDRANT_SYNC_MODE=legacy_replace
KUJO_RAG_VECTOR_BACKEND_QDRANT_ALIAS=
KUJO_RAG_VECTOR_BACKEND_QDRANT_JOURNAL_PATH=
KUJO_RAG_VECTOR_BACKEND_QDRANT_GC_ENABLED=false
KUJO_RAG_VECTOR_BACKEND_QDRANT_GC_GRACE_SEC=86400
KUJO_RAG_VECTOR_BACKEND_QDRANT_GC_MAX_PER_SAVE=1
KUJO_RAG_AT_REST_ENCRYPTION_ENABLED=false
KUJO_RAG_AT_REST_ENCRYPTION_KEY=
KUJO_RAG_AT_REST_ENCRYPTION_KEY_FILE=
KUJO_RAG_AT_REST_ENCRYPTION_OPENSSL_BIN=openssl
KUJO_RAG_EMBEDDING_PROVIDER=hash
KUJO_RAG_EMBEDDING_DIMS=256
KUJO_RAG_CHUNK_STRATEGY=line
KUJO_RAG_CHUNK_SIZE=900
KUJO_RAG_CHUNK_OVERLAP=150
KUJO_RAG_CHUNK_PRESETS_ENABLED=false
# Preserve labelled fenced examples for upstream selection; reingest when enabling.
KUJO_RAG_MARKDOWN_EXAMPLES_ENABLED=false
KUJO_RAG_CHUNK_PRESETS_JSON=
KUJO_RAG_TOP_K=6
KUJO_RAG_HYBRID_ALPHA=0.65
KUJO_RAG_HYBRID_BETA=0.35
KUJO_RAG_RERANK_STRATEGY=none
KUJO_RAG_RERANK_MMR_LAMBDA=0.7
KUJO_RAG_QUERY_EXPANSION=true
KUJO_RAG_MAX_FILE_BYTES=5000000
# API server
KUJO_RAG_API_HOST=127.0.0.1
KUJO_RAG_API_ALLOW_NON_LOOPBACK=false
KUJO_RAG_API_PORT=8787
KUJO_RAG_API_MAX_BODY_BYTES=1048576
KUJO_RAG_API_MAX_QUERY_CHARS=4000
KUJO_RAG_API_GUARDRAIL_QUERY_MAX_COMPLEXITY=18000
KUJO_RAG_API_GUARDRAIL_QUERY_MAX_FILTER_KEYS=32
KUJO_RAG_API_GUARDRAIL_QUERY_MAX_SESSION_CHARS=12000
KUJO_RAG_API_GUARDRAIL_INGEST_MAX_FILES=5000
KUJO_RAG_API_GUARDRAIL_INGEST_MAX_TOTAL_BYTES=50000000
KUJO_RAG_API_CORS_ENABLED=false
KUJO_RAG_API_CORS_ALLOWED_ORIGINS=
KUJO_RAG_API_AUTH_PROVIDER=none
KUJO_RAG_API_BEARER_TOKEN=
KUJO_RAG_API_BEARER_TOKEN_NEXT=
KUJO_RAG_API_BEARER_REVOKED_TOKENS=
KUJO_RAG_API_JWT_ISSUER=
KUJO_RAG_API_JWT_AUDIENCE=
KUJO_RAG_API_JWT_CLOCK_SKEW_SEC=60
KUJO_RAG_API_TRUSTED_PROXY_SECRET=
KUJO_RAG_API_TRUSTED_PROXY_SECRET_HEADER=x-kujo-proxy-secret
KUJO_RAG_API_TRUSTED_PROXY_IPS=127.0.0.1,::1
KUJO_RAG_API_RBAC_ENABLED=false
KUJO_RAG_API_RBAC_DEFAULT_ROLE=reader
KUJO_RAG_API_RBAC_ROLE_HEADER=x-kujo-role
KUJO_RAG_API_RBAC_NAMESPACE_HEADER=x-kujo-namespace
KUJO_RAG_API_RBAC_POLICY_JSON=
KUJO_RAG_API_AUDIT_ENABLED=false
KUJO_RAG_API_AUDIT_PATH=./results/security_audit.log
KUJO_RAG_API_AUDIT_EXTERNAL_SINK_MODE=append_file
KUJO_RAG_API_AUDIT_FAIL_CLOSED=false
KUJO_RAG_API_AUDIT_INTEGRITY_KEY=
KUJO_RAG_API_REDACTION_ENABLED=true
KUJO_RAG_API_REDACTION_MASK=[REDACTED]
KUJO_RAG_API_REDACTION_KEYS=authorization,token,api_key,apikey,secret,password,passphrase,x-api-key,set-cookie,cookie,bearer,openai_api_key
KUJO_RAG_API_REDACTION_VALUES=
KUJO_RAG_API_RATE_LIMIT_WINDOW_SEC=60
KUJO_RAG_API_RATE_LIMIT_MAX_REQUESTS=120
KUJO_RAG_API_RATE_LIMIT_BURST_WINDOW_SEC=5
KUJO_RAG_API_RATE_LIMIT_BURST_MAX_REQUESTS=30
KUJO_RAG_API_RATE_LIMIT_BUCKET_TTL_SEC=300
KUJO_RAG_API_RATE_LIMIT_MAX_KEYS=5000
KUJO_RAG_API_RATE_LIMIT_BACKEND=memory
KUJO_RAG_API_RATE_LIMIT_BACKEND_FILE=./results/rate_limit_state.json
KUJO_RAG_API_TENANT_QUOTA_ENABLED=false
KUJO_RAG_API_TENANT_QUERY_RATE_WINDOW_SEC=60
KUJO_RAG_API_TENANT_QUERY_RATE_MAX_REQUESTS=120
KUJO_RAG_API_TENANT_INGEST_MAX_CHUNKS_PER_REQUEST=50000
KUJO_RAG_API_TENANT_STORAGE_MAX_CHUNKS=200000
KUJO_RAG_API_STARTUP_GRACE_MS=1000
KUJO_RAG_API_READINESS_FORCE_UNREADY=false
KUJO_RAG_API_DRAIN_REJECT_MUTATIONS=true
KUJO_RAG_API_DRAIN_PRE_STOP_MS=5000
KUJO_RAG_API_INGEST_IDEMPOTENCY_ENABLED=true
KUJO_RAG_API_INGEST_IDEMPOTENCY_WINDOW_SEC=900
KUJO_RAG_API_INGEST_IDEMPOTENCY_HEADER=x-idempotency-key
KUJO_RAG_API_INGEST_JOBS_MODE=inline
KUJO_RAG_API_INGEST_WORKER_BATCH_SIZE=1
KUJO_RAG_API_INGEST_WORKER_MAX_RUNNING=1
KUJO_RAG_API_QUERY_CACHE_ENABLED=true
KUJO_RAG_API_QUERY_CACHE_TTL_SEC=300
KUJO_RAG_API_QUERY_CACHE_MAX_ENTRIES=1000
KUJO_RAG_QUERY_SAFE_RESPONSE_ENABLED=true
KUJO_RAG_QUERY_SAFE_RESPONSE_MIN_OVERLAP_RATIO=0.15
KUJO_RAG_QUERY_SAFE_RESPONSE_MESSAGE=I cannot answer safely from the available local context.
KUJO_RAG_QUERY_INTENT_REWRITE_ENABLED=true
KUJO_RAG_QUERY_RETRIEVAL_EXPLANATION_ENABLED=false
KUJO_RAG_RETENTION_POLICY_ENABLED=false
KUJO_RAG_RETENTION_DEFAULT_TTL_DAYS=365
KUJO_RAG_RETENTION_LEGAL_HOLD_ENABLED=true
KUJO_RAG_EMBEDDING_CACHE_ENABLED=true
KUJO_RAG_EMBEDDING_CACHE_MAX_ENTRIES=10000
KUJO_RAG_API_ABUSE_BLOCKLIST_IPS=
KUJO_RAG_API_ANOMALY_HOOK_ENABLED=false
KUJO_RAG_API_ANOMALY_AUTO_BLOCK_ENABLED=false
KUJO_RAG_API_ANOMALY_VIOLATION_THRESHOLD=3
KUJO_RAG_API_ANOMALY_BLOCK_TTL_SEC=900
KUJO_RAG_SESSION_HISTORY_MAX_TURNS=4
KUJO_RAG_API_ACCESS_LOG=true
KUJO_RAG_OTEL_ENABLED=false
KUJO_RAG_OTEL_SERVICE_NAME=kujo-rag
KUJO_RAG_OTEL_OTLP_ENDPOINT=
KUJO_RAG_OTEL_EXPORT_MODE=audit
KUJO_RAG_API_INGEST_ALLOWED_ROOTS=./examples
# Optional strict startup validation (recommended for production)
KUJO_RAG_STRICT_CONFIG=false
KUJO_RAG_ENV=development
# PDF parsing
KUJO_RAG_PDF_EXTRACTOR=pdftotext
KUJO_RAG_PARSER_TIMEOUT_MS=30000
KUJO_RAG_PARSER_SANDBOX_MAX_BYTES=5000000
# Optional AI embedding/chat paths (leave blank for fully offline hash mode)
KUJO_RAG_AI_EMBED_ENDPOINT=
KUJO_RAG_AI_EMBED_MODEL=
KUJO_RAG_CHAT_ENDPOINT=
KUJO_RAG_CHAT_MODEL=
OPENAI_API_KEY=
# Optional release-evaluation gate paths
KUJO_RAG_RELEASE_EVAL_GOLDEN_PATH=./config/release_eval_golden_queries.json
KUJO_RAG_RELEASE_EVAL_THRESHOLDS_PATH=./config/release_eval_thresholds.json
KUJO_RAG_RELEASE_EVAL_CORPUS_PATH=./examples/release_eval_corpus
KUJO_RAG_RELEASE_EVAL_INDEX_PATH=./results/release_eval_index.json
KUJO_RAG_RELEASE_EVAL_EMBEDDING_PROVIDER=hash
KUJO_RAG_RELEASE_EVAL_OUTPUT_PATH=./results/release_eval_report.json
KUJO_RAG_RELEASE_EVAL_TREND_PATH=./results/release_eval_trend.json
KUJO_RAG_RELEASE_EVAL_TREND_HISTORY_LIMIT=120
KUJO_RAG_AI_DRIFT_CONTROLS_PATH=./config/ai_provider_model_drift_controls.json
KUJO_RAG_AI_DRIFT_RELEASE_REPORT_PATH=./results/release_eval_report.json
KUJO_RAG_AI_DRIFT_REPORT_PATH=./results/ai_provider_model_drift_report.json
KUJO_RAG_RELEASE_GATE_OVERRIDES_PATH=./config/release_gate_overrides.json
KUJO_RAG_RELEASE_GATE_OVERRIDE_REPORT_PATH=./results/release_gate_override_review.json
KUJO_RAG_CANARY_GOLDEN_PATH=./config/canary_replay_samples.json
KUJO_RAG_CANARY_EVAL_THRESHOLDS_PATH=./config/canary_replay_eval_thresholds.json
KUJO_RAG_CANARY_CORPUS_PATH=./examples/release_eval_corpus
KUJO_RAG_CANARY_INDEX_PATH=./results/canary_release_eval_index.json
KUJO_RAG_CANARY_BASELINE_REPORT_PATH=./results/release_eval_report.json
KUJO_RAG_CANARY_ACCEPTANCE_PATH=./config/canary_replay_thresholds.json
KUJO_RAG_CANARY_OUTPUT_PATH=./results/canary_release_replay_report.json
KUJO_RAG_MULTILINGUAL_EVAL_GOLDEN_PATH=./config/multilingual_release_eval_golden_queries.json
KUJO_RAG_MULTILINGUAL_EVAL_THRESHOLDS_PATH=./config/multilingual_release_eval_thresholds.json
KUJO_RAG_MULTILINGUAL_EVAL_CORPUS_PATH=./examples/multilingual_release_eval_corpus
KUJO_RAG_MULTILINGUAL_EVAL_INDEX_PATH=./results/multilingual_release_eval_index.json
KUJO_RAG_MULTILINGUAL_EVAL_OUTPUT_PATH=./results/multilingual_release_eval_report.json
KUJO_RAG_MULTILINGUAL_EVAL_EMBEDDING_PROVIDER=hash
KUJO_RAG_CHUNK_PRESET_AB_GOLDEN_PATH=./config/chunking_preset_eval_golden_queries.json
KUJO_RAG_CHUNK_PRESET_AB_THRESHOLDS_PATH=./config/chunking_preset_eval_thresholds.json
KUJO_RAG_CHUNK_PRESET_AB_CORPUS_PATH=./examples/chunking_preset_eval_corpus
KUJO_RAG_CHUNK_PRESET_AB_BASELINE_INDEX_PATH=./results/chunking_preset_ab_baseline_index.json
KUJO_RAG_CHUNK_PRESET_AB_PRESET_INDEX_PATH=./results/chunking_preset_ab_preset_index.json
KUJO_RAG_CHUNK_PRESET_AB_BASELINE_REPORT_PATH=./results/chunking_preset_ab_baseline_release_eval.json
KUJO_RAG_CHUNK_PRESET_AB_PRESET_REPORT_PATH=./results/chunking_preset_ab_preset_release_eval.json
KUJO_RAG_CHUNK_PRESET_AB_OUTPUT_PATH=./results/chunking_preset_ab_report.json
KUJO_RAG_CHUNK_PRESET_AB_BASELINE_RUNTIME_OVERRIDES_JSON=
KUJO_RAG_CHUNK_PRESET_AB_PRESET_RUNTIME_OVERRIDES_JSON=
KUJO_RAG_CONNECTOR_CONFIG_PATH=./config/connectors_ingest_sources.json
KUJO_RAG_CONNECTOR_STAGING_ROOT=./results/connector_sources
KUJO_RAG_CONNECTOR_INDEX_PATH=./results/connector_index.json
KUJO_RAG_CONNECTOR_REPORT_PATH=./results/connector_ingest_report.json
KUJO_RAG_CONNECTOR_EMBEDDING_PROVIDER=hash
KUJO_RAG_CONNECTOR_PLUGIN_KUJO_BIN=
# Optional large-corpus benchmark gate paths
KUJO_RAG_BENCHMARK_PROFILES_PATH=./config/large_corpus_benchmark_profiles.json
KUJO_RAG_BENCHMARK_BUDGETS_PATH=./config/large_corpus_benchmark_budgets.json
KUJO_RAG_BENCHMARK_OUTPUT_PATH=./results/large_corpus_benchmark_report.json
KUJO_RAG_BENCHMARK_TREND_PATH=./results/large_corpus_benchmark_trend.json
KUJO_RAG_BENCHMARK_DATASET_ROOT=./results/benchmark_datasets
KUJO_RAG_BENCHMARK_INDEX_ROOT=./results/benchmark_indexes
# Optional index maintenance and compaction controls
KUJO_RAG_INDEX_MAINTENANCE_MODE=report
KUJO_RAG_INDEX_MAINTENANCE_REPORT_PATH=./results/index_maintenance_report.json
KUJO_RAG_INDEX_MAINTENANCE_ALLOWED_UTC_HOURS=0-23
KUJO_RAG_INDEX_MAINTENANCE_IGNORE_WINDOW=false
KUJO_RAG_INDEX_MAINTENANCE_PROBE_QUERIES_PATH=./config/release_eval_golden_queries.json
KUJO_RAG_INDEX_MAINTENANCE_PROBE_LIMIT=3
KUJO_RAG_INDEX_MAINTENANCE_MAX_LATENCY_REGRESSION_RATIO=2
# Optional helper for scripts/run_tests.kujo
KUJO_BIN=kujo