-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.example
More file actions
326 lines (260 loc) · 8.48 KB
/
env.example
File metadata and controls
326 lines (260 loc) · 8.48 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
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
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
# ===========================================
# AI AGENT CONFIGURATION - UPDATED STRUCTURE
# ===========================================
# Environment
ENVIRONMENT=development
DEBUG=true
LOG_LEVEL=INFO
# ===========================================
# FREE API KEYS (RECOMMENDED)
# ===========================================
# Google Gemini API (FREE) - Recommended
GEMINI_API_KEY=your_gemini_api_key_here
# Get from: https://makersuite.google.com/app/apikey
# Groq API (FREE) - High Performance
GROQ_API_KEY=your_groq_api_key_here
# Get from: https://console.groq.com/
# Ollama (FREE - Local) - Completely Free
OLLAMA_BASE_URL=http://localhost:11434
# Install from: https://ollama.ai/
# ===========================================
# OPTIONAL PAID API KEYS
# ===========================================
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
# Anthropic Claude Configuration
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# Cohere Configuration
COHERE_API_KEY=your_cohere_api_key_here
# Hugging Face Configuration
HUGGINGFACE_TOKEN=your_huggingface_token_here
# ===========================================
# PINECONE VECTOR DATABASE CONFIGURATION (REQUIRED)
# ===========================================
# Pinecone Configuration - BẮT BUỘC khi RAG_ENABLED=true
PINECONE_API_KEY=your_pinecone_api_key_here
# Get from: https://app.pinecone.io/
PINECONE_ENVIRONMENT=us-west1-gcp-free
PINECONE_INDEX_NAME=product-search
PINECONE_DIMENSION=1024
PINECONE_METRIC=cosine
PINECONE_NAMESPACE=default
# ===========================================
# PHASE 1 - RAG & API (E-commerce)
# ===========================================
# Bật RAG khi đã có Pinecone + đã chạy init_data.py
RAG_ENABLED=false
# Chỉ trả sản phẩm đang live trên website (metadata is_live=true trong Pinecone)
RAG_LIVE_ONLY=true
# Chỉ index sản phẩm có backend_id để map 1-1 với DB backend
REQUIRE_BACKEND_ID_FOR_INDEXING=true
# Bật API calls khi đã có Spring Boot backend
ENABLE_API_CALLS=false
# ===========================================
# BACKEND SELECTION - CLOUD ONLY
# ===========================================
# Vector Store Backend (chỉ Pinecone cloud)
VECTORSTORE_BACKEND=pinecone
# Model Loader Backend (gemini, groq, ollama, openai, anthropic, transformers)
MODEL_LOADER_BACKEND=gemini
# Lưu ý: Không còn hỗ trợ FAISS local, chỉ sử dụng Pinecone cloud
# ===========================================
# PERSONALIZATION CONFIGURATION
# ===========================================
# Enable Personalization Features
ENABLE_PERSONALIZATION=true
ENABLE_RECOMMENDATIONS=true
ENABLE_RL_LEARNING=true
# Personalization Directories
PROFILES_DIR=./data/profiles
MODELS_DIR=./data/models
# ===========================================
# SERVER CONFIGURATION
# ===========================================
API_HOST=0.0.0.0
API_PORT=8000
API_WORKERS=1
API_RELOAD=false
CORS_ORIGINS=*
RATE_LIMIT=100
MAX_REQUEST_SIZE=1048576
DEVELOPMENT_MODE=true
# ===========================================
# CACHING CONFIGURATION
# ===========================================
# Cache Type (memory, redis)
CACHE_TYPE=memory
# Redis Configuration (if using Redis cache)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=
REDIS_MAX_CONNECTIONS=10
# Memory Cache Configuration
MEMORY_CACHE_MAX_SIZE=1000
MEMORY_CACHE_DEFAULT_TTL=3600
MEMORY_CACHE_CLEANUP_INTERVAL=300
# ===========================================
# MONITORING CONFIGURATION
# ===========================================
# Metrics Collection
ENABLE_METRICS=true
METRICS_EXPORT_INTERVAL=300
ENABLE_PROMETHEUS=false
PROMETHEUS_PORT=9090
# Health Checks
ENABLE_HEALTH_CHECKS=true
HEALTH_CHECK_INTERVAL=30
HEALTH_CHECK_TIMEOUT=10
# Request Tracing
ENABLE_TRACING=true
TRACE_EXPORT_INTERVAL=300
# System Thresholds
MEMORY_THRESHOLD=90.0
CPU_THRESHOLD=90.0
DISK_THRESHOLD=90.0
# ===========================================
# MODEL CONFIGURATION
# ===========================================
# Model Paths
TINYLLAMA_BASE_PATH=F:/hf_cache/hub/models--TinyLlama--TinyLlama-1.1B-Chat-v1.0
TINYLLAMA_FINETUNED_PATH=./models/tinyllama-retail-finetuned
EMBEDDING_MODEL=F:/hf_cache/hub/models--intfloat--multilingual-e5-base
MODELS_CACHE_DIR=F:/hf_cache
# Model Parameters
MODEL_MAX_LENGTH=512
MODEL_TEMPERATURE=0.7
MODEL_TOP_P=0.9
MODEL_REPETITION_PENALTY=1.1
LOAD_IN_4BIT=true
MODEL_DEVICE=auto
TRUST_REMOTE_CODE=true
# ===========================================
# RAG CONFIGURATION
# ===========================================
RAG_SEARCH_TOP_K=5
RAG_SCORE_THRESHOLD=0.7
RAG_MAX_QUERY_LENGTH=200
RAG_ENABLE_RERANKING=false
RAG_CHUNK_SIZE=500
RAG_CHUNK_OVERLAP=50
# ===========================================
# CHAT CONFIGURATION
# ===========================================
CHAT_MAX_HISTORY=10
CHAT_SESSION_TIMEOUT=3600
CHAT_ENABLE_MEMORY=true
CHAT_MAX_SESSIONS=1000
# ===========================================
# DATABASE CONFIGURATION
# ===========================================
DATABASE_URL=sqlite:///./ai_agent.db
# ===========================================
# TRAINING CONFIGURATION
# ===========================================
TRAINING_DATASET_PATH=./training/dataset
TRAINING_OUTPUT_DIR=./models/tinyllama-retail-finetuned
TRAINING_EPOCHS=3
TRAINING_BATCH_SIZE=4
GRADIENT_ACCUMULATION=4
LEARNING_RATE=2e-4
MAX_SEQ_LENGTH=512
WARMUP_STEPS=100
LOGGING_STEPS=25
SAVE_STEPS=500
EVAL_STEPS=500
LORA_R=16
LORA_ALPHA=32
LORA_DROPOUT=0.1
# ===========================================
# DATA CONFIGURATION - UPDATED
# ===========================================
# Dataset Configuration
DATASET_FILE=./training/dataset/dataset.json
PRODUCTS_DATA_FILE=./data/processed/products.json
CONVERSATIONS_DATA_FILE=./data/processed/conversations.json
KNOWLEDGE_BASE_FILE=./data/processed/knowledge_base.json
TRAINING_DATA_FILE=./data/processed/training_data.json
# Data Processing
DATA_BATCH_SIZE=100
EMBEDDING_BATCH_SIZE=32
DATA_MAX_RETRIES=3
DATA_RETRY_DELAY=1
# Data Directories
PROCESSED_DATA_DIR=./data/processed
PROFILES_DATA_DIR=./data/profiles
MODELS_DATA_DIR=./data/models
# ===========================================
# EXTERNAL SERVICES
# ===========================================
# API Gateway
API_GATEWAY_URL=http://localhost:8181
JWT_TOKEN=
# Order Service (qua API Gateway)
ORDER_SERVICE_URL=http://localhost:8181/api/orders
ORDER_SERVICE_API_KEY=your_order_service_api_key
ORDER_SERVICE_TIMEOUT=30
# Product Service
PRODUCT_SERVICE_URL=http://localhost:8181/api/products
PRODUCT_SERVICE_API_KEY=your_product_service_api_key
PRODUCT_SERVICE_TIMEOUT=30
# Payment Service
PAYMENT_SERVICE_URL=http://localhost:8181/api/payments
PAYMENT_SERVICE_API_KEY=your_payment_service_api_key
PAYMENT_SERVICE_TIMEOUT=30
# Warranty Service
WARRANTY_SERVICE_URL=http://localhost:8181/api/warranties
WARRANTY_SERVICE_API_KEY=your_warranty_service_api_key
WARRANTY_SERVICE_TIMEOUT=30
# ===========================================
# PERFORMANCE CONFIGURATION
# ===========================================
ENABLE_CACHING=true
CACHE_TTL=3600
MAX_CACHE_SIZE=1000
ENABLE_ASYNC=true
MAX_CONCURRENT_REQUESTS=10
REQUEST_TIMEOUT=60
# ===========================================
# SECURITY CONFIGURATION
# ===========================================
ALLOWED_API_KEYS=
ENABLE_AUTH=false
JWT_SECRET=your-secret-key-change-in-production
JWT_ALGORITHM=HS256
JWT_EXPIRATION=3600
ALLOWED_IPS=
RATE_LIMIT_ENABLED=true
# ===========================================
# AGENT ORCHESTRATOR CONFIGURATION
# ===========================================
# Orchestrator Settings
ENABLE_PARALLEL_PROCESSING=true
MAX_CONCURRENT_AGENTS=3
DEFAULT_AGENT_TIMEOUT=30
ENABLE_FALLBACK=true
FALLBACK_AGENT=conversation
# Agent Configuration
RAG_AGENT_ENABLED=true
CONVERSATION_AGENT_ENABLED=true
API_AGENT_ENABLED=true
# ===========================================
# QUICK START GUIDE - CLOUD ONLY
# ===========================================
# 1. Copy this file to .env
# 2. Get free API keys:
# - Gemini: https://makersuite.google.com/app/apikey
# - Groq: https://console.groq.com/
# - Ollama: https://ollama.ai/ (install locally)
# - Pinecone: https://app.pinecone.io/ (BẮT BUỘC)
# 3. Set MODEL_LOADER_BACKEND=gemini (or groq, ollama)
# 4. Set PINECONE_API_KEY=your_key_here (BẮT BUỘC)
# 5. Run: python app.py
# 6. Test: curl http://localhost:8000/health
# LƯU Ý: Hệ thống chỉ sử dụng Pinecone cloud, không hỗ trợ FAISS local
# ===========================================
# LOGGING CONFIGURATION
# ===========================================
LOG_FORMAT=%(asctime)s - %(name)s - %(levelname)s - %(message)s
LOG_FILE=
#Zalo for Developers