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

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.xdnf.cn/news/5981.html

相关文章:

  • 大疆无人机
  • 黑马k8s(五)
  • 面试题总结
  • 实景三维建模软件应用场景(众趣科技实景三维建模)
  • HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)notificationManager.getSlots
  • SEO职业市场正在经历重大变革吗?2025年趋势与应对策略
  • Qt在统信UOS及银河麒麟Kylin系统中进行软件开发的环境配置,打包发布和注意事项
  • P2758 编辑距离
  • 深入理解 OAuth 2.0:技术核心与实战场景
  • java数组题(5)
  • 考研复习全年规划
  • 爬虫Incapsula reese84加密案例:Etihad航空(纯算法)
  • xss-labs靶场基础8-10关(记录学习)
  • 多线程进阶核心知识详解(通俗版)
  • Python+Streamlit实现登录页
  • python-pyqt6框架工具开发总结
  • PostgreSQL 的表连接方法
  • 25.5.13
  • 2025年金融创新、区块链与信息技术国际会议(FRCIT 2025 2025)
  • 深入解析 I/O 模型:原理、区别与 Java 实践
  • 【Redis 进阶】集群
  • mysql环境配置
  • 锐浪报表 Grid++Report 打印“跨页”文本,解决“文字被中间截断”问题
  • NLTK库: 数据集3-分类与标注语料(Categorized and Tagged Corpora)
  • Ubuntu 24.04 LTS系统上配置国内时间同步
  • “新五强”争锋,基础大模型玩家再洗牌
  • 第十七章 SPI——读写串行FLASH
  • 新华三H3CNE网络工程师认证—路由参数与比较
  • Timsort 算法
  • 基于Win在VSCode部署运行OpenVINO模型