mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 04:15:25 +00:00
refac
This commit is contained in:
parent
f1bbf3a91e
commit
c55afc4255
2 changed files with 25 additions and 1 deletions
|
|
@ -71,6 +71,30 @@ class MCPClient:
|
||||||
else:
|
else:
|
||||||
return result_content
|
return result_content
|
||||||
|
|
||||||
|
async def list_resources(self, cursor: Optional[str] = None) -> Optional[dict]:
|
||||||
|
if not self.session:
|
||||||
|
raise RuntimeError("MCP client is not connected.")
|
||||||
|
|
||||||
|
result = await self.session.list_resources(cursor=cursor)
|
||||||
|
if not result:
|
||||||
|
raise Exception("No result returned from MCP list_resources call.")
|
||||||
|
|
||||||
|
result_dict = result.model_dump()
|
||||||
|
resources = result_dict.get("resources", [])
|
||||||
|
|
||||||
|
return resources
|
||||||
|
|
||||||
|
async def read_resource(self, uri: str) -> Optional[dict]:
|
||||||
|
if not self.session:
|
||||||
|
raise RuntimeError("MCP client is not connected.")
|
||||||
|
|
||||||
|
result = await self.session.read_resource(uri)
|
||||||
|
if not result:
|
||||||
|
raise Exception("No result returned from MCP read_resource call.")
|
||||||
|
result_dict = result.model_dump()
|
||||||
|
|
||||||
|
return result_dict
|
||||||
|
|
||||||
async def disconnect(self):
|
async def disconnect(self):
|
||||||
# Clean up and close the session
|
# Clean up and close the session
|
||||||
if self.session:
|
if self.session:
|
||||||
|
|
|
||||||
|
|
@ -2584,7 +2584,7 @@ async def process_chat_response(
|
||||||
):
|
):
|
||||||
file_url = get_file_url_from_base64(
|
file_url = get_file_url_from_base64(
|
||||||
request,
|
request,
|
||||||
f"data:{item.get('mimeType')};base64,{item.get('data', '')}",
|
f"data:{item.get('mimeType')};base64,{item.get('data', item.get('blob', ''))}",
|
||||||
{
|
{
|
||||||
"chat_id": metadata.get(
|
"chat_id": metadata.get(
|
||||||
"chat_id", None
|
"chat_id", None
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue