-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env
More file actions
256 lines (243 loc) · 14.7 KB
/
Copy path.env
File metadata and controls
256 lines (243 loc) · 14.7 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
# ─── Shared ───────────────────────────────────────────────────────────────────
OLLAMA_BASE_URL=http://ollama:11434
QDRANT_URL=http://qdrant:6333
RAG_API_URL=http://rag-api:8090
RAG_TOP_K=4
TZ=Asia/Ho_Chi_Minh
# ─── Ollama ───────────────────────────────────────────────────────────────────
OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=http://localhost,https://localhost,http://127.0.0.1,https://127.0.0.1,http://0.0.0.0,https://0.0.0.0
OLLAMA_KEEP_ALIVE=5m
# OLLAMA_NUM_PARALLEL và OLLAMA_REQUEST_TIMEOUT được khai báo trong option model đang dùng.
# ─── RAG API ──────────────────────────────────────────────────────────────────
RAG_LOG_LEVEL=INFO
RAW_DATA_DIR=/data/raw
COLLECTION_NAME=yan_raw_docs
CHUNK_SIZE=1000
CHUNK_OVERLAP=150
UPSERT_BATCH_SIZE=32
INGEST_EMBED_WORKERS=2
# ─── Open WebUI ───────────────────────────────────────────────────────────────
OPEN_WEBUI_PORT=8085
WEBUI_AUTH=false
WEBUI_NAME="YAN AI"
VECTOR_DB=qdrant
QDRANT_PREFER_GRPC=false
ENABLE_QDRANT_MULTITENANCY_MODE=true
QDRANT_COLLECTION_PREFIX=yan-ai
RAG_EMBEDDING_ENGINE=ollama
# ─── Watchtower ───────────────────────────────────────────────────────────────
WATCHTOWER_HTTP_API_TOKEN="d34d033538a97a1e8a51cedbb3dc992d"
WATCHTOWER_CLEANUP=true
WATCHTOWER_INCLUDE_STOPPED=false
WATCHTOWER_TIMEOUT=30s
# D1: trước đây chạy mỗi phút (0 * * * * *) → auto-pull/recreate liên tục, dễ roll
# stack bất ngờ khi image upstream đổi. Đổi sang 04:00 hằng ngày. Cron 6 trường của
# watchtower là: giây phút giờ ngày tháng thứ. Đặt rỗng để tắt auto-update.
WATCHTOWER_SCHEDULE=0 0 4 * * *
WATCHTOWER_HTTP_API_METRICS=true
# ─── Deunhealth ───────────────────────────────────────────────────────────────
DEUNHEALTH_LOG_LEVEL=info
HEALTH_SERVER_ADDRESS=127.0.0.1:9999
# ─── Neo4j ────────────────────────────────────────────────────────────────────
NEO4J_URI=bolt://neo4j:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=changeme_in_production
NEO4J_DATABASE=neo4j
# ─── Graph RAG ────────────────────────────────────────────────────────────────
GRAPH_ENABLED=true
GRAPH_ENTITY_EXTRACTION=false
# ─── Model cho RAG và 15 SDLC Agent ──────────────────────────────────────────
# Rà soát theo catalog Ollama ngày 21/06/2026. Chọn đúng MỘT option phần cứng:
# chỉ bỏ comment một block và comment toàn bộ block đang dùng.
#
# Tiêu chí chọn model theo luồng thực tế của source:
# • BA/PM/SA/TA/DA/Tester/Clarifier/CHAT cần reasoning, bám system prompt dài,
# đối chiếu chéo nhiều artifact và tạo Markdown có cấu trúc.
# • FE/Mobile/BE/DBA/TL/TechLead/DevSecOps cần coding chính xác. Workflow sinh
# từng file độc lập, nên ưu tiên model chuyên SWE hơn model chat tổng quát.
# • CODING_PLANNER chỉ có tối đa 8K context và phải trả JSON parse được; Granite
# 4.1 được Ollama công bố hỗ trợ structured JSON nên ổn định hơn model reasoning.
# • Designer hiện chỉ nhận text, không nhận ảnh; Gemma 4 được dùng vì reasoning,
# coding/front-end và chất lượng đặc tả đa phương thức, không phải vì vision input.
# • Qwen3 Embedding hỗ trợ 100+ ngôn ngữ và code retrieval. Bản 8B đứng đầu
# MTEB multilingual theo công bố trên trang Ollama; LOW dùng 0.6B để tiết kiệm RAM.
#
# Model local được chọn (kích thước Q4 mặc định trên Ollama):
# qwen3.5:9b ~6.6 GB — model tổng quát tốt cho máy CPU nhỏ.
# qwen3.6:27b / :35b ~17/24 GB — reasoning + agentic coding, 256K context.
# north-mini-code-1.0:q4_K_M ~19 GB — 30B-A3B, chuyên agentic software engineering.
# gemma4:12b / :31b ~7.6/20 GB — reasoning, coding và UI/UX specification.
# granite4.1:3b / :8b ~2.1/5.3 GB — instruction following + structured JSON.
# mistral-medium-3.5:128b ~80 GB — unified reasoning/instruction/coding cao nhất
# trong tier ULTRA local của ma trận này.
# qwen3-embedding:0.6b / :8b ~0.64/4.7 GB — embedding đa ngôn ngữ + code retrieval.
#
# Không chọn các model mới nhưng cloud-only (glm-5.2, kimi-k2.7-code, minimax-m3,
# deepseek-v4-pro/flash) vì repo cam kết chạy offline. Không chọn glm-4.7-flash dù
# có local weights vì trang Ollama hiện yêu cầu Ollama 0.14.3 pre-release.
#
# Workflow chạy tuần tự nghiêm ngặt, vì vậy OLLAMA_NUM_PARALLEL=1 cho cả 5 tier.
# Ollama nhân bộ nhớ context theo NUM_PARALLEL; tăng giá trị này không làm một workflow
# nhanh hơn và có thể gây OOM. MAX_LOADED_MODELS chỉ là trần, Ollama vẫn tự queue/evict
# khi model mới không còn đủ RAM/VRAM.
#
# Sau khi đổi option:
# • Model agent/chat/planner: restart agent-api và rag-api.
# • OLLAMA_*: restart container ollama.
# • EMBEDDING_MODEL: POST /reset-ingest để tạo lại toàn bộ vector index.
# • Pull tất cả tag trong block trước khi chạy; kiểm tra bằng GET /agents và /health.
#
# ┌──────────────────────────────┬──────────────────┬──────────────────┬──────────────────┬──────────────────────┬──────────────────┐
# │ │ LOW │ MEDIUM │ HIGH │ ULTRA │ BALANCED │
# ├──────────────────────────────┼──────────────────┼──────────────────┼──────────────────┼──────────────────────┼──────────────────┤
# │ Máy / AWS │ t3.2xlarge │ m7i.12xlarge │ g6e.2xlarge │ g6e.12xlarge │ PC local │
# │ CPU / RAM │ 8c / 32 GB │ 48c / 192 GB │ 8c / 64 GB │ 48c / 384 GB │ 10c / 128 GB │
# │ VRAM │ CPU only │ 3 GB, dùng CPU │ 48 GB L40S │ 192 GB, 4x L40S │ 12 GB │
# │ MAX_LOADED_MODELS │ 3 │ 5 │ 1 │ 3 │ 1 │
# │ CONTEXT_LENGTH │ 8192 │ 32768 │ 32768 │ 65536 │ 16384 │
# │ Reasoning / QA / Clarifier │ qwen3.5:9b │ qwen3.6:35b │ qwen3.6:35b │ mistral-medium-3.5 │ qwen3.6:27b │
# │ Coding / TL / TechLead │ qwen3.5:9b │ north-mini-code │ north-mini-code │ mistral-medium-3.5 │ north-mini-code │
# │ Designer │ qwen3.5:9b │ gemma4:31b │ gemma4:31b │ mistral-medium-3.5 │ gemma4:12b │
# │ Planner JSON │ granite4.1:3b │ granite4.1:8b │ granite4.1:8b │ granite4.1:8b │ granite4.1:8b │
# │ Embedding │ qwen3-emb:0.6b │ qwen3-emb:8b │ qwen3-emb:8b │ qwen3-emb:8b │ qwen3-emb:8b │
# │ Tổng weights giữ tối đa │ ~9.4 GB │ ~73 GB │ ~24 GB/lần │ ~90 GB │ ~19 GB/lần │
# └──────────────────────────────┴──────────────────┴──────────────────┴──────────────────┴──────────────────────┴──────────────────┘
# ── Option 1 · LOW · CPU only · t3.2xlarge · 8 cores · 32 GB RAM ──────────────
# Một model 9B đảm nhiệm mọi role để giảm reload và giữ chất lượng nhất quán.
# Qwen3.5:9b mạnh hơn các model 3B/4B nhưng toàn bộ ba model vẫn chỉ ~9.4 GB weights.
# T3 là burstable: phù hợp demo/thử nghiệm, không phù hợp workflow dài liên tục.
# OLLAMA_MAX_LOADED_MODELS=3
# OLLAMA_NUM_PARALLEL=1
# OLLAMA_CONTEXT_LENGTH=8192
# OLLAMA_REQUEST_TIMEOUT=1800
# RAG_TIMEOUT=1200
# CHAT_MODEL=qwen3.5:9b
# EMBEDDING_MODEL=qwen3-embedding:0.6b
# CODING_PLANNER_MODEL=granite4.1:3b
# BA_MODEL=qwen3.5:9b
# PM_MODEL=qwen3.5:9b
# SA_MODEL=qwen3.5:9b
# TA_MODEL=qwen3.5:9b
# DESIGNER_MODEL=qwen3.5:9b
# FE_MODEL=qwen3.5:9b
# MOBILE_MODEL=qwen3.5:9b
# BE_MODEL=qwen3.5:9b
# DBA_MODEL=qwen3.5:9b
# DA_MODEL=qwen3.5:9b
# TL_MODEL=qwen3.5:9b
# TECH_LEAD_MODEL=qwen3.5:9b
# TESTER_MODEL=qwen3.5:9b
# DEVSECOPS_MODEL=qwen3.5:9b
# CLARIFIER_MODEL=qwen3.5:9b
# ── Option 2 · MEDIUM · CPU heavy · m7i.12xlarge · 48 cores · 192 GB RAM ─────
# Qwen3.6 và North Mini Code đều là MoE chỉ kích hoạt khoảng 3B tham số/token,
# phù hợp CPU hơn model dense 80–128B. 192 GB RAM đủ giữ cả 5 model (~73 GB weights),
# giảm mạnh thời gian reload. Output dài vẫn có thể chậm nên timeout là 3600 giây.
# OLLAMA_MAX_LOADED_MODELS=5
# OLLAMA_NUM_PARALLEL=1
# OLLAMA_CONTEXT_LENGTH=32768
# OLLAMA_REQUEST_TIMEOUT=3600
# RAG_TIMEOUT=3600
# CHAT_MODEL=qwen3.6:35b
# EMBEDDING_MODEL=qwen3-embedding:8b
# CODING_PLANNER_MODEL=granite4.1:8b
# BA_MODEL=qwen3.6:35b
# PM_MODEL=qwen3.6:35b
# SA_MODEL=qwen3.6:35b
# TA_MODEL=qwen3.6:35b
# DESIGNER_MODEL=gemma4:31b
# FE_MODEL=north-mini-code-1.0:q4_K_M
# MOBILE_MODEL=north-mini-code-1.0:q4_K_M
# BE_MODEL=north-mini-code-1.0:q4_K_M
# DBA_MODEL=north-mini-code-1.0:q4_K_M
# DA_MODEL=qwen3.6:35b
# TL_MODEL=north-mini-code-1.0:q4_K_M
# TECH_LEAD_MODEL=north-mini-code-1.0:q4_K_M
# TESTER_MODEL=qwen3.6:35b
# DEVSECOPS_MODEL=north-mini-code-1.0:q4_K_M
# CLARIFIER_MODEL=qwen3.6:35b
# ── Option 3 · HIGH · GPU · g6e.2xlarge · 8 cores · 64 GB RAM · 48 GB VRAM ───
# Đang active. Mỗi model đều fit hoàn toàn trong 48 GB VRAM ở context 32K, nhưng
# qwen3.6:35b + north-mini-code + KV cache không có dư địa an toàn để giữ đồng thời.
MAX_LOADED_MODELS=1 ưu tiên ổn định/chất lượng; đổi model chậm hơn nhưng tránh OOM.
OLLAMA_MAX_LOADED_MODELS=1
OLLAMA_NUM_PARALLEL=1
OLLAMA_CONTEXT_LENGTH=32768
OLLAMA_REQUEST_TIMEOUT=1200
RAG_TIMEOUT=900
CHAT_MODEL=qwen3.6:35b
EMBEDDING_MODEL=qwen3-embedding:8b
CODING_PLANNER_MODEL=granite4.1:8b
BA_MODEL=qwen3.6:35b
PM_MODEL=qwen3.6:35b
SA_MODEL=qwen3.6:35b
TA_MODEL=qwen3.6:35b
DESIGNER_MODEL=gemma4:31b
FE_MODEL=north-mini-code-1.0:q4_K_M
MOBILE_MODEL=north-mini-code-1.0:q4_K_M
BE_MODEL=north-mini-code-1.0:q4_K_M
DBA_MODEL=north-mini-code-1.0:q4_K_M
DA_MODEL=qwen3.6:35b
TL_MODEL=north-mini-code-1.0:q4_K_M
TECH_LEAD_MODEL=north-mini-code-1.0:q4_K_M
TESTER_MODEL=qwen3.6:35b
DEVSECOPS_MODEL=north-mini-code-1.0:q4_K_M
CLARIFIER_MODEL=qwen3.6:35b
# ── Option 4 · ULTRA · GPU · g6e.12xlarge · 48c · 384 GB RAM · 192 GB VRAM ───
# Mistral Medium 3.5 128B là model dense ~80 GB, mạnh đồng thời ở instruction,
# reasoning, coding, vision và JSON. Dùng cùng model cho tất cả role chính giúp giữ
# logic xuyên suốt 15 bước; Granite vẫn phụ trách planner JSON để parse chắc chắn.
# NUM_PARALLEL=1 vì một workflow không có nhánh song song và context 64K rất tốn KV.
# OLLAMA_MAX_LOADED_MODELS=3
# OLLAMA_NUM_PARALLEL=1
# OLLAMA_CONTEXT_LENGTH=65536
# OLLAMA_REQUEST_TIMEOUT=1200
# RAG_TIMEOUT=900
# CHAT_MODEL=mistral-medium-3.5:128b
# EMBEDDING_MODEL=qwen3-embedding:8b
# CODING_PLANNER_MODEL=granite4.1:8b
# BA_MODEL=mistral-medium-3.5:128b
# PM_MODEL=mistral-medium-3.5:128b
# SA_MODEL=mistral-medium-3.5:128b
# TA_MODEL=mistral-medium-3.5:128b
# DESIGNER_MODEL=mistral-medium-3.5:128b
# FE_MODEL=mistral-medium-3.5:128b
# MOBILE_MODEL=mistral-medium-3.5:128b
# BE_MODEL=mistral-medium-3.5:128b
# DBA_MODEL=mistral-medium-3.5:128b
# DA_MODEL=mistral-medium-3.5:128b
# TL_MODEL=mistral-medium-3.5:128b
# TECH_LEAD_MODEL=mistral-medium-3.5:128b
# TESTER_MODEL=mistral-medium-3.5:128b
# DEVSECOPS_MODEL=mistral-medium-3.5:128b
# CLARIFIER_MODEL=mistral-medium-3.5:128b
# ── Option 5 · BALANCED · PC local · 10c · 128 GB RAM · 12 GB VRAM ───────────
# Ưu tiên chất lượng: Qwen3.6:27b (~17 GB) và North Mini Code (~19 GB) được offload
# một phần sang RAM; chậm hơn model 9B/12B nhưng output tốt hơn cho prompt dài và code.
# Gemma4:12b (~7.6 GB) dành riêng Designer và fit hoàn toàn trong 12 GB VRAM.
# MAX_LOADED_MODELS=1 để không tranh VRAM. Nếu quá chậm, fallback hợp lý là
# qwen3.5:9b cho reasoning và coding; nếu OOM, giảm CONTEXT_LENGTH xuống 8192.
# OLLAMA_MAX_LOADED_MODELS=1
# OLLAMA_NUM_PARALLEL=1
# OLLAMA_CONTEXT_LENGTH=16384
# OLLAMA_REQUEST_TIMEOUT=2400
# RAG_TIMEOUT=1800
# CHAT_MODEL=qwen3.6:27b
# EMBEDDING_MODEL=qwen3-embedding:8b
# CODING_PLANNER_MODEL=granite4.1:8b
# BA_MODEL=qwen3.6:27b
# PM_MODEL=qwen3.6:27b
# SA_MODEL=qwen3.6:27b
# TA_MODEL=qwen3.6:27b
# DESIGNER_MODEL=gemma4:12b
# FE_MODEL=north-mini-code-1.0:q4_K_M
# MOBILE_MODEL=north-mini-code-1.0:q4_K_M
# BE_MODEL=north-mini-code-1.0:q4_K_M
# DBA_MODEL=north-mini-code-1.0:q4_K_M
# DA_MODEL=qwen3.6:27b
# TL_MODEL=north-mini-code-1.0:q4_K_M
# TECH_LEAD_MODEL=north-mini-code-1.0:q4_K_M
# TESTER_MODEL=qwen3.6:27b
# DEVSECOPS_MODEL=north-mini-code-1.0:q4_K_M
# CLARIFIER_MODEL=qwen3.6:27b