-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.env.example
More file actions
86 lines (73 loc) · 2.89 KB
/
Copy path.env.example
File metadata and controls
86 lines (73 loc) · 2.89 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
# docling-rag configuration. Copy to `.env` and adjust.
# Every key has a built-in default (shown here), so an empty .env still runs
# with the offline-friendly stack (SQLite + Ollama).
# --- Database (vector store) ---
# sqlite | postgres | memory
RAG_DB_BACKEND=sqlite
# sqlite://<path> or postgres://user:pass@host:5432/dbname
RAG_DATABASE_URL=sqlite://data/rag.db
# --- Embeddings ---
# ollama | gemini | onnx | hash
RAG_EMBED_PROVIDER=ollama
RAG_EMBED_MODEL=bge-m3
RAG_EMBED_DIM=1024
# word | token
RAG_CHUNK_UNIT=word
# Ollama (default provider)
OLLAMA_BASE_URL=http://localhost:11434
# Gemini (RAG_EMBED_PROVIDER=gemini)
GEMINI_API_KEY=
RAG_GEMINI_MODEL=gemini-embedding-001
# Local ONNX (RAG_EMBED_PROVIDER=onnx; build with --features onnx-embed).
# Fetch the bge-m3 model into these default paths with:
# scripts/install/download_dependencies.sh --embed (~2.3 GB)
RAG_EMBED_ONNX_PATH=models/embed/bge-m3.onnx
RAG_EMBED_TOKENIZER=models/embed/tokenizer.json
# OCR recognition language for scanned PDFs: ch (default, multilingual,
# conformance-validated) or en (English-only PP-OCRv3 — much better Latin
# word spacing; fetch with scripts/install/download_dependencies.sh --ocr-en)
RAG_OCR_LANG=ch
# --- LLM (OpenRouter) — for Multi-Query, HyDE, and answer synthesis ---
# OpenRouter keys start with "sk-or-". Any OpenAI-compatible endpoint works:
# with a native DeepSeek key (sk-...) use
# OPENROUTER_BASE_URL=https://api.deepseek.com and RAG_LLM_MODEL=deepseek-chat
OPENROUTER_API_KEY=
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
RAG_LLM_MODEL=deepseek/deepseek-chat
# --- Chunking ---
# window (streaming Markdown sliding window, default) | hierarchical | hybrid
# (docling's structure-aware chunkers; hybrid uses RAG_CHUNK_SIZE as its token
# budget)
RAG_CHUNKER=window
RAG_CHUNK_SIZE=300
RAG_CHUNK_OVERLAP=0.05
# Path to a HuggingFace tokenizer.json (e.g. all-MiniLM-L6-v2's) for
# RAG_CHUNKER=hybrid. Unset, it falls back to models/chunk/tokenizer.json —
# populated by scripts/install/download_dependencies.sh.
#RAG_CHUNK_TOKENIZER=models/chunk/tokenizer.json
# --- Retrieval ---
# vector | bm25 | hybrid | multi-query | hyde
RAG_RETRIEVAL_MODE=hybrid
RAG_TOP_K=5
RAG_RRF_K=60
RAG_MULTIQUERY_N=4
# --- Document source ---
# folder | ftp | sftp (ftp/sftp require --features remote-sources)
RAG_SOURCE=folder
RAG_SOURCE_PATH=./rag/data
# For ftp/sftp:
RAG_SOURCE_URL=
RAG_SOURCE_USER=
RAG_SOURCE_PASSWORD=
# folder to store ingested documents in MD (for debugging / re-ingestion)
RAG_DOCUMENTS_OUTPUT=./data/
# --- Message queue (async ingestion) ---
# memory | rabbitmq | redis (rabbitmq/redis require the matching feature)
RAG_QUEUE=memory
RABBITMQ_URL=
REDIS_URL=
# --- REST API (docling-rag serve) ---
RAG_HTTP_ADDR=127.0.0.1:3222
# Comma-separated list of accepted API keys (X-Api-Key / Authorization: Bearer).
# The server refuses to start with an empty list. CHANGE THESE.
RAG_API_KEYS=dev-key-change-me