FBChatBot / ENVIRONMENT_VARIABLES.md
VietCat's picture
update variables
c025e27

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_COUNTMAX_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_COUNTMAX_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:

  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_URLSUPABASE_KEY
  4. Facebook Webhook: Check FACEBOOK_APP_SECRETFACEBOOK_VERIFY_TOKEN