快速上手LangChain(四)LangChain Hub和LangSmith

文章目录

  • 快速上手LangChain(四)LangChain Hub和LangSmith
    • 什么是LangChain Hub
      • LangChain Hub功能
    • LangSmith
      • 使用

快速上手LangChain(四)LangChain Hub和LangSmith

什么是LangChain Hub

LangChain Hub官网地址:https://smith.langchain.com/hub/

早期LangChainHub,类似于github一样,可以理解为LangChain 工具包 或者说 组件中心,里面提供了高质量的组件方便开发者使用。

后来LangChainHub被放到了LangSmith里,早期的时候LangChainHub有Prompt、Chain、Agent,现在只有Prompt。

LangChain Hub的目标是创建一个分享和发现Prompt的平台,使得开发者可以更容易地发现新用例和精炼提示。 随着LLM的发展,提示变得越来越重要,LangChain Hub希望成为开发者发现和分享知识的首选场所。通过汇聚分散的知识,LangChain Hub旨在加速共同的发展和学习。

Explore and contribute prompts to the community hub
探索并为社区中心提供prompts

总结:LangChain Hub是一个用于上传、浏览、拉取和管理提示词(prompts)的地方。

LangChain Hub功能

langsmith在hub上提供以下实用功能:

  • 编辑提示语及提示语版本
  • 类似Playground的提示语运行环境
  • 在应用中加载提示语
  • 与他人共享提示语

我们可以创建自己的prompt使用,并且可以分版本号使用,
通过登录并从你的管理面板导航到 Hub 来探索所有现有提示并上传你自己的提示,
在这里插入图片描述
可以拉取自己的prompt使用!
使用LangChain可以轻松地以编程方式下载提示:

from langchain import hubexport LANGCHAIN_API_KEY=<your key>
prompt = hub.pull("hwchase17/eli5-solar-system")

测试失败,发现模型有限,
在这里插入图片描述
选择 自定义模型,必须是
在这里插入图片描述
在这里插入图片描述

这块目前未测试通过,这块怎么直接用国内的模型api,知道的小伙伴也可以评论区留言,TODO~

LangSmith

官方文档:https://docs.smith.langchain.com/

LangChain 使得原型设计大型语言模型(LLM)应用程序和代理变得容易。
然而,将 LLM 应用程序交付到生产环境可能会异常困难。

LangSmith 帮助您追踪和评估语言模型应用和智能代理,以帮助您从原型过渡到生产环境。

您使用 LangChain 构建的许多应用程序都将包含多个步骤,并多次调用 LLM。随着这些应用程序变得更加复杂,能够检查链或代理内部到底发生了什么是至关重要的。最好的方法是使用LangSmith。

  • Trace LLM Applications: Gain visibility into LLM calls and other parts of your application’s logic.
    跟踪 LLM 应用程序:了解 LLM 调用和应用程序逻辑的其他部分。
  • Evaluate Performance: Compare results across models, prompts, and architectures to identify what works best.
    评估性能:比较不同模型、提示和架构的结果,以确定最有效的方法。
  • Improve Prompts: Quickly refine prompts to achieve more accurate and reliable results.
    改进提示:快速优化提示以获得更准确、更可靠的结果。

使用

使用思路:设置完环境变量后,正常执行langchain代码,会自动在langsmith创建project,可以看到调用链!

  1. 安装
pip install -U langsmith 
  1. 创建一个 API 密钥
    进入官网:https://smith.langchain.com/,创建一个 API 密钥,添加环境变量

  2. 设置您的环境

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>

或者,

import getpass
import osos.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()

或,

# 加载 .env 文件
load_dotenv()
langchain_api_key = os.getenv("LANGCHAIN_API_KEY")
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_PROJECT"] = f"LangSmith-start"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
os.environ["LANGCHAIN_API_KEY"] = langchain_api_key

注意:指定一个新的 LANGCHAIN_PROJECT 名字,它会自动创建这个名字的项目,运行代码后显示出来~

配置上面的环境变量,LangSmith就自动生效,我们继续执行 上一章的 快速上手LangChain(三) 代码后,我们访问https://smith.langchain.com/,它会自动根据代码现在你每个步骤的情况以及耗时,结果如下图所示:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/66174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学英语学压测:03jmeter组件-采样器、逻辑控制器

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#xff1a;先看关键单词&#xff0c;再看英文&#xff0c;最后看中文总结&#xff0c;再回头看一遍英文原文&#xff0c;效果更佳&#xff01;&#xff01; 关键词 assertion断言/əˈsɜrʃən/configuration element配置元素/ˌkɒ…

配置嵌入式服务器

一、如何定制和修改Servlet容器的相关配置 修改和server有关的配置&#xff08;ServerProperties&#xff09; server.port8081 server.context‐path/tx server.tomcat.uri-encodingUTF-8二、注册servlet三个组件【Servlet、Filter、Listener】 由于SpringBoot默认是以jar包…

vue Element Ui Upload 上传 点击一个按钮,选择多个文件后直接上传,使用防抖解决多次上传的问题。

问题&#xff1a; 在使用Element Ui Upload 上传文件时&#xff0c;选择多个文件上传时&#xff0c;on-change事件会一个一个返回上传的文件&#xff0c;导致前端不知道什么时候可以拿到全部上传的文件&#xff0c;再一起调后台接口。 解决方法&#xff1a; 上传文件后&…

文献分享:RoarGraph——跨模态的最邻近查询

文章目录 1. \textbf{1. } 1. 导论 1.1. \textbf{1.1. } 1.1. 研究背景 1.2. \textbf{1.2. } 1.2. 本文的研究 1.3. \textbf{1.3. } 1.3. 有关工作 2. \textbf{2. } 2. 对 OOD \textbf{OOD} OOD负载的分析与验证 2.1. \textbf{2.1. } 2.1. 初步的背景及其验证 2.1.1. \textbf{2…

智慧工地信息管理与智能预警平台

建设背景与政策导向 智慧工地信息管理与智能预警平台的出现&#xff0c;源于工地管理面临的诸多挑战&#xff0c;如施工地点分散、危险区域多、监控手段落后等。随着政府对建筑产业现代化的积极推动&#xff0c;各地纷纷出台政策支持智慧工地的发展&#xff0c;旨在通过信息技…

[论文笔记]Representation Learning with Contrastive Predictive Coding

引言 今天带来论文 Representation Learning with Contrastive Predictive Coding的笔记。 提出了一种通用的无监督学习方法从高维数据中提取有用表示&#xff0c;称为对比预测编码(Contrastive Predictive Coding,CPC)。使用了一种概率对比损失&#xff0c; 通过使用负采样使…

Apache PDFBox添加maven依赖,pdf转成图片

要使用Apache PDFBox将PDF文件转换为图片&#xff0c;并将其添加到Maven项目中&#xff0c;您可以按照以下步骤操作&#xff1a; 1. 添加Maven依赖 在您的pom.xml文件中添加Apache PDFBox的依赖。请确保使用最新版本的PDFBox库。截至2025年&#xff0c;以下是推荐的配置&…

微服务架构下的慢请求排查与优化策略

目录 一、分析请求路径 二、检查日志 三、进行时序分析 四、检查资源消耗 五、检查并发处理能力 六、检查网络连接 七、从根本上使用服务治理的方式解决问题 八、结语 在当今的数字化时代&#xff0c;企业为了应对快速变化的市场需求和日益增长的用户基数&#xff0c;纷…

H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测

H7-TOOL详细介绍&#xff08;含操作手册&#xff09;&#xff1a;H7-TOOL开发工具&#xff0c;1拖4/16脱机烧录&#xff0c;高速DAPLINK&#xff0c;RTOS Trace&#xff0c;CAN/串口助手, 示波器, RTT等&#xff0c;支持WiFi&#xff0c;以太网&#xff0c;高速USB和手持 - H7-…

xdoj-字符串-556,为什么字符不能被正常读入

目录 题目 代码 测试用例 the input the correct output 问题发现过程阐述 如果把line16中的数组大小11换成line17中的10 case 1 case 2 case 3 如果数组开成11 case4 代码分析 问题描述 Question1 Question2 题目 题目&#xff1a;连续数字字符串提取 问题描述…

LeetCode-有效的括号(020)

一.题目描述 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的…

Dubbo 关键知识点解析:负载均衡、容错、代理及相关框架对比

1.Dubbo 负载均衡策略&#xff1f; Dubbo 是一个分布式服务框架&#xff0c;它提供了多种负载均衡策略来分发服务调用。在 Dubbo 中&#xff0c;负载均衡的实现是基于客户端的&#xff0c;即由服务消费者&#xff08;Consumer&#xff09;端决定如何选择服务提供者&#xff08…

Git 入门(一)

git 工作流如下&#xff1a; 命令如下&#xff1a; clone&#xff08;克隆&#xff09;: 从远程仓库中克隆代码到本地仓库checkout &#xff08;检出&#xff09;:从本地仓库中检出一个仓库分支然后进行修订add&#xff08;添加&#xff09;: 在提交前先将代码提交到暂存区com…

【C语言】可移植性陷阱与缺陷(五): 移位运算符

在 C 语言中,移位运算符(如左移 << 和右移 >>)是对整数的二进制位进行操作的重要工具。然而,使用这些运算符时也存在一些可移植性陷阱和缺陷,特别是在处理不同大小和字节序的整数时。本文探讨一些关于移位运算符在C语言中的可移植性问题,以及如何处理这些问题…

ChatGPT 是通用人工智能吗

ChatGPT 目前并不是通用人工智能&#xff08;AGI, Artificial General Intelligence&#xff09;。它是一种专用人工智能&#xff08;Narrow AI&#xff09;&#xff0c;具体来说是一种基于大规模语言模型&#xff08;如 GPT-4&#xff09;的生成式人工智能&#xff0c;专注于处…

【网络安全 | 漏洞挖掘】JS Review + GraphQL滥用实现管理面板访问

未经许可,不得转载。 正文 在映射目标范围后,我发现了一个用于管理的控制台界面,但没有注册功能。 于是我开始尝试: 1、模糊测试注册端点 -> 失败 2、在请求中将登录替换为注册 -> 再次失败 尝试均未奏效后,我决定冷静下来,重新思考方法并利用技术手段。 我观察…

perf:对hutool的BeanUtil工具类做补充

分享一个自定义的BeanUtil&#xff0c;继承的是hutool的工具类&#xff0c;然后自己扩充了几个方法&#xff1b; 1、实现了两个对象覆盖非空属性的功能&#xff08;经常使用&#xff09;&#xff0c;不需要设置CopyOptions&#xff1b; 2、两个对象&#xff0c;对指定前缀的属…

Elasticsearch Serverless中的数据流自动分片深度解析

Elasticsearch Serverless中的数据流自动分片深度解析 一、Elasticsearch Serverless概述 1. 什么是Elasticsearch Serverless Elasticsearch Serverless是一种云端全托管的Elasticsearch服务&#xff0c;它基于云原生Serverless技术架构&#xff0c;提供自动弹性和完全免运…

模型训练二三事:参数个数、小批量、学习率衰减、输入形状

目录 获取torch参数总数 方法一&#xff1a;使用torch.nn.Module的parameters()方法 方法二&#xff1a;使用state_dict()方法 迷你batch 什么是Mini-Batch&#xff1f; 如何在PyTorch中使用Mini-Batch&#xff1f; 不指定batchsize 没有标签ytrain 即使没有标签&…

gitlab高级功能之 CICD Steps

CICD Steps 1. 介绍2. 定义 Steps2.1 Inputs2.2 Outputs 3. Using steps3.1 Set environment variables3.2 Running steps locally 4. Scripts5. Actions5.1 已知的问题 6. 表达式7. 实操7.1 单个step7.2 多个step7.3 复用steps7.4 添加output到step7.5 使用远程step 1. 介绍 …