LangSmith:测LDM和AI应用的最佳方式
Published on
如果你在语言学习模型(LDM)领域工作,你可能听说过LangSmith。但你知道它如何将你的LDM应用从好到出色?本文是你了解LangSmith的一站式指南,它是一个提供调试、测试、评估和监控LDM应用的平台。
无论你是经验丰富的开发人员还是从事LDM领域的初学者,LangSmith都适合每个人。从与LangChain的无缝集成到实例丰富的Cookbook,LangSmith是一个革命性的产品。让我们深入了解!
什么是LangSmith?
LangSmith是一个最先进的平台,旨在将你的LDM应用提升到生产级质量。但这意味着什么呢?简单来说,LangSmith是你构建、测试和部署基于任何LDM框架的智能代理和链的工具包。它由LangChain开发,LangChain也是开源的语言链框架背后的公司,并且与其无缝集成。
LangSmith的主要特点
-
调试和测试:LangSmith不仅仅是构建,更是构建正确。该平台提供互动式教程和快速入门指南,帮助你迅速上手。无论你使用Python、TypeScript还是其他任何语言编码,LangSmith都支持。
-
API和环境设置:在开始构建之前,你需要设置好你的环境。LangSmith通过其API密钥访问和直观的环境配置步骤使此过程变得轻松。例如,你可以使用像
pip install -U langchain
这样的简单命令在目标环境中安装最新版本的LangChain。 -
追踪能力:LangSmith的一大亮点是其追踪代码的能力。这对于调试和改进应用程序至关重要。你可以自定义运行名称、追踪嵌套调用等等。
为什么选择LangSmith?
-
易于使用:LangSmith的设计注重用户友好性。该平台提供了一系列教程和文档,帮助你入门。
-
多功能性:无论你是在进行小型项目还是大规模应用,LangSmith都足够灵活,满足你的需求。
-
社区支持:LangSmith拥有强大的开发人员和专家社区,他们随时准备提供帮助。你可以加入社区论坛,甚至为Cookbook贡献你自己的示例。
现在,你应该对LangSmith是什么以及为什么它对于任何与LDM有关的人都是一个有价值的资产有了很好的了解。在下一节中,我们将深入探讨如何设置LangSmith并充分利用其功能。
设置LangSmith
由于其用户友好的界面和详细记录的步骤,设置LangSmith非常简单。但在开始之前,你需要一个API密钥来进行访问。别担心,获取API密钥就像轻而易举的一样。
获取API密钥的步骤
-
创建一个LangSmith帐户:转到LangSmith网站并注册一个帐户。你可以使用各种支持的登录方法。
-
导航到设置页面:设置好帐户后,转到设置页面。在这里,你会找到创建API密钥的选项。
-
生成API密钥:点击'生成API密钥'按钮,就完成了!你获得了API密钥。
配置你的环境
获取API密钥后,下一步是配置你的运行环境。LangSmith允许你使用简单的shell命令来完成这个过程。具体操作如下:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
export LANGCHAIN_API_KEY=<your-api-key>
将<your-api-key>
替换为你之前生成的API密钥。这些命令设置了你的环境变量,使你更方便地与LangSmith进行交互。
LangSmith Cookbook:实际的LangSmith示例
LangSmith Cookbook不仅仅是一个代码片段集合,它更是一个充满实际示例的宝库,旨在激发和帮助你的项目。无论你是LDM领域的初学者还是专家,Cookbook都提供了大量实用洞察力,涵盖常见模式和实际用例。现在,让我们深入了解LangSmith Cookbook提供了什么。
什么是LangSmith Cookbook?
LangSmith Cookbook是一个存储库,作为你掌握LangSmith的实用指南。它超越了标准文档中涵盖的基础知识,深入到常见模式和真实场景。这些示例让你能够调试、评估、测试和不断改进你的LDM应用。
你的意见很重要
Cookbook是一个由社区驱动的资源。如果你有见解分享,或者觉得一个特定的用例被忽略了,我们鼓励你提出GitHub问题或联系LangChain开发团队。你的专业知识塑造着这个社区,使Cookbook成为一个充满活力和不断发展的资源。
Cookbook的主要示例
追踪你的代码
-
无需LangChain的追踪 (opens in a new tab):学习如何使用Python SDK的
@traceable
装饰器追踪应用程序,而无需依赖LangChain。 -
REST API (opens in a new tab):了解用于记录LLM和聊天模型运行的REST API功能,并理解嵌套运行。
-
自定义运行名称 (opens in a new tab):通过为LangSmith链运行分配特定名称来提高UI清晰度。包括链、λ函数和代理的示例。
-
追踪工具内嵌调用 (opens in a new tab):学习如何在单个跟踪中包含所有嵌套的工具子调用。
-
显示跟踪链接 (opens in a new tab):通过在应用程序中添加跟踪链接,加快开发速度。这使您可以快速查看其执行流程,向运行添加反馈或将运行添加到数据集中。
LangChain Hub
-
RetrievalQA Chain (opens in a new tab):在示例RAG管道中使用Hub中的提示。
-
提示版本控制 (opens in a new tab):通过选择特定的提示版本来确保部署稳定性。
-
可运行的提示模板 (opens in a new tab):从playground保存提示到Hub并将其集成到可运行的链中。
测试和评估
-
Q&A系统正确性 (opens in a new tab):在数据集上对检索增强的Q&A管道进行端到端评估。
-
使用动态数据评估Q&A系统 (opens in a new tab):使用解除引用标签的评估器处理随时间变化的数据。
-
使用固定源评估RAG (opens in a new tab):通过在数据集中提供检索到的文档,评估RAG管道的响应组件。
-
对比评估 (opens in a new tab):使用标记的偏好评分对比系统版本并确定最优输出。
-
pytest中的LangSmith (opens in a new tab):在pytest中对链进行基准测试,并断言聚合指标满足质量要求。
-
使用Pytest进行单元测试 (opens in a new tab):编写单个单元测试和日志断言作为反馈。
-
评估现有运行 (opens in a new tab):向现有运行跟踪添加AI辅助反馈和评估指标。
-
命名测试项目 (opens in a new tab):使用
run_on_dataset(..., project_name='my-project-name')
手动为测试命名。 -
如何下载反馈和示例 (opens in a new tab):通过程序化方式导出预测、评估结果和其他信息以添加到您的报告中。
TypeScript / JavaScript测试示例
-
在Python中评估JS链 (opens in a new tab):使用自定义的Python评估器评估JS链。
-
将断言记录为反馈 (opens in a new tab):将CI测试断言转换为LangSmith反馈。
使用反馈
-
Streamlit聊天应用 (opens in a new tab):一个最简化的聊天应用,用于捕获用户反馈并共享聊天应用程序的跟踪。
-
Next.js聊天应用 (opens in a new tab):一个聊天应用,适用于Next.js版本。
-
实时算法反馈 (opens in a new tab):使用异步回调为每个运行生成反馈指标。
-
实时RAG聊天机器人评估 (opens in a new tab):自动检查检索到的文档与RAG聊天机器人的响应中的幻觉。
导出数据以用于微调
-
OpenAI微调 (opens in a new tab):列出LLM运行并将其转换为OpenAI的微调格式。
-
Lilac数据集策展 (opens in a new tab):使用Lilac进一步策划您的LangSmith数据集,使用Lilac检测近似重复项并检查PII。
探索性数据分析
-
导出LLM运行和反馈 (opens in a new tab):提取和解释LangSmith LLM运行数据以用于各种分析平台。
-
Lilac (opens in a new tab):使用开源分析工具Lilac丰富数据集,以更好地标记和组织数据。
通过探索这些示例,您将全面了解LangSmith的功能,使您能够将LLM应用程序提升到新的水平。所以,还等什么呢?深入了解LangSmith Cookbook,开始展现一些魔法代码吧!
总结
LangSmith不仅仅是另一个工具;它是一个全面的平台,可以将您的LLM应用程序提升到一个新的水平。从其强大的追踪功能到与LangChain Hub的无缝集成,LangSmith提供了一系列功能,旨在使您的生活更轻松。还有LangSmith Cookbook,一个充满实际示例和实践代码片段的宝库。无论您是刚刚开始还是希望优化现有应用程序,LangSmith都会为您提供帮助。
常见问题
LangSmith是什么?
LangSmith是一个旨在帮助您构建、测试、评估和监控LLM应用程序的平台。它提供了一系列功能,包括跟踪、API访问以及一个充满真实世界示例的烹饪书。
LangSmith和LangChain之间有什么区别?
虽然LangSmith专注于构建和管理LLM应用程序,但LangChain则是开发语言模型的框架。LangSmith与LangChain无缝集成,在同一个平台上提供统一的LLM解决方案。
如何访问LangSmith?
要访问LangSmith,您需要在他们的网站上注册一个账户。注册后,您可以生成一个API密钥,以便与平台进行交互。