LangSmith使用入门!

LangSmith 是 LangChain 提供的 AI 应用开发监测平台,可以用它来观察调用链的运行情况。

它提供了一系列功能,包括模型调优、数据集管理和结果分析,使用户能够快速迭代并改进其语言模型的性能。

LangSmith 还支持与多种流行的深度学习框架集成。

简化了模型开发的工作流程,适用于各种 NLP 任务,如文本生成、情感分析和问答系统等。

LangChain 使得原型设计大型语言模型(LLM)应用程序和代理变得容易。

  • 然而,将 LLM 应用程序交付到生产环境可能会异常困难。

可能需要大量定制和迭代Prompt、Chain和其他组件,以创建高质量的产品。

为了帮助这个过程,推出了 LangSmith,一个统一的平台,用于调试、测试和监控LLM 应用程序。

官网:https://smith.langchain.com/

设置环境变量:

LANGCHAIN_TRACING_V2:设置为True让 LangChain 记录追踪信息。

LANGCHAIN_PROJECT:设置环境变量来告诉 LangChain 记录到哪个项目。

LANGCHAIN_ENDPOINT:设置LangSmith地址:https://api.smith.langchain.com

LANGCHAIN_API_KEY:设置API密钥,LangSmith的密钥,不同于OpenAI的Key

记录运行日志:

设置完环境变量后,正常执行LangChain代码,会自动在LangSmith创建Project。

1
2
3
from langchain_openai import ChatOpenAI
llm = ChatOpenAI()
llm.invoke("what's generative ai?")

img

记录复杂运行日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough

llm = ChatOpenAI()

prompt = ChatPromptTemplate.from_messages([
("system", "You are world class technical documentation writer."),
("user", "{input}")
])

translate_prompt = ChatPromptTemplate.from_messages([
("system", "Translate to simplified Chinese."),
("user", "{input}")
])

output_parser = StrOutputParser()

chain = prompt | llm | output_parser \
| {"input": RunnablePassthrough()} \
| translate_prompt | llm | output_parser

output = chain.invoke({"input": "what's generative ai?"})

img

在数据集上运行评估:

LangSmith 集成了 LangChain 的评估功能,为我们提供了一个系统化的 AI 调用链评估工具。

主要包括以下几步:

  • 在 LangSmith 创建数据集。

  • 开发一个 AI 应用的调用链(即业务逻辑)。

  • 在数据集上运行评估。

  • 在 LangSmith 界面查看评估结果。