GPT实战系列-LangChain的Prompt提示模版构建

news2024/11/15 11:02:12

GPT实战系列-LangChain的Prompt提示模版构建

LangChain

GPT实战系列-LangChain如何构建基通义千问的多工具链

GPT实战系列-构建多参数的自定义LangChain工具

GPT实战系列-通过Basetool构建自定义LangChain工具方法

GPT实战系列-一种构建LangChain自定义Tool工具的简单方法

GPT实战系列-搭建LangChain流程简单应用

GPT实战系列-简单聊聊LangChain搭建本地知识库准备

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-简单聊聊LangChain

大模型查询工具助手之股票免费查询接口

Prompt模版是用于生成语言模型提示的预定义模版。

模板可能包括说明、小样本示例,和特定的上下文和问题(适合于特定的任务)。

LangChain提供创建和使用提示模板的工具,其实也没有做太多的工作,就是字符串格式化操作差不多。模版与模型无关,使其适应在不同的语言模型中重复使用。

通常,语言模型的输入,通常是字符串或聊天消息列表。

在这里插入图片描述

Prompt模版

用于为字符串提示创建模板。PromptTemplate

默认情况下,PromptTemplate使用 Python 的 用于模板的 str.format 语法,一种字符替换的格式。

from langchain.prompts import PromptTemplate

prompt_template = PromptTemplate.from_template(
    "Tell me a {adjective} joke about {content}."
)
prompt_template.format(adjective="funny", content="chickens")
'Tell me a funny joke about chickens.'

该模板支持任意数量的变量,包括无变量:

from langchain.prompts import PromptTemplate

prompt_template = PromptTemplate.from_template("Tell me a joke")
prompt_template.format()
'Tell me a joke'

因此,您可以创建任意的自定义提示模板,以任何方式设置提示的格式。

聊天对话模版ChatPromptTemplate

通常,大语言模型(LLM)的应用模型是聊天模型,它的提示是聊天消息列表。

每条聊天消息都与内容相关联,并且其他 参数调用 。例如,在 OpenAI 聊天完成中 API,聊天 消息可以与 AI 助手、人类或系统相关联 角色。

创建一个聊天提示模板,如下所示:

from langchain_core.prompts import ChatPromptTemplate

chat_template = ChatPromptTemplate.from_messages(
    [
        ("system", "You are a helpful AI bot. Your name is {name}."),
        ("human", "Hello, how are you doing?"),
        ("ai", "I'm doing well, thanks!"),
        ("human", "{user_input}"),
    ]
)

messages = chat_template.format_messages(name="Bob", user_input="What is your name?")

ChatPromptTemplate.from_messages 就是接受各种消息输入。

例如,除了使用 (type, content),则可以传入 or 的实例。MessagePromptTemplate``BaseMessage

from langchain.prompts import HumanMessagePromptTemplate
from langchain_core.messages import SystemMessage
from langchain_openai import ChatOpenAI

chat_template = ChatPromptTemplate.from_messages(
    [
        SystemMessage(
            content=(
                "You are a helpful assistant that re-writes the user's text to "
                "sound more upbeat."
            )
        ),
        HumanMessagePromptTemplate.from_template("{text}"),
    ]
)
messages = chat_template.format_messages(text="I don't like eating tasty things")
print(messages)
[SystemMessage(content="You are a helpful assistant that re-writes the user's text to sound more upbeat."), HumanMessage(content="I don't like eating tasty things")]

其实就是做了简单的封装,提供一些灵活性,来构建您的 聊天提示。

LangChain是一个Python框架,可以使用LLMs构建应用程序。它与各种模块连接,使与LLM和提示管理,一切变得简单。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End

GPT专栏文章:

GPT实战系列-实战Qwen通义千问在Cuda 12+24G部署方案_通义千问 ptuning-CSDN博客

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-让CodeGeeX2帮你写代码和注释_codegeex 中文-CSDN博客

GPT实战系列-ChatGLM3管理工具的API接口_chatglm3 api文档-CSDN博客

GPT实战系列-大话LLM大模型训练-CSDN博客

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客

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

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

相关文章

生成微信小程序二维码

首页 -> 统计 可以通过上面二个地方配置,生成小程序的二维码,并且在推广分析里,有详细的分析数据,

spring-boot-starter-thymeleaf加载外部html文件

在Spring MVC中,我们可以使用Thymeleaf模板引擎来实现加载外部HTML文件。 1.Thymeleaf介绍 Thymeleaf是一种现代化的服务器端Java模板引擎,用于构建漂亮、可维护且易于测试的动态Web应用程序。它适用于与Spring框架集成,并且可以与Spring M…

LLM4Decompile: Decompiling Binary Code with Large Language Models

LLM4Decompile: Decompiling Binary Code with Large Language Models 相关链接:arxiv github 关键字:反编译、大型语言模型、二进制代码、源代码、程序语义 摘要 LLM4Decompile是一种使用大型语言模型(LLMs)进行二进制代码反编译…

【QED】斐波那契游戏

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 总结 题目 题目链接🔗 斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55&#x…

视频技术1:使用ABLMediaServer推流rtsp

ABLMediaServer定位是高性能、高稳定、开箱即用、商用级别的流媒体服务器 下边展示了如何把1个mp3作为输入源,转换为rtsp流的过程。 作用:用rtsp模拟摄像头的视频流 1、启动ABLMediaServer ABLMediaServer-2024-03-13\WinX64\ABLMediaServer.exe 配…

电话机器人语音识别用哪家更好精准度更高。

语音识别系统的选择取决于你的具体需求,包括但不限于识别精度、速度、易用性、价格等因素。以下是一些在语音识别领域表现较好的公司和产品: 科大讯飞:科大讯飞是中国最大的语音识别技术提供商之一,其语音识别技术被广泛应用于各…

Linux的背景介绍

1.Linux的发展史 Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹&#xff08…

人生就是不断炼心的一个过程,不断continental,不断挑战,重构。

回头看,轻舟已过万重山,早上,使用VSCODE,将以前的bootstrap响应式不断引入新元素。直接全部安装插件。如下图所示。 问题,遇到了github登录问题,还有就是git命令报错,域名hosts,404,nginx等知识…

STM32实验DMA数据搬运小助手

本次实验做的是将一个数组的内容利用DMA数据搬运小助手搬运到另外一个数组中去。 最后的实验结果: 可以看到第四行的数据就都不是0了,成功搬运了过来。 DMA实现搬运的步骤其实不是很复杂,复杂的是结构体参数: 整个步骤为&#xf…

配置视图解析器

配置视图解析器: 我们在指定视图的时候路径是有重复的,重复的操作可以用视图解析器,让框架帮我们: mv.setViewName("/WEB-INF/view/show.jsp");mv.setViewName("/WEB-INF/VIEW/other.jsp"); ​​​​​​​ …

前后端分离项目部署服务器教程--实践成功

文章目录 项目介绍流程1租界云服务2通过远程软件连接服务器3部署前后端代码停止功能文件 环境配置1.安装jdk2.安装Nginx3.安装mysql数据库 花了将近一天部署前后端的项目,写一个日志记录一下,话说孰能生巧。明天把服务器恢复初始在部署一下。 项目介绍 …

五、初识Django

初识Django 五、初识Django1.安装django2.创建项目2.1第一种方式:在终端2.2第二种方式:Pycharm 3.创建app4.快速上手4.1再写一个页面4.2templates模板4.3静态文件4.3.1static目录4.3.2引用静态文件 5.模板语法案例:伪联通新闻中心6.请求和相应…

使用JAXB生成XML的Java对象

文章目录 标题使用JAXB生成XML的Java对象根据xml生成xsd文件:下载trang.jar:使用trang.jar生成xml的xsd文件: 使用JAXB的xjc生成java对象: 标题使用JAXB生成XML的Java对象 根据xml生成xsd文件: 下载trang.jar&#x…

ElasticSearch 用法

首先讲下 ES的倒排序索引 入门-倒排索引 正排索引(传统) idcontent1001my name is zhang san1002my name is li si 倒排索引 keywordidname1001, 1002zhang1001 正排索引:我想查name,这时候是模糊的查询,会循环遍历…

C++开发基础——函数模板

一,函数模板 1.基础概念 模板编程是C中泛型编程的基础。 一个模板可以是创建类或者函数的蓝图。 模板编程分两种,分别是算法抽象的模板、数据抽象的模板。算法抽象的模板以函数模板为主,数据抽象的模板以类模板为主。 基于函数模板生成的…

合成孔径雷达(SAR)RD算法点目标成像与分析Matlab仿真

文章目录 一、概述二、仿真思路1.概述2.高分3号简介与基本参数 三、回波生成1.卫星运行速度计算2.几何3.信号参数与时间轴生成(1)信号参数(2)时间轴生成 4.点目标回波生成(1)点目标坐标设置(2)回波生成 四、低斜视角处理1.距离压缩2.方位向傅里叶变换3.距离徙动校正4.方位压缩5…

转录因子/组蛋白修饰靶基因数据库:Cistrome DB使用教程

最近有小伙伴经常询问怎么预测转录因子的下游靶基因,以及预测一些组蛋白修饰影响的靶基因信息。今天就给大家介绍一下Cistrome数据浏览器(Cistrome Data Browser)。 Cistrome DB是来自人类和小鼠的ChIP-seq、ATAC-seq和DNase-seq数据的资源&…

内网穿透利器 n2n 搭建指南

1. n2n 简介 上文实验分析了 FRP 和 Zerotier 的利弊,本文再介绍另一种内网穿透方案,n2n。 n2n 是 C/S 架构的内网穿透服务,不同于 FRP 的 反向代理,它的原理是类似 Zerotier 的先打孔,打孔失败再尝试转发。关于打孔本…

深入理解Netty以及为什么项目中要使用?(二)Reactor模型

Reactor模型 了解了NIO多路复用后,就有必要再和大家说一下Reactor多路复用高性能I/O设计模式,Reactor本质上就是基于NIO多路复用机制提出的一个高性能IO设计模式,它的核心思想是把响应IO事件和业务处理进行分离,通过一个或者多个…

BUUCTF-Ezsql1

1.打开靶机 打开第一个链接 2.万能密码 使用万能密码:a or 1 # 密码为随意 第二个用kali打开 3.ssh连接靶机 ssh ctf284490d0-7600-4c65-9160-5ced02f45633.node5.buuoj.cn -p 28191 由题可知密码为123456 4.找到并修改index.php文件 找到index.php文件 #内容如…