Skip to main content

使用 LangSmith 入门

LangSmith 是一个构建生产级 LLM 应用的平台。 它允许您密切监控和评估您的应用,使您能够快速且自信地交付。 使用 LangSmith,您可以:

  • 跟踪 LLM 应用:深入了解 LLM 调用和应用逻辑的其他部分。
  • 评估性能:比较模型、提示和架构之间的结果,以识别最佳工作方案。
  • 改进提示:快速精炼提示,以实现更准确和可靠的结果。
LangSmith + LangChain OSS

LangSmith 与 LangChain 的开源框架 langchainlanggraph 无缝集成,无需额外的工具。

如果您已在使用其中之一,请参阅 如何将 LangSmith 设置与 LangChain如何将 LangSmith 设置与 LangGraph 的指南。

LangSmith 是一个独立平台,可以单独使用,无论您如何创建 LLM 应用。

在本教程中,我们将带您通过使用 LangSmith SDK 记录您的第一个跟踪并运行评估以测量应用的性能。此示例使用 OpenAI API,您可以使用您选择的提供商。

1. 安装 LangSmith

pip install -U langsmith openai

2. 创建 API 密钥

要创建 API 密钥,请前往 设置页面。然后点击 创建 API 密钥

3. 设置您的环境

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>

export OPENAI_API_KEY=<your-openai-api-key>

4. 记录您的第一个跟踪

我们提供多种方法将跟踪记录到 LangSmith。下面,我们将重点介绍如何使用 traceable()。有关更多信息,请参见 代码注释以进行追踪 页面。

import openai
from langsmith import wrappers, traceable

# Auto-trace LLM calls in-context
client = wrappers.wrap_openai(openai.Client())

@traceable # Auto-trace this function
def pipeline(user_input: str):
result = client.chat.completions.create(
messages=[{"role": "user", "content": user_input}],
model="gpt-4o-mini"
)
return result.choices[0].message.content

pipeline("Hello, world!")
# Out: Hello there! How can I assist you today?

了解有关跟踪的更多信息请查看可观察性 教程概念指南操作指南

5. 查看您的跟踪

默认情况下,跟踪将记录到名为 default 的项目中。您应该看到使用上述代码记录的以下 示例输出跟踪

6. 运行您的第一次评估

评估 有助于通过在给定输入集上测试应用性能来评估应用的表现。评估需要一个测试系统、数据作为测试用例以及评估人员来评分结果。

在这里,我们运行一个评估,针对一个示例数据集使用一个简单的自定义评估器,检查真实输出是否与我们的黄金标准输出完全匹配。

from langsmith import Client, traceable

client = Client()

# 定义数据集:这些是您的测试用例
dataset = client.create_dataset(
"示例数据集",
description="LangSmith 中的一个示例数据集。",
)

client.create_examples(
inputs=[
{"postfix": "到 LangSmith"},
{"postfix": "到 LangSmith 中的评估"},
],
outputs=[
{"response": "欢迎来到 LangSmith"},
{"response": "欢迎来到 LangSmith 中的评估"},
],
dataset_id=dataset.id,
)

# 定义您的应用接口(跟踪可选)
@traceable
def dummy_app(inputs: dict) -> dict:
return {"response": "欢迎 " + inputs["postfix"]}

# 定义您的评估者
def exact_match(outputs: dict, reference_outputs: dict) -> bool:
return outputs["response"] == reference_outputs["response"]

# 运行评估
experiment_results = client.evaluate(
dummy_app, # 您的 AI 系统在这里
data=dataset, # 用于预测和评分的数据
evaluators=[exact_match], # 用于评分结果的评估者
experiment_prefix="sample-experiment", # 实验的名称
metadata={"version": "1.0.0", "revision_id": "beta"}, # 关于实验的元数据
max_concurrency=4, # 添加并发。
)

# 通过 UI 或程序化分析结果
# 如果您已安装 'pandas',您可以通过取消注释以下内容
# 将结果视为 pandas 的 DataFrame:

# experiment_results.to_pandas()
  • 点击评估运行中打印的链接,以访问 LangSmith 实验 UI, 并探索评估的结果。
  • 了解更多关于评估的信息,在 教程概念指南操作指南 中。

Was this page helpful?


You can leave detailed feedback on GitHub.