mirror of https://github.com/langgenius/dify.git
improved: handling TextResourceContents result
This commit is contained in:
parent
d9373dc957
commit
6570f52b5a
|
|
@ -13,6 +13,7 @@ from core.mcp.types import (
|
|||
EmbeddedResource,
|
||||
ImageContent,
|
||||
TextContent,
|
||||
TextResourceContents,
|
||||
)
|
||||
from core.tools.__base.tool import Tool
|
||||
from core.tools.__base.tool_runtime import ToolRuntime
|
||||
|
|
@ -64,10 +65,15 @@ class MCPTool(Tool):
|
|||
yield self.create_blob_message(
|
||||
blob=base64.b64decode(content.data), meta={"mime_type": content.mimeType}
|
||||
)
|
||||
elif isinstance(content, EmbeddedResource) and isinstance(content.resource, BlobResourceContents):
|
||||
yield self.create_blob_message(
|
||||
blob=base64.b64decode(content.resource.blob), meta={"mime_type": content.resource.mimeType}
|
||||
)
|
||||
elif isinstance(content, EmbeddedResource):
|
||||
resource = content.resource
|
||||
if isinstance(resource, TextResourceContents):
|
||||
yield self.create_text_message(resource.text)
|
||||
elif isinstance(resource, BlobResourceContents):
|
||||
mime_type = resource.mimeType or "application/octet-stream"
|
||||
yield self.create_blob_message(blob=base64.b64decode(resource.blob), meta={"mime_type": mime_type})
|
||||
else:
|
||||
raise ToolInvokeError(f"Unsupported embedded resource type: {type(resource)}")
|
||||
else:
|
||||
logger.warning("Unsupported content type=%s", type(content))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue