优化函数参数解析,增加对JSON解析错误的处理;更新run_shell_command描述

This commit is contained in:
远野千束(神羽) 2024-12-16 03:02:05 +08:00
parent dacb5aa854
commit 006f925afd
2 changed files with 7 additions and 6 deletions

View File

@ -323,9 +323,12 @@ async def marsho(
if isinstance( if isinstance(
tool_call, ChatCompletionsToolCall tool_call, ChatCompletionsToolCall
): # 循环调用工具直到不需要调用 ): # 循环调用工具直到不需要调用
function_args = json.loads( try:
tool_call.function.arguments.replace("'", '"') function_args = json.loads(tool_call.function.arguments)
) except json.JSONDecodeError:
function_args = json.loads(
tool_call.function.arguments.replace("'", '"')
)
logger.info( logger.info(
f"调用函数 {tool_call.function.name} ,参数为 {function_args}" f"调用函数 {tool_call.function.name} ,参数为 {function_args}"
) )

View File

@ -97,9 +97,7 @@ async def run_python_code(code: str, b: Bot, e: MessageEvent) -> str:
@on_function_call( @on_function_call(
description="在设备上运行shell命令, Run command on this device" description="在设备上运行shell命令, Run command on this device"
).params(command=String(description="shell命令内容")).permission(SUPERUSER).name( ).params(command=String(description="shell命令内容")).permission(SUPERUSER)
"run_shell_command"
)
async def run_shell_command(command: str, b: Bot, e: MessageEvent) -> str: async def run_shell_command(command: str, b: Bot, e: MessageEvent) -> str:
"""运行shell命令""" """运行shell命令"""
try: try: