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}} 变量。
添加多模态变量

3. 定义自定义评估器

你可以创建使用数据集示例中多模态内容的评估器。
评估器必须使用同时支持相应输入模态和结构化输出的模型。对于音频附件,目前仅 Gemini 支持此功能。图像和 PDF 附件可与任何能够处理视觉内容并返回结构化输出的模型一起使用。
由于你的数据集已经包含带附件的示例(在第 1 步中添加),因此可以在评估器中直接引用这些附件。具体步骤如下:
  1. 在数据集页面中选择 + Evaluator。
  2. 在 Template variables 编辑器中,为要包含的附件添加变量:
    • 如果你希望包含特定附件,可以使用建议的变量名,例如 {{attachment.file_name}}。该变量会将附件列表中 file_name 对应的文件传递给评估器。
    • 如果你希望包含所有附件,请使用 {{attachments}} 变量。
    Create evaluator modal with an audio attachment selected for output variable.
评估器随后可以结合这些附件和模型输出,对质量进行判断。例如,你可以创建一个评估器来:
  • 检查图像描述是否与实际图像内容匹配。
  • 验证转录内容是否准确反映音频。
  • 验证从 PDF 中提取的文本是否正确。
你还可以创建不使用附件、仅评估模型文本输出的纯文本评估器:
  • OCR → 文本校正:使用视觉模型从文档中提取文本,然后评估提取结果的准确性。
  • 语音转文本 → 转录质量:使用语音模型将音频转录为文本,然后将转录结果与参考答案进行比较。
如果你的跟踪记录在输入或输出中包含 base64 编码的多模态内容(例如,你按照记录多模态跟踪记录指南进行了操作),则无需使用附件即可对其进行评估。在评估器提示词中使用标准变量映射(例如 {{input}} 或 {{output}}),base64 内容就会被正确传递给 LLM 评估器,以便进行可视化和评估。
有关定义自定义评估器的更多信息,请参阅 LLM 作为评判者指南。

4. 更新带附件的示例

在 UI 中,附件大小限制为 20MB。
在 UI 中编辑示例时,你可以:
  • 上传新附件
  • 重命名和删除附件
  • 使用快速重置按钮将附件恢复到之前的状态
在点击提交之前,不会保存更改。编辑附件