【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然

  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


今天介绍一个AI生产力工具:LangSmith。本篇文章主要在Tracing部分的实操,包括环境准备、如何将你的LangChain程序和LangSimth平台打通,如何使用LangSimth调试Prompt,以及如何进行在线数据标注和收集,为后面的自动化评估作准备。

在开始之前,我们先来了解下为什么要有LangSmith:

维护一个生产级的 LLM 应用,我们需要做什么?

  • 各种指标监控与统计:访问记录、响应时长、Token用量、计费等等
  • 调试 Prompt,Prompt 版本管理(便于升级/回滚)
  • 测试/验证系统的相关评估指标
  • 数据集管理(便于回归测试)

LangSimth平台帮助你快速、可视化完成上面的流程。它允许您调试、测试、评估和监控构建在任何LLM框架上的链和智能代理,并与LangChain无缝集成。

0. 环境准备

LangSmith是LangChain 官方的 SaaS 服务,不开源,注册需要排队。

平台入口:www.langchain.com/langsmith

文档地址:python.langchain.com/docs/langsm...

注册登录之后,需要生成API key

1. 打通LangChain和LangSmith

要打通 LangChain 和 LangSmith 很简单,只需要在环境变量中加入如下4个信息:

python 复制代码
LANGCHAIN_API_KEY = "ls__xxxxxx"  # LangChain API Key
LANGCHAIN_ENDPOINT = "https://api.smith.langchain.com"  #LangSmith的服务端点
python 复制代码
import os
os.environ["LANGCHAIN_TRACING_V2"]="true" 
os.environ["LANGCHAIN_PROJECT"]="test-001" #自定义项目名称

示例代码:

python 复制代码
import os
os.environ["LANGCHAIN_TRACING_V2"]="true"
os.environ["LANGCHAIN_PROJECT"]="test-001"

from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.schema.output_parser import StrOutputParser
from langchain.schema.runnable import RunnablePassthrough
from langchain.schema import HumanMessage
from langchain.prompts.chat import HumanMessagePromptTemplate
from langchain.prompts import ChatPromptTemplate

model = ChatOpenAI(model="gpt-3.5-turbo-0613")

prompt_template = """
我的名字叫【{name}】,我的个人介绍是【{description}】。
请根据我的名字和介绍,帮我想一段有吸引力的自我介绍的句子,以此来吸引读者关注和点赞我的账号。
"""
prompt = ChatPromptTemplate.from_messages([
    HumanMessagePromptTemplate.from_template(prompt_template)
])

# 定义输出解析器
parser = StrOutputParser()

chain = (
    prompt
    | model
    | parser
)

## invoke的第一个参数,传入json格式的参数,key与prompt中的参数名一致
response = chain.invoke({'name': '同学小张', 'description': '热爱AI,持续学习,持续干货输出'})
print(response)

运行之后,可以在LangSmith服务平台上看到该项目的运行情况:

点击该项目可进入详细页面:

详细页面中展示了该项目运行的详细步骤,包括每一步的名称、消耗的token、耗时、输入和输出。

2. 使用LangSimth的PlayGround调试Prompt

Prompt模板和最终的Prompt以及输入给大模型的参数,如温度等,是大模型输出结果好坏的直接原因。我们可以使用LangSimth平台的PlayGround快速调试这些参数,来获得比较好的大模型结果,而不用每次都运行一遍程序。

(1)在详细页面点击Prompt模板或大模型相关的步骤,在页面的右上角会出现 Playground图标,点击图标可进入Playground页面。 (2)Playground页面内容如下,它展示了Prompt模板内容、输入内容以及大模型的输入参数,如使用的LangChain的ChatOpenAI模块、使用的gpt-3.5-turbo模型、温度参数为1等。运行start按钮,会在Output部分展示大模型输出结果。

我们利用这个页面,随意更改Prompt模板、输入或者大模型参数,可以很方便地知道我们能得到一个什么样地大模型结果。当认为结果符合自己地预期时,再将此时地Prompt模板、输入和大模型参数固定下来,填到程序中即可。

(3)在运行start之前,需要将OpenAI地API Key填入。

(4)如果使用了代理,还需要将代理服务地址填进来

(5)运行后结果示例:

3. 在线标注和数据收集

LangSimth平台支持在线标注和收集数据。

(1)在工程Traces监控目录,右上角有一个Add to Dataset按钮,点击。

(2)数据收集和标注页面,自动将输入和输出收集起来。你需要选择一个Dataset,或创建一个新的数据集 (3)创建新的数据集示例

(4)收集完的数据,在Datasets & Testing界面可以看到 好了,本文就到这里,跟着本文,相信你已经对LangSimth平台的使用有了一个大体的认识。具体应用示例我会在后面逐步更新。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关推荐
小oo呆1 小时前
【自然语言处理与大模型】模型压缩技术之量化
人工智能·自然语言处理
Magnum Lehar1 小时前
ApophisZerg游戏引擎项目目录展示
人工智能·vscode·编辑器·游戏引擎
飞桨PaddlePaddle1 小时前
Wan2.1和HunyuanVideo文生视频模型算法解析与功能体验丨前沿多模态模型开发与应用实战第六期
人工智能·算法·百度·音视频·paddlepaddle·飞桨·deepseek
绿算技术2 小时前
存储新势力:助力DeepSeek一体机
人工智能·科技·缓存·fpga开发
Y1nhl2 小时前
搜广推校招面经八十一
开发语言·人工智能·pytorch·深度学习·机器学习·推荐算法·搜索算法
胡攀峰2 小时前
第12章 微调生成模型
人工智能·大模型·llm·sft·强化学习·rlhf·指令微调
yuanlaile2 小时前
AI大模型自然语言处理能力案例演示
人工智能·ai·自然语言处理
小白白搭建2 小时前
WordPress AI 原创文章自动生成插件 24小时全自动生成SEO原创文章 | 多语言支持 | 智能配图与排版
人工智能
Jamence2 小时前
多模态大语言模型arxiv论文略读(三十九)
人工智能·语言模型·自然语言处理
ai大模型木子3 小时前
嵌入模型(Embedding Models)原理详解:从Word2Vec到BERT的技术演进
人工智能·自然语言处理·bert·embedding·word2vec·ai大模型·大模型资料