- 由于更高效的二进制文件传输,上传和下载速度更快
- 在 LangSmith UI 中增强了不同文件类型的可视化
SDK
1. 使用附件创建示例
要使用 SDK 上传带有附件的示例,请使用 create_examples / update_examples Python 方法或 uploadExamplesMultipart / updateExamplesMultipart TypeScript 方法。Python
需要langsmith>=0.3.13
TypeScript
需要版本 >= 0.2.13 您可以使用uploadExamplesMultipart 方法上传带有附件的示例。
请注意,这是与标准 createExamples 方法不同的方法,后者目前不支持附件。每个附件需要 Uint8Array 或 ArrayBuffer 作为数据类型。
Uint8Array:用于直接处理二进制数据。ArrayBuffer:表示固定长度的二进制数据,可以根据需要转换为Uint8Array。
除了以字节形式传入外,附件也可以指定为本地文件的路径。为此,请为附件的
data 值传入路径,并指定参数 dangerously_allow_filesystem=True:2. 运行评估
定义目标函数
现在我们有了包含带附件示例的数据集,我们可以定义一个目标函数来运行这些示例。以下示例简单地使用 OpenAI 的 GPT-4o 模型来回答有关图像和音频片段的问题。Python
您正在评估的目标函数必须有两个位置参数才能使用与示例关联的附件,第一个必须称为inputs,第二个必须称为 attachments。
inputs参数是一个字典,包含示例的输入数据,不包括附件。attachments参数是一个字典,将附件名称映射到包含预签名 URL、mime_type 和文件字节内容读取器的字典。您可以使用预签名 URL 或读取器来获取文件内容。附件字典中的每个值都是一个具有以下结构的字典:
TypeScript
在 TypeScript SDK 中,如果includeAttachments 设置为 true,则使用 config 参数将附件传递给目标函数。
config 将包含 attachments,它是一个将附件名称映射到以下形式对象的对象:
定义自定义评估器
确定评估器是否应接收附件的规则与上面完全相同。 下面的评估器使用 LLM 来判断推理和答案是否一致。要了解更多关于如何定义基于 LLM 的评估器的信息,请参阅此指南。使用附件更新示例
在上面的代码中,我们展示了如何向数据集添加带附件的示例。您也可以使用 SDK 更新这些示例。 与现有示例一样,当您使用附件更新数据集时,数据集会生成新版本。因此,您可以转到数据集的版本历史记录,查看对每个示例所做的更改。要了解更多信息,请参阅此指南。 在更新带附件的示例时,您可以通过几种方式调整附件:- 传入新的附件
- 重命名现有附件
- 删除现有附件
- 任何未明确重命名或保留的现有附件都会被删除。
- 如果您在
retain或rename中传入一个不存在的附件名称,将会抛出错误。 - 当同一附件名称同时出现在
attachments和attachment_operations字段中时,新附件的优先级更高。
UI
1. 创建带附件的示例
您可以通过几种不同的方式向数据集添加带附件的示例。从现有运行
将运行添加到 LangSmith 数据集时,可以选择性地将附件从源运行传播到目标示例。要了解更多信息,请参阅此指南。
从头开始
您可以直接从 LangSmith UI 创建带附件的示例。单击数据集 UI 的Examples 选项卡中的 + Example 按钮。然后使用”Upload Files”按钮上传附件:
上传后,您可以在 LangSmith UI 中查看带附件的示例。每个附件都将呈现预览,以便于检查。
2. 创建多模态提示
LangSmith UI 允许您在评估多模态模型时在提示中包含附件: 首先,单击要添加多模态内容的消息中的文件图标。接下来,为您要为每个示例包含的附件添加模板变量。- 对于单个附件类型:使用建议的变量名。注意:所有示例必须具有此名称的附件。
- 对于多个附件,或者如果您的附件在不同示例之间具有不同的名称:使用
All attachments变量来包含每个示例的所有可用附件。
定义自定义评估器
LangSmith playground 目前不支持将多模态内容拉入评估器。如果这对您的用例有帮助,请在 LangChain Forum 中告诉我们(如果您还不是会员,请在此处注册)!
- OCR → 文本校正:使用视觉模型从文档中提取文本,然后评估提取输出的准确性。
- 语音转文本 → 转录质量:使用语音模型将音频转录为文本,然后根据您的参考评估转录。
使用附件更新示例
UI 中的附件大小限制为 20MB。
- 上传新附件
- 重命名和删除附件
- 使用快速重置按钮将附件重置为其先前状态