Langchain模板-LangChainTemplates 讲解及应用

langchain官方链接:https://github.com/langchain-ai/langchain/tree/master/templates

其他相关链接:

https://python.langchain.com/docs/templates

https://templates.langchain.com/

Langchain模板,提供一系列的易于部署的参考架构,为开发者提供了轻松快速构建大模型应用的能力,任何人都可以使用,方便快速开发和投入生产。是一种创建、共享、维护、下载和自定义链和代理的方法。Langchain模板是一组端到端的模板,用于创建不同类型的应用程序,使用同一的格式,便于使用LangServe部署。也可以发布,其他项目或者开发者可以重用成果。

关键字:模板 脚手架 方便抄作业搬砖

LangChainTemplates的动机:这些模板可以是链式或者代理式,并代表全功能的上下文感知推理的应用程序。

使用:创建一个项目,其中包含一个链文件夹,然后将templates下载到该应用程序项目中。可以轻松检查和修改链,然后使用langserve部署整个项目。

LangChainTemplates 案例

接下来将介绍一个LangChainTemplates的简单应用,本文以pirate-speak 海盗口音为例子。

案例链接:https://github.com/langchain-ai/langchain/tree/master/templates/pirate-speak

这个案例的功能是:将输入文本转换为海盗口语输出。

以下为安装代码,在Anaconda中为安装环境:

(base) C:\Windows\System32>conda info --envs
(base) C:\Windows\System32>conda activate gpt-researcher
(gpt-researcher) C:\Windows\System32>E:
(gpt-researcher) E:\>cd \Text-to-sql\git\pergit_wangning\code\LLM
(gpt-researcher) E:\Text-to-sql\git\pergit_wangning\code\LLM>langchain app new app-sot --package skeleton-of-thought
(gpt-researcher) E:\Text-to-sql\git\pergit_wangning\code\LLM>cd app-sot
# 修改 app/server.py 文件
# from pirate_speak.chain import chain as pirate_speak_chain
# add_routes(app, pirate_speak_chain, path="/pirate-speak")
# 修改完成运行程序:
(gpt-researcher) E:\Text-to-sql\git\pergit_wangning\code\LLM\app-sot>langchain serve

运行成功,显示:

访问:http://127.0.0.1:8000/pirate-speak/playground/

如下显示:

这只是其中一个模板案例,其他的可自行测试

 LangChainTemplates在程序中的引用

LangChainTemplates提供了一系列模板供我们使用,为了方便,开发时也可以直接引用,以刚刚的项目为案例。

代码结构如下所示:

packages中为pirate-speak代码,project为项目代码:

查看pirate-speak核心代码为:

# if you update this, you MUST also update ../pyproject.toml
# with the new `tool.langserve.export_attr`
chain = _prompt | _model

本质为一个成熟的chain,所以在自己代码中可以直接调用。

以下是代码调用案例:

# Auther : auserwn
# -*- codeing = utf-8 -*-
# @Time : 2024/1/5 18:01
# @Auther : auser
# @file : .py
# @software : PyCharm
from pirate_speak.chain import chain as pirate_speak_chain

question="你好"
output = pirate_speak_chain.invoke({"text": question})
print(output)

显示输出:

D:\Anaconda\envs\llm\python.exe E:/Text-to-sql/git/pergit_wangning/code/LLM2/my-app/project/apply_ps.py
content='嘿嘿,喂喂!'

进程已结束,退出代码0

其他案例慢慢探索。LangChainTemplates对环境要求太恶心了,建议使用conda新建一个环境研究成熟再使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 Python+Django 技术栈,我开发了一款视频管理系统

学习过程中,遇到问题可以咨询作者 大家好,作为一名开发人员,平时比较愿意动手尝试各种有意思工具,因为笔者非常喜欢观看视频,尤其是YouTube、bilibili都是笔者非常喜欢的视频网站,所以想自己实现一个视频点…

Java/JDK下载安装与环境配置

Java由Sun Microsystems(现在是Oracle的子公司)于1995年首次发布。它是一种面向对象的编程语言,广泛应用于Web开发、移动应用程序开发、桌面应用程序开发和企业级应用程序开发等领域。 Java语言的主要特点是跨平台、可移植性强、安全性高和具…

代码随想录-刷题第四十八天

198. 打家劫舍 题目链接:198. 打家劫舍 思路:当前房屋偷与不偷取决于前一个房屋和前两个房屋是否被偷了。这里就更感觉到,当前状态和前面状态会有一种依赖关系,那么这种依赖关系都是动规的递推公式。动态规划五步曲:…

C#编程-实现继承

C#允许您通过扩展现有类的功能以创建新类来实现继承。 从基类创建派生类 使用以下语法在C#中创建派生类: class <derived_class>:<base_class>{...}确定继承的层次结构 要确定继承层次结构,必须检查派生类与基类之间的关系种类。确保派生类是一种基类。 请考虑以…

【深度学习】SDXL tensorRT 推理

stabilityai/stable-diffusion-xl-1.0-tensorrt 项目&#xff1a;https://huggingface.co/stabilityai/stable-diffusion-xl-1.0-tensorrt TensorRT环境&#xff1a; git clone https://github.com/rajeevsrao/TensorRT.git cd TensorRT git checkout release/9.2stabilitya…

数据结构—图(上)

文章目录 12.图(上)(1).图的基本概念#1.图的基本定义#2.边的分类#3.数据结构的一些规定#4.子图#5.完全图#6.路径#7.连通性和连通分量#8.度 (2).图的存储方式#1.邻接矩阵#2.邻接表 (3).图的遍历#1.深度优先搜索(Depth First Search)i.走个迷宫ii.DFS的思想iii.代码实现 #2.广度优…

基于SSM的图书商城(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的图书商城&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMv…

word2019保存后的图片变模糊了怎么办?Word 2019 默认保存后压缩变模糊的问题,解决方案

Word 2019 默认保存后压缩变模糊的问题&#xff0c;解决方案 1&#xff0c;新建word 文件&#xff0c;插入一张原始图片&#xff0c;1080*1920&#xff0c;如下图&#xff1a; 2&#xff0c;保存时&#xff0c;word 2019默认选项&#xff0c;导致word 保存后&#xff0c;图片…

MySQL-DQL

DQL是数据查询语言&#xff0c;用来查询数据库中表中的数据。 DQL语句编写顺序和执行顺序&#xff1a; 编写顺序&#xff1a;由上至下 执行顺序&#xff1a; 基本查询 1. 查询多个字段&#xff1a;SELECT 字段1,字段2,字段3... FROM 表名; 查询所有字段&#xff1a; SELECT*FR…

【C程序设计】C数组

C 语言支持数组数据结构&#xff0c;它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据&#xff0c;但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量&#xff0c;比如 runoob0、runoob1、...、runoob99&#xff0c;而…

数据结构(JS实现)

目录 链表链表的特点链表中的常见操作单链表append(data)尾部追加新节点toString()输出链表的节点数据插入节点insert(position,data)get(position)获取链表指定位置节点的数据indexOf(data)查找对应数据节点的位置update(position, newData)更新指定位置节点数据removeAt(posi…

在 wsl 中运用 kubeconfig 实现自由管理 kubernetes 集群

本文来自我的博客地址 文章目录 k8s 集群配置理解 kubeconfig思路整理:在 wsl 上安装 kubectl配置自动补全 拷贝 kubeconfig登到 k8s 集群的 master 节点, 把 kubeconfig 拷贝到 wsl测试 kubectl k8s 集群配置 IPHost配置11.0.1.150master1 (keepalivedhaproxy)2C 4G 30G11.0.…

git本地创建分支并推送到远程关联起来

git本地创建分支并推送到远程关联起来 git本地基于当前分支创建个新的分支&#xff0c;然后推送到远程&#xff0c;并把本地新创建的分支和远程分支关联 在当前分支下&#xff0c;新建分支 git checkout -b test推送到远程仓库 git push origin test将本地分支和远程分支关联…

2015年电赛控制类—STM32风力摆控制系统资料+源程序

目录 一、项目背景 二、主要研究内容 三、总体思路与研究方案 四、主要研究结果 五、程序 六、图片 一、项目背景 风力摆控制系统是一种利用风力控制物体做简谐运动的系统&#xff0c;风力的利用和控制技术在我国的发展尚未完善&#xff0c;国内正处于起步阶段。风力摆的…

免费的GPT4来了,你还不知道吗?

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

SSM实现的校园门户平台网站系统----计算机毕业设计

项目介绍 本系统为前后台项目&#xff0c;后台为管理员登录&#xff0c;前台为社团、学生、教师角色登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,角色管理,权限管理,社团管理,教师管理,学生管理,公告管理,新闻管理,校园风采管理,求职招聘管理,校历管理…

RabbitMQ快速入门(详细)

RabbitMQ 消息中间件/消息队列 1、消息中间件 1、简介 **消息中间件也可以称消息队列&#xff0c;是指用高效可靠的消息传递机制进行与平台无关的数据交流&#xff0c;并基于数据通信来进行分布式系统的集成。**通过提供消息传递和消息队列模型&#xff0c;可以在分布式环境…

Linux——系统安全及应用

一、基本安全措施 1、系统账号清理 常见的非登录用户账号包括bin、daemon、 adm、lp、mail等。为了确保系统安全&#xff0c;这些用户账号的登录Shell通常是/ sbin/nologin&#xff0c;表示禁止终端登录&#xff0c;应确保不被人为改动。 //将非登陆用户的Shell设为/sbin/nolo…

文献综述 AI 应用对比 — Elicit, GPTs 与 Perplexity

&#xff08;注&#xff1a;本文为小报童精选文章&#xff0c;已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费&#xff09; 通过我的这些尝试&#xff0c;你无需再自己去摸索&#xff0c;可以直接根据我展示的结果选择合适的工具&#xff0c;更有效地进行文献回顾。 …

抖店怎么上架商品?

我是电商珠珠 没有货源的商家&#xff0c;上架商品其实很简单&#xff0c;只需要找到工具去采集链接上架即可。但在上架商品的时候也不能完全照搬&#xff0c;需要涉及到主图、详情页、标题和价格的优化&#xff0c;这些都会影响到商品的点击率&#xff0c;所以上架商品的过程…