Environment Variables Configuration
Search Configuration
MATCH_COUNT
- Description: Số lượng documents tối đa được trả về từ vector search
- Default:
15
- Usage:
MATCH_COUNT=20
- Impact: Ảnh hưởng đến số lượng docs được query từ database
MAX_DOCS_TO_RERANK
- Description: Số lượng documents tối đa được rerank
- Default:
15
- Usage:
MAX_DOCS_TO_RERANK=20
- Impact: Ảnh hưởng đến số lượng docs được xử lý trong reranking
Logging Configuration
LOG_LEVEL
- Description: Mức độ logging (DEBUG, INFO, WARNING, ERROR, CRITICAL)
- Default:
DEBUG
- Usage:
LOG_LEVEL=INFO
- Impact: Ảnh hưởng đến số lượng logs được hiển thị
Facebook Configuration
FACEBOOK_APP_SECRET
- Description: Facebook App Secret
- Required: Yes
- Usage:
FACEBOOK_APP_SECRET=your_app_secret
FACEBOOK_VERIFY_TOKEN
- Description: Facebook Webhook Verify Token
- Required: Yes
- Usage:
FACEBOOK_VERIFY_TOKEN=your_verify_token
Supabase Configuration
SUPABASE_URL
- Description: Supabase project URL
- Required: Yes
- Usage:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY
- Description: Supabase service role key
- Required: Yes
- Usage:
SUPABASE_KEY=your_service_role_key
Google Sheets Configuration
GOOGLE_SHEETS_CREDENTIALS_FILE
- Description: Path to Google Sheets credentials file
- Required: Yes (if not using GOOGLE_SHEETS_CREDENTIALS_JSON)
- Usage:
GOOGLE_SHEETS_CREDENTIALS_FILE=./credentials.json
GOOGLE_SHEETS_CREDENTIALS_JSON
- Description: Google Sheets credentials as JSON string (alternative to credentials file)
- Required: Yes (if not using GOOGLE_SHEETS_CREDENTIALS_FILE)
- Usage:
GOOGLE_SHEETS_CREDENTIALS_JSON={"type":"service_account","project_id":"..."}
GOOGLE_SHEETS_TOKEN_FILE
- Description: Path to Google Sheets token file
- Required: Yes
- Usage:
GOOGLE_SHEETS_TOKEN_FILE=./token.json
CONVERSATION_SHEET_ID
- Description: Google Sheets ID for conversation logging
- Required: Yes
- Usage:
CONVERSATION_SHEET_ID=your_sheet_id
Server Configuration
HOST
- Description: Server host address
- Default:
0.0.0.0
- Usage:
HOST=127.0.0.1
PORT
- Description: Server port
- Default:
8000
- Usage:
PORT=7860
LLM Configuration
LLM_PROVIDER
- Description: LLM provider (gemini, openai, etc.)
- Default:
gemini
- Usage:
LLM_PROVIDER=gemini
LLM_MODEL
- Description: LLM model name
- Default:
gemini-2.5-flash
- Usage:
LLM_MODEL=gemini-2.0-flash-exp
RERANK_PROVIDER
- Description: Rerank provider (defaults to LLM_PROVIDER if not set)
- Default: Uses LLM_PROVIDER value
- Usage:
RERANK_PROVIDER=gemini
RERANK_MODEL
- Description: Rerank model name (defaults to LLM_MODEL if not set)
- Default: Uses LLM_MODEL value
- Usage:
RERANK_MODEL=gemini-2.0-flash-exp
Embedding Configuration
EMBEDDING_PROVIDER
- Description: Embedding provider (gemini, openai, etc.)
- Default:
gemini
- Usage:
EMBEDDING_PROVIDER=gemini
EMBEDDING_MODEL
- Description: Embedding model name
- Default:
models/embedding-001
- Usage:
EMBEDDING_MODEL=models/embedding-001
Gemini Configuration
GEMINI_API_KEYS
- Description: Comma-separated list of Gemini API keys
- Required: Yes
- Usage:
GEMINI_API_KEYS=key1,key2,key3
GEMINI_MODELS
- Description: Comma-separated list of Gemini models
- Required: Yes
- Usage:
GEMINI_MODELS=gemini-2.0-flash-exp,gemini-1.5-flash
GEMINI_BASE_URL
- Description: Gemini API base URL
- Default:
https://generativelanguage.googleapis.com/v1
- Usage:
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1
Example .env file
# Search Configuration
MATCH_COUNT=15
MAX_DOCS_TO_RERANK=15
# Logging Configuration
LOG_LEVEL=DEBUG
# Facebook Configuration
FACEBOOK_APP_SECRET=your_app_secret
FACEBOOK_VERIFY_TOKEN=your_verify_token
# Supabase Configuration
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your_service_role_key
# Google Sheets Configuration
GOOGLE_SHEETS_CREDENTIALS_FILE=./credentials.json
# GOOGLE_SHEETS_CREDENTIALS_JSON={"type":"service_account","project_id":"..."}
GOOGLE_SHEETS_TOKEN_FILE=./token.json
CONVERSATION_SHEET_ID=your_sheet_id
# Server Configuration
HOST=0.0.0.0
PORT=8000
# LLM Configuration
LLM_PROVIDER=gemini
LLM_MODEL=gemini-2.5-flash
RERANK_PROVIDER=gemini
RERANK_MODEL=gemini-2.5-flash
# Embedding Configuration
EMBEDDING_PROVIDER=gemini
EMBEDDING_MODEL=models/embedding-001
# Gemini Configuration
GEMINI_API_KEYS=key1,key2,key3
GEMINI_MODELS=gemini-2.0-flash-exp,gemini-1.5-flash
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1
Performance Tuning
Để tăng performance:
- Giảm
MATCH_COUNT và MAX_DOCS_TO_RERANK xuống 10-12
- Set
LOG_LEVEL=INFO để giảm log noise
- Sử dụng model nhẹ hơn:
LLM_MODEL=gemini-1.5-flash
Để tăng accuracy:
- Tăng
MATCH_COUNT và MAX_DOCS_TO_RERANK lên 20-25
- Set
LOG_LEVEL=DEBUG để debug chi tiết hơn
- Sử dụng model mạnh hơn:
LLM_MODEL=gemini-2.0-flash-exp
Provider Switching
Chuyển sang OpenAI:
LLM_PROVIDER=openai
LLM_MODEL=gpt-4
EMBEDDING_PROVIDER=openai
EMBEDDING_MODEL=text-embedding-ada-002
Chuyển sang Cohere:
LLM_PROVIDER=cohere
LLM_MODEL=command
EMBEDDING_PROVIDER=cohere
EMBEDDING_MODEL=embed-english-v3.0
Troubleshooting
Common Issues:
- Missing API Keys: Đảm bảo
GEMINI_API_KEYS được set
- Invalid Models: Kiểm tra
GEMINI_MODELS có đúng format không
- Database Connection: Verify
SUPABASE_URL và SUPABASE_KEY
- Facebook Webhook: Check
FACEBOOK_APP_SECRET và FACEBOOK_VERIFY_TOKEN