LangSmith for the full product lifecycle: How Wordsmith quickly builds, debugs, and evaluates LLM performance in production

LangSmith 用于整个产品生命周期:Wordsmith 如何在生产环境中快速构建、调试和评估 LLM 性能

了解 WordSmith(一款面向法律团队的 AI 助手)如何在整个产品生命周期中(从原型设计、评估、调试到实验)使用 LangSmith。

5 分钟阅读

Wordsmith 是一款面向内部法律团队的人工智能助手,它利用客户知识库驱动的 LLM 来审查法律文件、起草电子邮件和生成合同。与其他法律人工智能工具不同,Wordsmith 拥有来自顶尖律师事务所的深厚领域知识,并且易于安装和使用。它无缝集成到电子邮件和消息传递系统中,可以为法律团队自动起草回复,模拟与团队中另一人协同工作时的体验。

在过去几个月里,随着 LLM 功能的指数级增长,WordSmith 的工程团队需要更清晰地了解 LLM 的性能和交互情况。 LangSmith 在理解生产环境中的情况以及衡量实验对关键参数的影响方面发挥了至关重要的作用。下面,我们将逐步介绍 LangSmith 在产品开发生命周期每个阶段提供的价值。

原型设计与开发:通过分层跟踪来处理复杂性

Wordsmith 的第一个功能是用于 Slack 的可配置 RAG 管道。现在,它已发展到支持针对各种数据源和目标进行复杂的多阶段推理。Wordsmith 会摄取 Slack 消息、Zendesk 票证、拉取请求和法律文件,在异构域和 NLP 任务集上提供准确的结果。除了获得正确的结果外,他们的团队还需要优化使用 OpenAI、Anthropic、Google 和 Mistral 的 LLM 的成本和延迟。

LangSmith 已成为 Wordsmith 增长的关键,使工程师能够快速自信地工作。凭借其作为跟踪服务的根本价值,LangSmith 帮助 Wordsmith 团队透明地评估其复杂的多阶段推理链中每个步骤的LLM 接收和产生的内容。推理的分层组织使他们在开发周期中能够快速迭代,比仅依赖 Cloudwatch 日志进行调试时快得多。

考虑以下代理工作流程的快照,其中 GPT-4 生成了一个错误的 Dynamo 查询:

代理工作流程中的无效 Dynamo 查询

这些工作流程最多可能包含 100 个嵌套推理,这使得梳理常规日志以查找错误响应的根本原因变得耗时且痛苦。借助 LangSmith 的开箱即用 跟踪 界面,诊断中间步骤的性能不佳变得无缝,从而能够更快地进行功能开发。

性能衡量:使用 LangSmith 数据集建立基线

可重复的衡量有助于将有前途的 GenAI 演示与可投入生产的产品区分开来。使用 LangSmith,Wordsmith 已经发布了各种评估集,用于 RAG、代理工作负载、属性提取,甚至基于 XML 的更改集定位等任务——促进了它们向生产环境的部署。

这些静态评估集提供了以下关键优势:

  1. 评估集明确了 Wordsmith 功能的要求。通过强制团队编写一组正确的问题和答案,他们为 LLM 设定了明确的期望和要求。
  2. 评估集使工程团队能够快速自信地进行迭代。例如,当 Claude 3.5 发布时,Wordsmith 团队在不到一个小时的时间内就能够将其性能与 GPT-4o 进行比较,并在当天将其发布到生产环境。没有明确定义的评估集,他们将不得不依赖临时查询,缺乏标准基线来自信地评估拟议的更改是否改善了用户结果。
  3. 评估集使 Wordsmith 团队能够在以准确性为关键约束的条件下优化成本和延迟。任务的复杂性并非统一,在可能的情况下使用更快、更便宜的模型可将特定任务的成本降低高达 10 倍。与 (2) 类似,如果没有预定义的评估标准集,这种优化将是耗时且容易出错的。
随时间跟踪代理工作流程的准确性

运营监控:通过 LangSmith 过滤器快速调试

使 LangSmith 成为开发理想工具的相同可见性功能也使其成为 Wordsmith 在线监控套件的核心部分。团队可以立即将生产错误与其 LangSmith 跟踪关联起来,通过简单地遵循 LangSmith URL 而不是翻阅日志,将调试推理的时间从几分钟缩短到几秒钟。

LangSmith 的索引查询也使其易于隔离与推理问题相关的生产错误:

生产环境出现什么问题?LangSmith 使隔离问题变得容易

在线实验:通过标签实现实验分析

Wordsmith 使用 Statsig 作为其功能标志/实验曝光库。利用 LangSmith 标签,可以轻松地将每次曝光映射到 LangSmith 中的相应标签,以便进行简化的实验分析。

只需几行代码,我们就可以将每次实验曝光与相应的 LangSmith 标签相关联

def get_runnable_config() -> RunnableConfig:
        llm_flags = get_all_llm_features() # 从 Statsig 获取实验
        return {
            "metadata": {
                "env": ENV,
            },
            "tags": [f"{flag}:{value}" for (flag, value) in llm_flags.items()] + [ENV], # 将实验与推理关联
        }


在 LangSmith 中,可以通过标签查询这些曝光,从而实现简化的分析和实验组之间的比较。

测试
比较

使用基本过滤器,他们可以提取 LangSmith 中的所有实验曝光,将其保存到新数据集中,然后导出数据集以进行下游分析。因此,LangSmith 在 Wordsmith 产品的迭代实验和改进中发挥着至关重要的作用。

下一步:客户特定的超参数优化

在产品生命周期的每个阶段,LangSmith 都提高了 Wordsmith 团队的速度和对其产品质量的可见性。展望未来,他们计划将 LangSmith 更深入地集成到产品生命周期中,并解决更复杂的优化挑战。

Wordsmith 的 RAG 管道包含广泛且不断增长的参数,这些参数控制管道的工作方式。这些参数包括嵌入模型、块大小、排序和重新排序配置等。通过将这些超参数映射到 LangSmith 标签(使用类似于其在线实验的技术),Wordsmith 旨在创建在线数据集,为每个客户和用例优化这些参数。随着数据集的增长,他们设想了一个世界,其中每个客户的 RAG 体验都将根据其数据集和查询模式自动优化。

© . This site is unofficial and not affiliated with LangChain, Inc.