mirror of
https://github.com/open-webui/open-webui
synced 2025-03-23 22:31:38 +00:00
refac
This commit is contained in:
parent
5a168ecc2a
commit
c93a10388b
@ -787,6 +787,7 @@ async def generate_chat_completion(
|
|||||||
):
|
):
|
||||||
payload = {**form_data.model_dump(exclude_none=True)}
|
payload = {**form_data.model_dump(exclude_none=True)}
|
||||||
log.debug(f"{payload = }")
|
log.debug(f"{payload = }")
|
||||||
|
|
||||||
if "metadata" in payload:
|
if "metadata" in payload:
|
||||||
del payload["metadata"]
|
del payload["metadata"]
|
||||||
|
|
||||||
|
@ -448,38 +448,44 @@ async def chat_completion_tools_handler(
|
|||||||
if not content:
|
if not content:
|
||||||
return body, {}
|
return body, {}
|
||||||
|
|
||||||
content = content[content.find("{") : content.rfind("}") + 1]
|
|
||||||
result = json.loads(content)
|
|
||||||
|
|
||||||
tool_function_name = result.get("name", None)
|
|
||||||
if tool_function_name not in tools:
|
|
||||||
return body, {}
|
|
||||||
|
|
||||||
tool_function_params = result.get("parameters", {})
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
tool_output = await tools[tool_function_name]["callable"](
|
content = content[content.find("{") : content.rfind("}") + 1]
|
||||||
**tool_function_params
|
if not content:
|
||||||
)
|
raise Exception("No JSON object found in the response")
|
||||||
|
|
||||||
|
result = json.loads(content)
|
||||||
|
|
||||||
|
tool_function_name = result.get("name", None)
|
||||||
|
if tool_function_name not in tools:
|
||||||
|
return body, {}
|
||||||
|
|
||||||
|
tool_function_params = result.get("parameters", {})
|
||||||
|
|
||||||
|
try:
|
||||||
|
tool_output = await tools[tool_function_name]["callable"](
|
||||||
|
**tool_function_params
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
tool_output = str(e)
|
||||||
|
|
||||||
|
if tools[tool_function_name]["citation"]:
|
||||||
|
citations.append(
|
||||||
|
{
|
||||||
|
"source": {
|
||||||
|
"name": f"TOOL:{tools[tool_function_name]['toolkit_id']}/{tool_function_name}"
|
||||||
|
},
|
||||||
|
"document": [tool_output],
|
||||||
|
"metadata": [{"source": tool_function_name}],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if tools[tool_function_name]["file_handler"]:
|
||||||
|
skip_files = True
|
||||||
|
|
||||||
|
if isinstance(tool_output, str):
|
||||||
|
contexts.append(tool_output)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
tool_output = str(e)
|
log.exception(f"Error: {e}")
|
||||||
|
content = None
|
||||||
if tools[tool_function_name]["citation"]:
|
|
||||||
citations.append(
|
|
||||||
{
|
|
||||||
"source": {
|
|
||||||
"name": f"TOOL:{tools[tool_function_name]['toolkit_id']}/{tool_function_name}"
|
|
||||||
},
|
|
||||||
"document": [tool_output],
|
|
||||||
"metadata": [{"source": tool_function_name}],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
if tools[tool_function_name]["file_handler"]:
|
|
||||||
skip_files = True
|
|
||||||
|
|
||||||
if isinstance(tool_output, str):
|
|
||||||
contexts.append(tool_output)
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.exception(f"Error: {e}")
|
log.exception(f"Error: {e}")
|
||||||
content = None
|
content = None
|
||||||
|
Loading…
Reference in New Issue
Block a user