2.6 KiB
2.6 KiB
🔧 ВИПРАВИТИ: Helion system_prompt не працює
❌ Поточна проблема
Бот працює, але відповідає як "Qwen" замість "Helion".
Telegram бот отримує повідомлення ✅
Router маршрутизує запити ✅
Ollama відповідає ✅
Але: Router ігнорує system_prompt від Gateway ❌
🎯 Що потрібно виправити
Файл: gateway-bot/http_api.py
Знайди функцію helion_telegram_webhook (рядок ~418)
Знайди змінну router_request (рядок ~453)
Поточна структура (НЕПРАВИЛЬНА):
router_request = {
"message": text,
"mode": "chat",
"agent": "helion",
"metadata": {...},
"payload": {"context": { # ❌ Тут помилка indent!
"agent_name": HELION_NAME,
"system_prompt": HELION_SYSTEM_PROMPT,
"memory": memory_context,
},
},
}
Виправлена структура (ПРАВИЛЬНА):
router_request = {
"message": text,
"mode": "chat",
"agent": "helion",
"metadata": {...},
"payload": {
"context": { # ✅ Правильний indent
"agent_name": HELION_NAME,
"system_prompt": HELION_SYSTEM_PROMPT,
"memory": memory_context,
}
},
}
🔍 Проблема простими словами
Router очікує структуру:
payload → context → system_prompt
Gateway зараз надсилає:
payload → "context": { → context → system_prompt (подвійна вкладеність!)
Треба виправити indent, щоб "context": { був на правильному рівні всередині "payload".
✅ Перевірка
Після виправлення:
# Перезапустити gateway
docker compose restart gateway
# Надіслати в Telegram боту:
"Хто ти і що таке EcoMiner?"
# Має відповісти щось про Helion та Energy Union
# Якщо відповідає "Qwen" - не виправлено
📝 Важливо
- НЕ створюй новий
helion_prompt.txt- він вже існує ✅ - НЕ створюй новий webhook endpoint - він вже є ✅
- НЕ змінюй нічого крім структури
router_request✅ - Просто виправ indent в одному місці!
Це все! Одна проста зміна indent.