File size: 6,035 Bytes
c025e27 | 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 207 208 209 210 211 212 213 214 | # 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
```env
# 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:
```env
LLM_PROVIDER=openai
LLM_MODEL=gpt-4
EMBEDDING_PROVIDER=openai
EMBEDDING_MODEL=text-embedding-ada-002
```
### Chuyển sang Cohere:
```env
LLM_PROVIDER=cohere
LLM_MODEL=command
EMBEDDING_PROVIDER=cohere
EMBEDDING_MODEL=embed-english-v3.0
```
## Troubleshooting
### Common Issues:
1. **Missing API Keys**: Đảm bảo `GEMINI_API_KEYS` được set
2. **Invalid Models**: Kiểm tra `GEMINI_MODELS` có đúng format không
3. **Database Connection**: Verify `SUPABASE_URL` và `SUPABASE_KEY`
4. **Facebook Webhook**: Check `FACEBOOK_APP_SECRET` và `FACEBOOK_VERIFY_TOKEN` |