From ff06db7ec110a5ee41b90677da020ee5b748d6a1 Mon Sep 17 00:00:00 2001 From: xupei Date: Fri, 3 Jan 2025 14:43:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=8F=90=E5=8F=96=E5=90=8E=E7=9A=84=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=BE=93=E5=85=A5=EF=BC=8C=E5=86=8D=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E5=88=B0=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat_robot/script/service/CallQWen.py | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/app/service/chat_robot/script/service/CallQWen.py b/app/service/chat_robot/script/service/CallQWen.py index 781ba22..9f4abca 100644 --- a/app/service/chat_robot/script/service/CallQWen.py +++ b/app/service/chat_robot/script/service/CallQWen.py @@ -240,35 +240,37 @@ def call_with_messages(message, gender): # 如果模型选择的工具是internet_search elif assistant_output.tool_calls[0]['function']['name'] == 'internet_search': tool_info = {"name": "search_from_internet", "role": "tool"} + content = json.loads(assistant_output.tool_calls[0]['function']['arguments']) message = [ - {'role': 'assistant', 'content': user_input} + {'role': 'assistant', 'content': content['query']} ] tool_info['content'] = search_from_internet(message) flag = False result_content = tool_info['content'].output.text # 如果模型选择的工具是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()} - # 如果模型选择的工具是get_table_info - elif assistant_output.tool_calls[0]['function']['name'] == 'get_table_info': - tool_info = {"name": "get_table_info", "role": "tool"} - table_names = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['table_names'] - tool_info['content'] = get_table_info(table_names) - # 如果模型选择的工具是query_database - elif assistant_output.tool_calls[0]['function']['name'] == 'query_database': - tool_info = {"name": "query_database", "role": "tool"} - sql_string = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['sql_string'] - tool_info['content'] = query_database(sql_string) - flag = False - result_content = tool_info['content'] - response_type = "image" + # elif assistant_output.tool_calls[0]['function']['name'] == 'get_database_table': + # tool_info = {"name": "get_database_table", "role": "tool", 'content': get_database_table()} + # # 如果模型选择的工具是get_table_info + # elif assistant_output.tool_calls[0]['function']['name'] == 'get_table_info': + # tool_info = {"name": "get_table_info", "role": "tool"} + # table_names = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['table_names'] + # tool_info['content'] = get_table_info(table_names) + # # 如果模型选择的工具是query_database + # elif assistant_output.tool_calls[0]['function']['name'] == 'query_database': + # tool_info = {"name": "query_database", "role": "tool"} + # sql_string = json.loads(assistant_output.tool_calls[0]['function']['arguments'])['sql_string'] + # tool_info['content'] = query_database(sql_string) + # flag = False + # result_content = tool_info['content'] + # response_type = "image" elif assistant_output.tool_calls[0]['function']['name'] == 'tutorial_tool': tool_info = {"name": "tutorial_tool", "role": "tool", 'content': tutorial_tool()} flag = False result_content = tool_info['content'] 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", - 'content': get_image_from_vector_db(gender, user_input)} + 'content': get_image_from_vector_db(gender, content['parameters']['content'])} flag = False result_content = tool_info['content'] response_type = "image"