LangSmith 的使用


概述

 您使用 LangChain 构建的许多应用程序将包含多个步骤,并多次调用 LLM 调用。随着这些应用程序变得越来越复杂,能够检查链或代理内部究竟发生了什么变得至关重要。最好的方法是使用 LangSmith
 LangSmith 是一个用于构建生产级 LLM 应用程序的平台。它允许您密切监控和评估您的应用程序,以便您可以快速而自信地交付。无需使用 LangChain,即单独使用 LangSmith 可以独立运行!


第一步:安装 LangSmith

!pip install -U langsmith
!pip install -U langchain langchain-openai

第二步:创建一个 API key

 创建 API 密钥,前往 “LangSmith - 设置页面“。然后单击“创建 API 密钥”。


第三步:设置环境

import os

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
os.environ["LANGCHAIN_API_KEY"] = "<langsmith-api-key>" # 这里的 your-api-key 就是上一步获得的 api key
os.environ["LANGCHAIN_PROJECT"] = "project_name" # 这里输入在langsmith中创建的项目的名字

# The below examples use the OpenAI API, though it's not necessary in general
os.environ["OPENAI_API_KEY"] = "<openai-api-key>" # 这里需要 openai 的 api key

第四步:记录第一个跟踪

 我们提供多种方式来跟踪记录到 LangSmith。下面,我们将重点介绍如何使用可跟踪。有关更多信息,请参阅 Annotate code for tracing
 下面这段代码的作用是使用 OpenAI 的 API 来处理用户输入,并使用 Langsmith 库对 LLM (大语言模型) 调用进行自动跟踪。具体解释如下:

import openai
from langsmith.wrappers import wrap_openai
from langsmith import traceable

 这些导入语句引入了 OpenAI库 和 Langsmith库 中的相关模块。openai库 用于与 OpenAI 的 API 进行交互,而 langsmith 库则用于跟踪函数调用。

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

 这一行代码使用 wrap_openai 函数将 OpenAI 的客户端进行包装,以便对 LLM 调用进行自动跟踪。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-3.5-turbo"
    )
    return result.choices[0].message.content

 这个部分定义了一个名为 pipeline 的函数,并使用 @traceable 装饰器对其进行标记,以便对该函数的调用进行自动跟踪。该函数接受一个字符串参数 user_input,然后通过 client.chat.completions.create 方法向 OpenAI 的 GPT-3.5-turbo 模型发送一个对话请求。请求的内容是一个包含用户输入的消息列表。函数最后返回模型生成的第一个回复消息的内容。

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

 这一行调用了pipeline函数,传入了字符串 “Hello, world!” 作为用户输入,并输出模型生成的回复:“Hello there! How can I assist you today?”

 最后,如果运行成功,则可以在 LangSmith 中查看到对应的项目中的状态发生了更新。在这里插入图片描述


总结

 总结起来,这段代码的主要功能是:

  1. 初始化并包装OpenAI客户端以支持自动跟踪。
  2. 定义并自动跟踪一个函数 pipeline,该函数与 OpenAI 的 GPT-3.5-turbo 模型进行交互,处理用户输入并返回模型生成的回复。
  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值