-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy path.env.example
More file actions
94 lines (83 loc) · 6.76 KB
/
Copy path.env.example
File metadata and controls
94 lines (83 loc) · 6.76 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
# ─────────────────────────────────────────────────────────────────────────────
# RAG Financial Multimodal — Environment Variables
# Copy to .env and fill in your values
#
# DX NOTE: You do NOT need OpenAI. Every model-facing component (text
# generation, vision/chart extraction, embeddings) is pluggable. Pick any
# ONE combination below and only set the keys it needs:
# - Cloud, cheapest: Gemini text + Gemini vision + OpenAI embeddings
# - Cloud, highest quality: OpenAI/Anthropic text + GPT-4o vision
# - Fully open-source/local: Local vLLM text + Local vLLM vision + local embeddings
# (zero data leaves your infrastructure, zero per-token API cost)
# ─────────────────────────────────────────────────────────────────────────────
# ── Text Generation Provider ──────────────────────────────────────────────────
# Choose ONE: openai | gemini | anthropic | local_vllm
LLM_CONFIG__PROVIDER=openai
LLM_CONFIG__MODEL=gpt-4o-mini # cheap default for the chosen provider
LLM_CONFIG__COMPLEX_QUERY_MODEL=gpt-4o # used for numerical/analytical queries
LLM_CONFIG__ENABLE_MODEL_ROUTING=true
# Provider-specific examples (uncomment the block matching LLM_CONFIG__PROVIDER):
# gemini: LLM_CONFIG__MODEL=gemini-2.5-flash
# LLM_CONFIG__COMPLEX_QUERY_MODEL=gemini-2.5-pro
# anthropic: LLM_CONFIG__MODEL=claude-3-5-haiku-20241022
# LLM_CONFIG__COMPLEX_QUERY_MODEL=claude-3-5-sonnet-20241022
# local_vllm: LLM_CONFIG__MODEL=meta-llama/Llama-3.1-8B-Instruct
# LOCAL_VLLM_GENERATOR_BASE_URL=http://localhost:8090/v1
# # Start the model first: vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8090
# ── LLM API Keys (only the one matching your chosen provider is required) ────
OPENAI_API_KEY=sk-... # required if LLM_CONFIG__PROVIDER=openai
ANTHROPIC_API_KEY= # required if LLM_CONFIG__PROVIDER=anthropic
GOOGLE_API_KEY= # required if LLM_CONFIG__PROVIDER=gemini (also used for vision)
COHERE_API_KEY= # optional, for Cohere reranker / Cohere embeddings
VOYAGE_API_KEY= # optional, for Voyage finance-tuned embeddings
TOGETHER_API_KEY= # optional, for Qwen2-VL open-source vision
# ── Vision / Chart Extraction Provider ────────────────────────────────────────
# Choose ONE: openai | gemini | qwen2-vl | local_vllm
VISION_CONFIG__PROVIDER=openai
VISION_CONFIG__MODEL=gpt-4o
# Provider-specific examples:
# gemini: VISION_CONFIG__MODEL=gemini-2.5-flash (10-40x cheaper than GPT-4o)
# qwen2-vl: VISION_CONFIG__MODEL=Qwen/Qwen2-VL-72B-Instruct (via Together.ai)
# local_vllm: VISION_CONFIG__MODEL=Qwen/Qwen2-VL-7B-Instruct
# # Start: vllm serve Qwen/Qwen2-VL-7B-Instruct --port 8080
# ── Embedding Provider ─────────────────────────────────────────────────────────
# Choose ONE: openai | local | voyage | cohere
# "local" uses BAAI/bge-small-en-v1.5 via sentence-transformers — zero API cost,
# runs entirely on CPU, no API key required.
VECTOR_STORE_CONFIG__EMBEDDING_PROVIDER=openai
VECTOR_STORE_CONFIG__EMBEDDING_MODEL=text-embedding-3-small
# Provider-specific examples:
# local: VECTOR_STORE_CONFIG__EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
# voyage: VECTOR_STORE_CONFIG__EMBEDDING_MODEL=voyage-finance-2 (finance-domain-tuned)
# cohere: VECTOR_STORE_CONFIG__EMBEDDING_MODEL=embed-english-v3.0
# ── Vector Store ──────────────────────────────────────────────────────────────
ACTIVELOOP_TOKEN= # optional, for cloud DeepLake
VECTOR_STORE_CONFIG__PROVIDER=deeplake # deeplake | pgvector | qdrant | chroma | memory
VECTOR_STORE_CONFIG__DATASET_PATH=./data/vectorstore/rag_financial
# ── Security ──────────────────────────────────────────────────────────────────
RAG_API_MASTER_KEY=change-me-in-production
ENVIRONMENT=development # development | staging | production
# ── Caching ───────────────────────────────────────────────────────────────────
CACHE_CONFIG__BACKEND=redis # redis | memory
CACHE_CONFIG__REDIS_URL=redis://localhost:6379/0
# ── Observability (optional) ──────────────────────────────────────────────────
OBSERVABILITY_CONFIG__OTLP_ENDPOINT= # e.g. http://localhost:4317
OBSERVABILITY_CONFIG__PROMETHEUS_PORT=8001
GRAFANA_PASSWORD=admin
# ── Multi-tenancy ─────────────────────────────────────────────────────────────
MULTI_TENANCY_CONFIG__ENABLED=true
MULTI_TENANCY_CONFIG__DEFAULT_TENANT=default
# ─────────────────────────────────────────────────────────────────────────────
# FULLY OPEN-SOURCE / ZERO-API-COST CONFIGURATION (copy-paste reference)
# Requires: pip install vllm sentence-transformers
# 1. vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8090 --host 0.0.0.0
# 2. vllm serve Qwen/Qwen2-VL-7B-Instruct --port 8080 --host 0.0.0.0 (separate process/GPU)
#
# LLM_CONFIG__PROVIDER=local_vllm
# LLM_CONFIG__MODEL=meta-llama/Llama-3.1-8B-Instruct
# LOCAL_VLLM_GENERATOR_BASE_URL=http://localhost:8090/v1
# VISION_CONFIG__PROVIDER=local_vllm
# VISION_CONFIG__MODEL=Qwen/Qwen2-VL-7B-Instruct
# VECTOR_STORE_CONFIG__EMBEDDING_PROVIDER=local
# VECTOR_STORE_CONFIG__EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
# ─────────────────────────────────────────────────────────────────────────────