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

简介: 【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


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

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

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

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

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

0. 环境准备

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

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

文档地址:https://python.langchain.com/docs/langsmith/walkthrough

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

1. 打通LangChain和LangSmith

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

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

示例代码:

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知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:AI在现代IT服务管理中的应用
【6月更文挑战第17天】随着人工智能技术的不断进步,智能运维已成为提升IT服务效率和质量的关键手段。本文将探讨如何通过集成机器学习、大数据分析等技术来优化传统运维流程,实现故障预测、自动化处理及持续的性能优化,旨在为IT专业人士提供实施智能运维的洞见与策略。
|
1天前
|
机器学习/深度学习 人工智能 搜索推荐
AI技术在医疗诊断中的革新与应用
传统医疗诊断面临着诸多挑战,如误诊率高和诊断效率低下等问题。人工智能技术的引入为医疗诊断带来了革新性的变化,从影像诊断到个性化治疗,AI的应用正逐步深入到医疗健康领域的方方面面。
17 2
|
1天前
|
人工智能 自然语言处理 算法
AI 应用之成本节约实践
本文探讨了如何避免高成本的模型微调,通过任务拆解和提示词调优实现业务目标。文中提到,当大语言模型不能直接满足需求时,微调涉及大量工作,包括数据准备、模型训练及GPU资源。为降低成本,作者提出了两步方法:1) 任务拆解,将复杂任务分解为简单子任务,利用模型优势处理部分;2) 提示词调优,优化输入以引导模型更高效地响应。虽然这可能不适用于所有情况,但能有效减少对模型微调的依赖。
31 1
|
1天前
|
机器学习/深度学习 人工智能 Java
【Sping Boot与机器学习融合:构建赋能AI的微服务应用实战】
【Sping Boot与机器学习融合:构建赋能AI的微服务应用实战】
4 1
|
1天前
|
设计模式 人工智能 自然语言处理
【设计模式】MVVM模式在AI大模型领域的创新应用
【设计模式】MVVM模式在AI大模型领域的创新应用
10 0
|
2天前
|
机器学习/深度学习 传感器 人工智能
AI在医疗诊断中的创新应用
在现代医疗中,人工智能(AI)技术的引入为诊断和治疗带来了革命性的变化。本文探讨了AI在医学影像分析、疾病预测、个性化治疗和医疗资源优化等方面的应用,展示了其在提高诊断精确度、优化治疗方案和减少医疗成本方面的巨大潜力。
|
2天前
|
机器学习/深度学习 人工智能 搜索推荐
详细探讨AI在个性化教育平台中学习路径推荐的应用
详细探讨AI在个性化教育平台中学习路径推荐的应用
|
5天前
|
人工智能 算法 安全
AI技术的未来发展与挑战
【6月更文挑战第15天】本文将探讨AI技术的未来发展和可能面临的挑战。随着科技的进步,AI已经在许多领域发挥了重要作用,但同时也带来了一些挑战。我们将从技术、伦理和社会角度来探讨这些问题。
26 6
|
3天前
|
传感器 人工智能 搜索推荐
人工智能(AI)与物联网(IoT)的融合是当今技术领域的一个重要趋势
人工智能(AI)与物联网(IoT)的融合是当今技术领域的一个重要趋势
|
3天前
|
机器学习/深度学习 人工智能 数据处理
AI技术来支持开发过程中的自动化和智能化
AI技术来支持开发过程中的自动化和智能化
148 2