我们在上一篇文章中提到了我们可以使用langsmith来监控我们自己的模型。那么我们本文就来操作一把。
一、配置langsmith
首先我们要登陆进来官方网址。你可以用你的github账号登陆。
然后我们可以看到他的主页。
他已经有了一个内置的项目,我们不需要他的,我们自己创建自己的。
接下来我们就看到配置信息的地方。你能看到他可以选择是不是langchain项目,可见他是支持非langchain的监控的,还是挺厉害的。
二、提供langsmith和langchain的关联
当我们都填写完的时候,那个配置信息的文本框就自动填充了对应的信息如下:
LANGSMITH_TRACING=true # 表示我们添加的是对langchain的监控
LANGSMITH_ENDPOINT="https://api.smith.langchain.com" # 我们这个监控项目暴露出来的端点地址
LANGSMITH_API_KEY="lsv2_pt_xxxxxxxbc8725973_6xxxxxxx148f" # 我们生成的key
LANGSMITH_PROJECT="xxxxxxx" # 我们取的项目名字
OPENAI_API_KEY="<your-openai-api-key>" # 你要监控的llm的api_key,但是我们是本地自己部署的,没这玩意,所以这里可以是空
接下来就把这段配置内容放到我们项目的.env文件中,后面我们用py的包进行读取。我们通过代码试一下。
from dotenv import load_dotenv
import os
# 这一步就把环境文件加载进来系统了
load = load_dotenv("./.env")
# 我们用os来读取加载的内容
print(os.getenv("LANGSMITH_API_KEY"))
输出没有问题,注意我此时的目录结构。注意好读取文件的路径。
当我们完成了这个加载文件之后,我们再次运行之前我们的chat代码。此时你去langsmith列表刷新一下就看到了我们的langsmith项目。
点进去你就能看到作为用户的输入和作为AI的输出了。
这就是一次对我们llm的监控。他的原理就是当你把环境变量配置并且读取之后,他就会开启监控了。
环境变量:通过设置环境变量,你的langchain就知道把数据发送去LangSmith 指定的项目和 API 端点。
项目名称:LANGCHAIN_PROJECT 环境变量指定的项目名称,用于在 LangSmith 中组织和区分不同的监控数据。
API 密钥:LANGCHAIN_API_KEY 环境变量中的 API 密钥用于身份验证,确保只有授权的用户可以访问监控数据。
所以其实是langchain主动根据配置推送去的LangSmith。
我们再一次来看监控数据,你能看到他其实输出的非常详细。
当你的业务逐步复杂的时候,监控就显得非常重要了,我们后面争取搞几个复杂环境来匹配对应的输出。
所以我们先整理一下我们当前的结构。