Fix: обновлён промпт для явного указания команд на выполнение
- Добавлен маркер === КОМАНДА НА ВЫПОЛНЕНИЕ === для yolo=True - Обновлён SYSTEM_PROMPT с инструкцией выполнять команды - Qwen будет понимать где история разговоров, а где команда Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
29e7dbf7b2
commit
a0f16fa45a
|
|
@ -15,7 +15,13 @@ SYSTEM_PROMPT = """Ты Валера - дружелюбный Telegram-бот а
|
||||||
|
|
||||||
Ты помогаешь с программированием, отвечаешь на вопросы.
|
Ты помогаешь с программированием, отвечаешь на вопросы.
|
||||||
Будь кратким, используй кодовые блоки.
|
Будь кратким, используй кодовые блоки.
|
||||||
Твое имя - Валера."""
|
Твое имя - Валера.
|
||||||
|
|
||||||
|
=== ИНСТРУКЦИЯ ПО ВЫПОЛНЕНИЮ КОМАНД ===
|
||||||
|
Если видишь маркер "=== КОМАНДА НА ВЫПОЛНЕНИЕ ===" - это значит что пользователь хочет выполнить команду на сервере.
|
||||||
|
В этом случае ты ДОЛЖЕН выполнить команду с помощью инструмента и вернуть результат.
|
||||||
|
Не отвечай текстом - ВЫПОЛНЯЙ команду!
|
||||||
|
========================================"""
|
||||||
|
|
||||||
|
|
||||||
class Orchestrator:
|
class Orchestrator:
|
||||||
|
|
@ -41,10 +47,6 @@ class Orchestrator:
|
||||||
return any(keyword in result_lower for keyword in rate_limit_keywords)
|
return any(keyword in result_lower for keyword in rate_limit_keywords)
|
||||||
|
|
||||||
def _build_prompt(self, user_prompt: str, chat_id: int, yolo: bool = False) -> str:
|
def _build_prompt(self, user_prompt: str, chat_id: int, yolo: bool = False) -> str:
|
||||||
# Для команд с yolo=True не добавляем контекст - отправляем только команду
|
|
||||||
if yolo:
|
|
||||||
return user_prompt
|
|
||||||
|
|
||||||
context = self.memory.get_context_for_prompt(chat_id)
|
context = self.memory.get_context_for_prompt(chat_id)
|
||||||
|
|
||||||
full_prompt = f"{SYSTEM_PROMPT}\n\n"
|
full_prompt = f"{SYSTEM_PROMPT}\n\n"
|
||||||
|
|
@ -59,6 +61,10 @@ class Orchestrator:
|
||||||
if context:
|
if context:
|
||||||
full_prompt += f"История текущего разговора:\n{context}\n\n"
|
full_prompt += f"История текущего разговора:\n{context}\n\n"
|
||||||
|
|
||||||
|
# Для команд с yolo=True явно указываем что это команда на выполнение
|
||||||
|
if yolo:
|
||||||
|
full_prompt += f"=== КОМАНДА НА ВЫПОЛНЕНИЕ ===\n{user_prompt}\n============================"
|
||||||
|
else:
|
||||||
full_prompt += f"Вопрос пользователя: {user_prompt}"
|
full_prompt += f"Вопрос пользователя: {user_prompt}"
|
||||||
|
|
||||||
return full_prompt
|
return full_prompt
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue