Insights 会自动分析您的追踪记录,以检测使用模式、常见的代理行为和故障模式,因此您无需手动检查数千条追踪记录。 Insights 使用分层分类来理解您的数据,并突出显示可采取行动的趋势。
Insights 适用于 LangSmith Plus 和 Enterprise 计划。

前提条件

  • 在您的工作区中为 Insights 设置好模型配置。
  • 具备在 LangSmith 中创建规则的权限(生成新的 Insights 报告所需)。
  • 具备在 LangSmith 中查看追踪项目的权限(查看现有 Insights 报告所需)。

生成您的第一份 Insights 报告

  1. 在左侧菜单中进入 Tracing Projects,然后选择一个追踪项目。
  2. 点击右上角的 +New,然后点击 New Insights Report,为该项目生成新的洞察。
  3. 输入任务名称。
  4. 如果尚未配置,请在工作区设置中为 Insights配置模型。
  5. 回答引导问题,将 Insights 报告聚焦于您想了解的代理信息,然后点击 Run job。
切换到 Manual 模式,以手动配置任务。
这将启动一个后台 Insights 报告。报告最多可能需要 30 分钟才能完成。
使用 OpenAI 模型分析超过 1,000 个线程通常需要花费 $1.00-$2.00,使用当前 Anthropic 模型则需要花费 $3.00-$4.00。成本会随采样线程数和每个线程的大小而增加。

了解结果

任务完成后,您可以进入 Insights 标签页,在那里看到 Insights 报告表格。每份报告都包含针对追踪项目中特定追踪记录样本生成的洞察。

单个追踪项目的 Insights 报告

点击任务,即可查看按照一组自动生成的类别组织的追踪记录。 您可以逐层查看类别和子类别,以了解底层追踪记录、反馈和运行统计信息。

与 https://chat.langchain.com 聊天机器人的常见对话主题

执行摘要

每份报告的顶部都有一份执行摘要,其中列出了在追踪记录中发现的最重要模式,包括:
  • 关键发现,以及每种模式出现频率的百分比。
  • 可点击的引用(例如 #1、#2、#3),指向代理识别出的与您的问题特别相关的追踪记录。

顶级类别

您的追踪记录会自动分组到顶级类别中,这些类别代表数据中最广泛的模式。 分布条显示每种模式出现的频率,帮助您轻松发现发生频率高于或低于预期的行为。 每个类别都有简要说明,并会显示其中追踪记录的聚合指标,包括:
  • 典型的追踪记录统计信息(例如错误率、延迟和成本)
  • 评估器提供的反馈分数
  • 作为任务一部分提取的属性

子类别

点击任意类别即可查看其子类别细分,从而更细致地了解该追踪记录类别中的交互模式。 在 Chat Langchain 示例中,Data & Retrieval 下有 Vector Stores 和 Data Ingestion 等子类别。

单条追踪记录

点击进入追踪记录表,即可查看分配到每个类别或子类别的追踪记录。在那里,您可以点击任意追踪记录,查看完整的对话详情。

配置任务

您可以使用自动生成流程创建 Insights 报告,也可以手动配置。

自动生成配置

  1. 打开 New Insights,并确保 Auto 开关处于启用状态。
  2. 回答有关代理用途、您想了解的信息以及追踪记录结构的自然语言问题。Insights 会将您的回答转换为配置草稿(任务名称、摘要提示词、属性和采样默认值)。
  3. 选择提供商,然后点击 Generate config 预览配置,或点击 Run job 立即启动任务。
提供有用的上下文 为了获得最佳结果,请针对每个提示词撰写一两句话,为 Insights 提供所需的上下文——您希望了解什么、哪些信号或字段最重要,以及哪些信息您已经知道没有用处。您越清楚代理的功能及其追踪记录的结构,Insights 就越能以具体、可操作且符合您分析数据方式的形式对示例进行分组。 描述您的追踪记录 说明数据的组织方式:这些是单次运行,还是多轮对话?哪些输入和输出包含关键信息?这有助于 Insights 生成聚焦于重要信息的摘要提示词和属性。如有需要,您还可以直接指定摘要提示词部分中的变量。

选择模型

Insights 使用两个模型:
  • 思考模型:执行聚类步骤(能力更强,成本更高)。
  • 摘要模型:生成每条追踪记录的摘要(速度更快,成本更低)。
两个模型都从您在工作区中配置的提供商中选择。当您在模型配置中为 Insights 启用了特定模型时,可以分别选择这些模型。如果没有配置单独的模型,则选择提供商(OpenAI 或 Anthropic),Insights 会使用该提供商的默认模型。 为了获得最佳结果,建议两个角色使用同一提供商的模型。

手动配置

手动配置可以提供更多控制,例如预先定义希望将数据分组到的类别,或定位符合特定反馈分数和筛选条件的追踪记录。

选择追踪记录

  • Sample size:要分析的追踪记录最大数量(上限为 1,000 条)。
  • Time range:从此时间范围内采样追踪记录。
  • Filters:其他追踪记录筛选条件。调整筛选条件时,您会看到符合条件的追踪记录数量。

类别

默认情况下,顶级类别会根据底层追踪记录自下而上自动生成。 在某些情况下,您可能已经明确知道感兴趣的类别,并希望任务将追踪记录归入这些预定义类别。 配置中的 Categories 部分允许您列出希望使用的顶级类别名称和描述,从而实现这一点。 算法仍会在预定义的顶级类别内自动生成子类别。 任务完成后,发现的顶级类别会自动保存回配置,但仅当配置之前没有定义任何类别时才会这样做。这意味着后续计划运行会重复使用这些类别,以保持一致性。

摘要提示词

任务的第一步是为每条追踪记录创建简短摘要,然后根据这些摘要进行分类。 提取正确的信息对于获得有用的类别至关重要。 您可以编辑用于生成这些摘要的提示词。编辑提示词时需要考虑以下两点:
  • 摘要指令:摘要中未包含的信息不会影响生成的类别,因此请明确说明需要从每条追踪记录中提取哪些重要信息。
  • 追踪记录内容:使用 Mustache 格式指定将追踪记录的哪些部分传递给摘要模型。包含大量输入和输出的大型追踪记录可能成本较高,也会引入噪声。将提示词缩减为仅包含追踪记录中最相关的部分,可以改善结果。
您必须使用以下至少一个模板变量,指定要发送给摘要模型的追踪记录部分: 您可以使用点号表示法访问嵌套字段。例如,{{run.inputs.foo.bar}} 只包含最近一次运行输入中 foo 字段内的 bar 字段。
对于启用了线程的项目,Insights 会分析完整对话。每个线程中只有最近一次根运行会用于 run.* 变量。使用 all_thread_messages 可访问完整的对话历史。

属性

除了摘要之外,您还可以定义要从每条追踪记录中提取的其他字符串、数值和布尔属性。 这些属性会影响分类步骤——具有相似属性值的追踪记录通常会被归入同一类别。 您还可以查看每个类别中的这些属性聚合结果。 例如,您可能希望从每条追踪记录中提取 user_satisfied: boolean 属性,引导算法将正面和负面的用户体验分别划分到不同类别中,并查看每个类别的平均用户满意度。

筛选属性

您可以在布尔属性上使用 filter_by 参数,在生成洞察之前预先筛选追踪记录。启用后,只有属性计算结果为 true 的追踪记录才会包含在分析中。 当您希望将 Insights 报告聚焦于特定追踪记录子集时,这非常有用。例如,只分析错误、只检查英语对话,或只包含符合特定质量标准的追踪记录。 工作原理:
  • 在为 Insights 创建配置时,为任意布尔属性添加 "filter_by": true。
  • LLM 会在摘要过程中根据属性描述评估每条追踪记录。
  • 属性为 false 或缺失的追踪记录会在生成洞察前被排除。

计划 Insights 报告

计划 Insights 报告,使其按固定周期自动运行。创建或编辑配置时,在 Schedule 部分选择:
  • Daily:每天 8:00 UTC 运行。
  • Weekly on Monday:每周一 8:00 UTC 运行。
  • Custom:输入自定义 cron 表达式(使用 UTC)。
每次计划运行都会使用保存的配置生成一份新报告。时间范围会动态计算。例如,“过去 24 小时”始终会在执行时分析最近的 24 小时时间窗口。

保存配置

您可以选择使用 Save as 按钮保存配置,以便将来重复使用。 如果您希望长期比较 Insights 报告,以识别用户和代理行为的变化,这项功能尤其有用。 创建新的 Insights 报告时,可以在窗格左上角的下拉菜单中选择之前保存的配置。