修复工具调用问题
This commit is contained in:
parent
12cdb7679a
commit
403df9de35
@ -251,7 +251,8 @@ def process_messages(messages: List[Dict], language: Optional[str] = None) -> Li
|
||||
assistant_content = ""
|
||||
function_calls = []
|
||||
tool_responses = []
|
||||
tool_id = ""
|
||||
tool_id_counter = 0 # 添加唯一的工具调用计数器
|
||||
tool_id_list = []
|
||||
for i in range(0, len(parts)):
|
||||
if i % 2 == 0: # 文本内容
|
||||
text = parts[i].strip()
|
||||
@ -272,8 +273,9 @@ def process_messages(messages: List[Dict], language: Optional[str] = None) -> Li
|
||||
if exclude_name in function_name:
|
||||
should_include = True
|
||||
break
|
||||
|
||||
if should_include:
|
||||
|
||||
if should_include and len(tool_id_list)>0:
|
||||
tool_id = tool_id_list.pop(0)
|
||||
# 将 TOOL_RESPONSE 包装成 tool_result 消息,紧跟对应的 tool_use
|
||||
final_messages.append({
|
||||
"role": TOOL,
|
||||
@ -296,7 +298,9 @@ def process_messages(messages: List[Dict], language: Optional[str] = None) -> Li
|
||||
break
|
||||
|
||||
if should_include:
|
||||
tool_id = f"tool_id_{i}"
|
||||
tool_id = f"tool_id_{tool_id_counter}" # 使用唯一计数器
|
||||
tool_id_list.append(tool_id)
|
||||
tool_id_counter += 1 # 递增计数器
|
||||
final_messages.append({
|
||||
"role": ASSISTANT,
|
||||
"content": "",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user