当前位置: 首页 > news >正文

LangSmith 基本使用教程

LangSmith 是一个强大的工具,可以帮助开发者追踪、监控和分析语言模型应用程序的性能。下面我将介绍两种基本的追踪方式:追踪 OpenAI 调用和追踪整个应用程序。

1. 追踪 OpenAI 调用 (Trace OpenAI calls)

这种方法主要用于追踪对 OpenAI API 的调用,可以帮助您了解每个 API 调用的详细信息、性能和结果。

from openai import OpenAI
from langsmith.wrappers import wrap_openai
import os
openai_client = wrap_openai(OpenAI(api_key = "",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
)
os.environ["LANGSMITH_TRACING"] = "true"
os.environ["LANGCHAIN_API_KEY"] = ""def retriever(query: str):results = ["Harrison worked at Kensho"]return resultsdef rag(question):docs = retriever(question)system_message = """Answer the users question using only the provided information below:{docs}""".format(docs="\n".join(docs))res= openai_client.chat.completions.create(messages=[{"role": "system", "content": system_message},{"role": "user", "content": question},],model="qwen-turbo",)print(res.choices[0].message.content)return resif __name__ == "__main__":rag("where did harrison work")

在这个例子中,wrap_openai 函数会自动追踪所有通过包装后的客户端进行的 API 调用。这些调用会被记录到 LangSmith 平台,您可以在那里查看详细信息。

2. 追踪整个应用程序 (Trace entire application)

这种方法可以追踪整个应用程序的流程,包括中间步骤和函数调用,提供更全面的视图。

from openai import OpenAI
from langsmith import traceable
from langsmith.wrappers import wrap_openai
import os# 设置环境变量
os.environ["LANGSMITH_TRACING"] = "true"  # 启用全局追踪
os.environ["LANGCHAIN_API_KEY"] = ""# 包装 OpenAI 客户端
openai_client = wrap_openai(OpenAI(api_key="",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
)# 定义可追踪的检索函数
@traceable
def retriever(query: str):results = ["Harrison worked at Kensho"]return results# 定义可追踪的 RAG 函数
@traceable
def rag(question):# 追踪检索步骤docs = retriever(question)# 构建系统消息system_message = """Answer the users question using only the provided information below:{docs}""".format(docs="\n".join(docs))# 追踪 LLM 调用步骤return openai_client.chat.completions.create(messages=[{"role": "system", "content": system_message},{"role": "user", "content": question},],model="qwen-turbo",)if __name__ == "__main__":# 整个应用程序流程将被追踪response = rag("where did harrison work")print(response.choices[0].message.content)

在这里插入图片描述

在这个例子中,我们使用了:

  1. LANGSMITH_TRACING=true 环境变量来启用全局追踪
  2. @traceable 装饰器来追踪特定函数
  3. 包装的 OpenAI 客户端来追踪 API 调用

这样,整个应用程序的流程都会被记录下来,包括:

  • 检索函数的输入和输出
  • RAG 函数的整个流程
  • OpenAI API 调用的详细信息

查看追踪结果

完成追踪后,您可以在 LangSmith 平台 (https://smith.langchain.com/) 上查看详细的追踪信息,包括:

  • 函数调用链
  • 每个步骤的输入和输出
  • 执行时间和性能指标
  • API 调用的详细信息

总结

  1. 追踪 OpenAI 调用:使用 wrap_openai 包装 OpenAI 客户端,适合只关注 API 调用的场景。
  2. 追踪整个应用程序:使用 LANGSMITH_TRACING=true@traceable 装饰器,适合需要全面了解应用程序流程的场景。

相关文章:

  • 力扣热题——统计平衡排列的数目
  • 遨游卫星电话与普通手机有什么区别?
  • 算法备案部分咨询问题解答第三期
  • VScode 的插件本地更改后怎么生效
  • Mysql 事物
  • Jupyter Notebook 配置学习笔记
  • 物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
  • 离散制造企业WMS+MES+QMS+条码管理系统高保真原型全解析
  • Java反射详细介绍
  • 【读代码】Qwen2.5-Omni 深度解析
  • 使用Spring和Springboot遇到的问题及解决办法
  • vue3与springboot交互-前后分离【完成登陆验证及页面跳转】
  • 使用CAS操作实现乐观锁的完整指南
  • React系列——HOC高阶组件的封装与使用
  • 如何通过http访问ollama接口
  • U-BOOT
  • el-tree结合checkbox实现数据回显
  • 赛季7靶场 - Planning
  • 【如何搭建开发环境】
  • VSCode设置SSH免密登录
  • 奥迪车加油时频繁“跳枪”维修两年未解决,4S店拒退换:可延长质保
  • 白玉兰奖征片综述丨动画的IP生命力
  • 微软将在全球裁员6000人,目标之一为减少管理层
  • “大鼻子情圣”德帕迪约因性侵被判缓刑,还有新的官司等着他
  • 京东CEO许冉:外卖日单量接近2000万单,看到外卖对平台拉动和转化效应
  • 讲一个香港儿童的故事,《劏房的天空》获“周庄杯”特等奖