优化:使用模型提取后的用户输入,再输入到模型

This commit is contained in:
2025-01-03 14:43:05 +08:00
parent 1ff5de111b
commit ff06db7ec1

View File

@@ -240,35 +240,37 @@ def call_with_messages(message, gender):
# 如果模型选择的工具是internet_search # 如果模型选择的工具是internet_search
elif assistant_output.tool_calls[0]['function']['name'] == 'internet_search': elif assistant_output.tool_calls[0]['function']['name'] == 'internet_search':
tool_info = {"name": "search_from_internet", "role": "tool"} tool_info = {"name": "search_from_internet", "role": "tool"}
content = json.loads(assistant_output.tool_calls[0]['function']['arguments'])
message = [ message = [
{'role': 'assistant', 'content': user_input} {'role': 'assistant', 'content': content['query']}
] ]
tool_info['content'] = search_from_internet(message) tool_info['content'] = search_from_internet(message)
flag = False flag = False
result_content = tool_info['content'].output.text result_content = tool_info['content'].output.text
# 如果模型选择的工具是get_database_table # 如果模型选择的工具是get_database_table
elif assistant_output.tool_calls[0]['function']['name'] == 'get_database_table': # elif assistant_output.tool_calls[0]['function']['name'] == 'get_database_table':
tool_info = {"name": "get_database_table", "role": "tool", 'content': get_database_table()} # tool_info = {"name": "get_database_table", "role": "tool", 'content': get_database_table()}
# 如果模型选择的工具是get_table_info # # 如果模型选择的工具是get_table_info
elif assistant_output.tool_calls[0]['function']['name'] == 'get_table_info': # elif assistant_output.tool_calls[0]['function']['name'] == 'get_table_info':
tool_info = {"name": "get_table_info", "role": "tool"} # tool_info = {"name": "get_table_info", "role": "tool"}
table_names = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['table_names'] # table_names = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['table_names']
tool_info['content'] = get_table_info(table_names) # tool_info['content'] = get_table_info(table_names)
# 如果模型选择的工具是query_database # # 如果模型选择的工具是query_database
elif assistant_output.tool_calls[0]['function']['name'] == 'query_database': # elif assistant_output.tool_calls[0]['function']['name'] == 'query_database':
tool_info = {"name": "query_database", "role": "tool"} # tool_info = {"name": "query_database", "role": "tool"}
sql_string = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['sql_string'] # sql_string = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['sql_string']
tool_info['content'] = query_database(sql_string) # tool_info['content'] = query_database(sql_string)
flag = False # flag = False
result_content = tool_info['content'] # result_content = tool_info['content']
response_type = "image" # response_type = "image"
elif assistant_output.tool_calls[0]['function']['name'] == 'tutorial_tool': elif assistant_output.tool_calls[0]['function']['name'] == 'tutorial_tool':
tool_info = {"name": "tutorial_tool", "role": "tool", 'content': tutorial_tool()} tool_info = {"name": "tutorial_tool", "role": "tool", 'content': tutorial_tool()}
flag = False flag = False
result_content = tool_info['content'] result_content = tool_info['content']
elif assistant_output.tool_calls[0]['function']['name'] == 'get_image_from_vector_db': elif assistant_output.tool_calls[0]['function']['name'] == 'get_image_from_vector_db':
content = json.loads(assistant_output.tool_calls[0]['function']['arguments'])
tool_info = {"name": "get_image_from_vector_db", "role": "tool", tool_info = {"name": "get_image_from_vector_db", "role": "tool",
'content': get_image_from_vector_db(gender, user_input)} 'content': get_image_from_vector_db(gender, content['parameters']['content'])}
flag = False flag = False
result_content = tool_info['content'] result_content = tool_info['content']
response_type = "image" response_type = "image"