主题
用多模态内容运行一次评估
学习如何在运行带多模态内容的 LangSmith 评估时,创建带文件附件的数据集示例,并在提示和评估器中使用它们。
LangSmith 让你创建带文件附件(如图片、音频文件或文档)的数据集示例,并在带多模态内容运行评估时把它们用在你的提示和评估器中。
虽然你可以用 base64 编码把多模态数据包含在你的示例中,但这种斘法效率低下——编码后的数据比原始二进制文件占用更多空间,导致与 LangSmith 之间的传输变慢。改用附件有两个关键好处:
- 由于更高效的二进制文件传输,上传和下载速度更快。
- 在 LangSmith UI 中对不同文件类型的可视化增强。
本指南介绍如何创建带附件的示例、构建使用那些附件的多模态提示和评估器,以及如何用多模态内容运行评估。选择 UI 或 SDK 标签开始。
选择你偏好的方法:
1. 创建带附件的示例
你可以用几种不同方式向数据集添加带附件的示例。
从现有运行
在向一个 LangSmith 数据集添加运行时,附件可以被选择性地从源运行传播到目标示例。要了解更多,参阅在应用中管理数据集。

从零开始
你可以直接从 LangSmith UI 创建带附件的示例。在数据集 UI 的 Examples 标签中点击 + Example 按钮。然后用 "Upload Files" 按钮上传附件:

上传后,你可以在 LangSmith UI 中查看带附件的示例。每个附件都会带一个预览渲染,以便轻松检视。 
2. 创建一个多模态提示
LangSmith UI 允许你在评估多模态模型时,在你的提示中包含附件:
首先,点击你想想添加多模态内容的消息中的文件图标。接下来,为你想在每个示例中包含的附件添加一个模板变量。
如果你想包含一个特定的附件,你可以使用建议的变量名,例如
{attachment.file_name},它会把附件列表中带file_name的文件映射过来,以传给评估器如果你想包含所有附件,使用
{attachments}变量。<video autoplay loop muted playsinline width="1700" height="1080" style="max-width:100%" preload="metadata" poster="/langsmith-img/f5f52a38df14-poster.jpg" aria-label="Adding multimodal variable"> <source src="/langsmith-img/f5f52a38df14.mp4" type="video/mp4" /> </video>
3. 定义自定义评估器
你可以创建使用来自你数据集示例多模态内容的评估器。
NOTE
评估器必须使用一个同时支持输入模态和结构化输出的模型。对于音频附件,目前只有 Gemini。图片和 PDF 附件适用于任何返回结构化输出的具备视觉能力的模型。
由于你的数据集已经有带附件的示例(在步骤 1 中添加),你可以直接在评估器中引用它们。要这样做:
从数据集页面选择 + Evaluator。
在 Template variables 编辑器中,为要包含的附件添加一个变量:
如果你想包含一个特定的附件,你可以使用建议的变量名,例如
{attachment.file_name},它会把附件列表中带file_name的文件映射过来,以传给评估器。如果你想包含所有附件,使用
{attachments}变量。

然后评估器可以使用这些附件,连同模型的输出来判断质量。例如,你可以创建一个评估器:
- 检查一个图片描述是否与实际图片内容相符。
- 验证一个转写是否准确反映了音频。
- 校验从一个 PDF 提取的文本是否正确。
你也可以创建不使用附件、但评估模型文本输出的纯文本评估器:
- OCR → 文本纠错:用一个视觉模型从文档提取文本,然后评估提取输出的准确性。
- 语音转文本 → 转写质量:用一个语音模型把音频转写为文本,然后针对你的参考评估该转写。
TIP
如果你的追踪在其输入或输出中包含 base64 编码的多模态内容(例如,你遵循了记录多模态追踪指南),你无需附件就能评估它们。在你的评估器提示中使用标准变量映射——例如 {input} 或 {output}——base64 内容就会被正确传给 LLM 评估器以可视化和评估。
有关定义自定义评估器的更多信息,参阅 LLM as Judge 指南。
4. 更新带附件的示例
NOTE
在 UI 中附件大小限制为 20MB。
在 UI 中编辑一个示例时,你可以:
- 上传新附件
- 重命名和删除附件
- 用快速重置按钮把附件重置到其先前状态
在你点击提交之前,更改不会被保存。