read_file 工具读取非文本文件,并从自定义工具中返回多模态内容。
内置的 上下文压缩 主要面向文本。请根据多模态工作负载进行规划:将大型媒体存储在后端,并在可能的情况下传递引用。
多模态用户输入
在发送给智能体的messages 中传递多模态内容,使用与 LangChain 对话模型相同的 标准内容块:
:::python
内置的 read_file 工具
harness read_file 工具返回 标准内容块 以支持的多模态文件,而不是纯文本。当选择的模型支持相应的模态时,智能体可以检查其 文件系统 中存储的图像、文档和媒体。检查你选择的模型支持的 MIME 类型。
Supported multimodal file extensions
Supported multimodal file extensions
自定义工具输出
自定义工具 可以包含多模态文件,例如图像: :::pythonToolMessage。使用 content_blocks 在结果消息中访问归一化表示。
:::python
关于返回类型选项、序列化行为和 MCP 示例,请参阅 多模态内容。
:::
上下文压缩和多模态内容
内置的卸载和摘要针对文本和消息历史进行了优化:- 卸载 仅测量文本 Token。非文本块(包括图像)在替换消息中保留,而不是被压缩。仅包含图像的消息不会根据图像大小单独卸载。
-
摘要 将较旧的消息压缩为纯文本摘要。在该范围内的图像、音频、视频和文件块不会被传递——模型只看到摘要器写的内容。低于保留阈值的最近消息保持不变。
当摘要运行时,较旧回合中的媒体块会从活动上下文中删除:
:::python
::: :::js::: 原始对话仍然作为文本写入文件系统。有关触发器、保留阈值和完整流程,请参阅 摘要。
- 将图像、截图和图表存储在文件系统后端或外部对象存储中,然后通过消息传递文件路径或 URL。
- 在长时间运行的对话中,优先使用引用而不是 base64 编码的图像块。
- 使用 子智能体 进行图像密集型检查,以便主智能体接收紧凑的文本结果。
- 调整摘要阈值或在你的提供程序为图像收费许多 Token 时提供自定义 Token 计数器。
官方原文:src/oss/deepagents/multimodal.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。