修改guideline_prompt:只需要列出详细的工具调用步骤即可,不需要考虑回复用户的话术,步骤数量根据实际需求调整。
This commit is contained in:
parent
25f8f7c98f
commit
c58b20e56f
@ -18,7 +18,7 @@
|
||||
- **优先级排序**: 确定任务执行顺序
|
||||
|
||||
### 3. 计划阶段 (Planning)
|
||||
- **步骤制定**: 详细的执行步骤,步骤数量根据实际需求调整,每个步骤应具体可执行
|
||||
- **步骤制定**: 只需要列出详细的工具调用步骤即可,不需要考虑回复用户的话术,步骤数量根据实际需求调整。
|
||||
|
||||
|
||||
---
|
||||
|
||||
@ -57,6 +57,25 @@ def append_user_last_message(messages: list, content: str) -> bool:
|
||||
messages[-1]['content'] += content
|
||||
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(
|
||||
@ -243,12 +262,12 @@ async def enhanced_generate_stream_response(
|
||||
|
||||
# 准备最终的消息
|
||||
final_messages = messages.copy()
|
||||
final_messages = append_user_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
||||
|
||||
if guideline_reasoning:
|
||||
# 用###分割guideline_reasoning,取最后一段作为Guidelines
|
||||
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响应流式传输
|
||||
logger.info(f"Starting agent stream response")
|
||||
@ -359,13 +378,14 @@ async def create_agent_and_generate_response(
|
||||
|
||||
# 准备最终的消息
|
||||
final_messages = messages.copy()
|
||||
final_messages = append_user_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
||||
pre_message_list = []
|
||||
if guideline_reasoning:
|
||||
# 用###分割guideline_reasoning,取最后一段作为Guidelines
|
||||
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"})
|
||||
else:
|
||||
final_messages = append_assistant_last_message(final_messages, f"\n\nlanguage:{get_language_text(language)}")
|
||||
|
||||
# 非流式响应
|
||||
agent_responses = agent.run_nonstream(final_messages)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user