当前位置: 首页 > 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 装饰器,适合需要全面了解应用程序流程的场景。
http://www.dtcms.com/a/188487.html

相关文章:

  • 力扣热题——统计平衡排列的数目
  • 遨游卫星电话与普通手机有什么区别?
  • 算法备案部分咨询问题解答第三期
  • 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免密登录
  • Games101作业四
  • IBM BAW(原BPM升级版)使用教程第十四讲
  • 大语言模型RLHF训练框架全景解析:OpenRLHF、verl、LLaMA-Factory与SWIFT深度对比
  • 网络层试题
  • CD3MN 双相钢 2205 材质保温 V 型球阀:恒温工况下复杂介质控制的高性能之选-耀圣
  • 大模型分布式光伏功率预测实现详解
  • Qt进阶开发:QTcpSocket的详解
  • Three.js模型材质调整与性能优化实战
  • 通义灵码2.5版本全新体验
  • 使用交互式半自动化标注工具制作语义分割数据集