修改guideline_prompt:只需要列出详细的工具调用步骤即可,不需要考虑回复用户的话术,步骤数量根据实际需求调整。
This commit is contained in:
parent
25f8f7c98f
commit
c58b20e56f
@ -18,7 +18,7 @@
|
|||||||
- **优先级排序**: 确定任务执行顺序
|
- **优先级排序**: 确定任务执行顺序
|
||||||
|
|
||||||
### 3. 计划阶段 (Planning)
|
### 3. 计划阶段 (Planning)
|
||||||
- **步骤制定**: 详细的执行步骤,步骤数量根据实际需求调整,每个步骤应具体可执行
|
- **步骤制定**: 只需要列出详细的工具调用步骤即可,不需要考虑回复用户的话术,步骤数量根据实际需求调整。
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@ -57,6 +57,25 @@ def append_user_last_message(messages: list, content: str) -> bool:
|
|||||||
messages[-1]['content'] += content
|
messages[-1]['content'] += content
|
||||||
return messages
|
return messages
|
||||||
|
|
||||||
|
def append_assistant_last_message(messages: list, content: str) -> bool:
|
||||||
|
"""向最后一条用户消息追加内容
|
||||||
|
|
||||||
|
Args:
|
||||||
|
messages: 消息列表
|
||||||
|
content: 要追加的内容
|
||||||
|
condition: 可选条件,如果提供则检查消息角色是否匹配此条件
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
bool: 是否成功追加内容
|
||||||
|
"""
|
||||||
|
if not messages or len(messages) == 0:
|
||||||
|
return messages
|
||||||
|
last_message = messages[-1]
|
||||||
|
if last_message and last_message.get('role') == 'assistant':
|
||||||
|
messages[-1]['content'] += content
|
||||||
|
else:
|
||||||
|
messages.append({"role":"assistant","content":content})
|
||||||
|
return messages
|
||||||
|
|
||||||
|
|
||||||
async def process_guidelines_and_terms(
|
async def process_guidelines_and_terms(
|
||||||
@ -243,12 +262,12 @@ async def enhanced_generate_stream_response(
|
|||||||
|
|
||||||
# 准备最终的消息
|
# 准备最终的消息
|
||||||
final_messages = messages.copy()
|
final_messages = messages.copy()
|
||||||
final_messages = append_user_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
|
||||||
|
|
||||||
if guideline_reasoning:
|
if guideline_reasoning:
|
||||||
# 用###分割guideline_reasoning,取最后一段作为Guidelines
|
# 用###分割guideline_reasoning,取最后一段作为Guidelines
|
||||||
guidelines_text = guideline_reasoning.split('###')[-1].strip() if guideline_reasoning else ""
|
guidelines_text = guideline_reasoning.split('###')[-1].strip() if guideline_reasoning else ""
|
||||||
final_messages = append_user_last_message(final_messages, f"\n\nGuidelines:\n{guidelines_text}\nPlease follow these guidelines step by step.")
|
final_messages = append_assistant_last_message(final_messages, f"language:{get_language_text(language)}\n\nGuidelines:\n{guidelines_text}\n I will follow these guidelines step by step.")
|
||||||
|
else:
|
||||||
|
final_messages = append_assistant_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
||||||
|
|
||||||
# 第三阶段:agent响应流式传输
|
# 第三阶段:agent响应流式传输
|
||||||
logger.info(f"Starting agent stream response")
|
logger.info(f"Starting agent stream response")
|
||||||
@ -359,13 +378,14 @@ async def create_agent_and_generate_response(
|
|||||||
|
|
||||||
# 准备最终的消息
|
# 准备最终的消息
|
||||||
final_messages = messages.copy()
|
final_messages = messages.copy()
|
||||||
final_messages = append_user_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
|
||||||
pre_message_list = []
|
pre_message_list = []
|
||||||
if guideline_reasoning:
|
if guideline_reasoning:
|
||||||
# 用###分割guideline_reasoning,取最后一段作为Guidelines
|
# 用###分割guideline_reasoning,取最后一段作为Guidelines
|
||||||
guidelines_text = guideline_reasoning.split('###')[-1].strip() if guideline_reasoning else ""
|
guidelines_text = guideline_reasoning.split('###')[-1].strip() if guideline_reasoning else ""
|
||||||
final_messages = append_user_last_message(final_messages, f"\n\nGuidelines:\n{guidelines_text}\nPlease follow these guidelines step by step.")
|
final_messages = append_assistant_last_message(final_messages, f"language:{get_language_text(language)}\n\nGuidelines:\n{guidelines_text}\n I will follow these guidelines step by step.")
|
||||||
pre_message_list.append({"role": "assistant","reasoning_content": guideline_reasoning+ "\n"})
|
pre_message_list.append({"role": "assistant","reasoning_content": guideline_reasoning+ "\n"})
|
||||||
|
else:
|
||||||
|
final_messages = append_assistant_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
||||||
|
|
||||||
# 非流式响应
|
# 非流式响应
|
||||||
agent_responses = agent.run_nonstream(final_messages)
|
agent_responses = agent.run_nonstream(final_messages)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user