Fix: для команд с yolo=True не добавлять контекст
- _build_prompt теперь принимает yolo параметр - Для yolo=True отправляется только команда без системного промпта и истории - Qwen-code будет правильно выполнять команды Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
11c1b0f0ac
commit
29e7dbf7b2
|
|
@ -40,18 +40,22 @@ class Orchestrator:
|
|||
result_lower = result.lower()
|
||||
return any(keyword in result_lower for keyword in rate_limit_keywords)
|
||||
|
||||
def _build_prompt(self, user_prompt: str, chat_id: int) -> 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)
|
||||
|
||||
|
||||
full_prompt = f"{SYSTEM_PROMPT}\n\n"
|
||||
|
||||
|
||||
similar = self.memory.search_similar(chat_id, user_prompt, limit=3)
|
||||
if similar:
|
||||
full_prompt += f"Похожие предыдущие разговоры:\n"
|
||||
for sim in similar:
|
||||
full_prompt += f"- {sim}\n"
|
||||
full_prompt += "\n"
|
||||
|
||||
|
||||
if context:
|
||||
full_prompt += f"История текущего разговора:\n{context}\n\n"
|
||||
|
||||
|
|
@ -69,7 +73,7 @@ class Orchestrator:
|
|||
model_id = model
|
||||
selected_tool = f"opencode:{model_id}"
|
||||
|
||||
full_prompt = self._build_prompt(prompt, chat_id)
|
||||
full_prompt = self._build_prompt(prompt, chat_id, yolo)
|
||||
|
||||
if selected_tool == "gigachat":
|
||||
result, success = await self.gigachat.ask(full_prompt)
|
||||
|
|
|
|||
Loading…
Reference in New Issue