docs: add session preflight and expand lint scope batch5
This commit is contained in:
@@ -4,13 +4,13 @@
|
||||
|
||||
**Хардкод** = значення, які "зашиті" прямо в коді і не можуть змінюватись без редагування коду.
|
||||
|
||||
### Приклад хардкоду:
|
||||
### Приклад хардкоду
|
||||
```python
|
||||
# ❌ ХАРДКОД - значення прямо в коді
|
||||
local_model = "qwen3-8b" # Якщо треба змінити модель, треба редагувати код!
|
||||
```
|
||||
|
||||
### Проблеми хардкоду:
|
||||
### Проблеми хардкоду
|
||||
1. **Треба редагувати код** для зміни значення
|
||||
2. **Не можна змінити без перезапуску** сервісу
|
||||
3. **Важко тестувати** різні конфігурації
|
||||
@@ -22,7 +22,7 @@ local_model = "qwen3-8b" # Якщо треба змінити модель, т
|
||||
|
||||
**Конфігурація** = значення, які зберігаються окремо від коду (в файлах, змінних середовища, БД) і можуть змінюватись без редагування коду.
|
||||
|
||||
### Приклад конфігурації:
|
||||
### Приклад конфігурації
|
||||
```yaml
|
||||
# ✅ КОНФІГ - значення в окремому файлі router-config.yml
|
||||
llm_profiles:
|
||||
@@ -38,7 +38,7 @@ llm_profile = router_config.get("llm_profiles", {}).get("qwen3_science_8b")
|
||||
model = llm_profile.get("model") # Беремо з конфігу, не хардкодимо!
|
||||
```
|
||||
|
||||
### Переваги конфігурації:
|
||||
### Переваги конфігурації
|
||||
1. **Зміна без редагування коду** - просто змінити YAML файл
|
||||
2. **Різні конфіги для різних середовищ** (dev/prod/staging)
|
||||
3. **Легко тестувати** - можна створити test-config.yml
|
||||
@@ -60,13 +60,13 @@ model = llm_profile.get("model") # Беремо з конфігу, не хар
|
||||
|
||||
## 🔧 ЩО МИ ВИПРАВИЛИ?
|
||||
|
||||
### БУЛО (хардкод):
|
||||
### БУЛО (хардкод)
|
||||
```python
|
||||
# ❌ Хардкод - модель завжди "qwen3-8b"
|
||||
local_model = "qwen3-8b"
|
||||
```
|
||||
|
||||
### СТАЛО (з конфігу):
|
||||
### СТАЛО (з конфігу)
|
||||
```python
|
||||
# ✅ Читаємо з конфігу
|
||||
if llm_profile.get("provider") == "ollama":
|
||||
@@ -74,7 +74,7 @@ if llm_profile.get("provider") == "ollama":
|
||||
local_model = ollama_model.replace(":", "-") # qwen3:8b → qwen3-8b
|
||||
```
|
||||
|
||||
### Результат:
|
||||
### Результат
|
||||
- ✅ Модель береться з `router-config.yml`
|
||||
- ✅ Якщо змінити конфіг → зміниться поведінка
|
||||
- ✅ Не треба редагувати код для зміни моделі
|
||||
@@ -84,12 +84,12 @@ if llm_profile.get("provider") == "ollama":
|
||||
|
||||
## 💡 КОЛИ ВИКОРИСТОВУВАТИ?
|
||||
|
||||
### Хардкод - тільки для:
|
||||
### Хардкод - тільки для
|
||||
- Константи (π = 3.14, версія API)
|
||||
- Значення, які ніколи не зміняться
|
||||
- Технічні деталі (timeout = 5.0 сек)
|
||||
|
||||
### Конфігурація - для:
|
||||
### Конфігурація - для
|
||||
- Моделі LLM
|
||||
- API ключі
|
||||
- URL сервісів
|
||||
@@ -100,7 +100,7 @@ if llm_profile.get("provider") == "ollama":
|
||||
|
||||
## 📝 ПРИКЛАД З НАШОГО ПРОЄКТУ
|
||||
|
||||
### router-config.yml (конфігурація):
|
||||
### router-config.yml (конфігурація)
|
||||
```yaml
|
||||
agents:
|
||||
helion:
|
||||
@@ -112,7 +112,7 @@ llm_profiles:
|
||||
model: qwen3:8b # ← Можна змінити модель тут
|
||||
```
|
||||
|
||||
### main.py (код):
|
||||
### main.py (код)
|
||||
```python
|
||||
# Читаємо з конфігу
|
||||
default_llm = agent_config.get("default_llm", "qwen3-8b")
|
||||
|
||||
Reference in New Issue
Block a user