首页 > 其他分享 >GPT实战系列-LangChain的Prompt提示模版构建

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

时间:2024-03-19 10:00:47浏览次数:20  
标签:实战 Prompt 模型 LangChain template GPT 系列

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博客

标签:实战,Prompt,模型,LangChain,template,GPT,系列
From: https://blog.csdn.net/Alex_StarSky/article/details/136825051

相关文章

  • 急速搭建ChatGPT——GPT4All本地部署
    云服务器可至雨云进行购买首先打开雨云官网雨云官网网址:https://www.rainyun.com/YZJ_?s=xxx 然后登录/注册雨云(登录/注册建在右上角)  如果没注册就点击下方注册,然后如果显示“正在使用优惠通道注册”就照常输入信息 没有则优惠码填“YZJ” 推荐配......
  • OpenAI Sora训练数据非法?&ChatGPT参数规模被扒?
    关注文章底部公众号,获取更多AI新闻资讯Sora训练数据被质疑非法训练AI模型数据所面临的巨大版权争议,是这一年多全球相关人士讨论最多的话题。近日OpenAICTOMurati接受采访时,被问及Sora训练数据来源时语焉不详、支支吾吾,已经成了全网热议的话题。女记者:「Sora是用什么数......
  • 【GPT总结】Why Can GPT Learn In-Context?
    原文:https://ar5iv.labs.arxiv.org/html/2212.10559概述这篇论文提出了一种新的方法,利用大型预训练语言模型展示了惊人的上下文学习能力。通过少量的示范输入-标签对,它们可以在没有参数更新的情况下预测未见输入的标签。尽管在性能上取得了巨大成功,但其工作机制仍然是一个开放......
  • 轻松创建基于 GPT-4 的 AI 原生应用 - Dify
    Dify 是一个易用的 LLMOps 平台,旨在让更多人可以创建可持续运营的原生AI应用。Dify提供多种类型应用的可视化编排,应用可开箱即用,也能以后端即服务的API提供服务。LLMOps(LargeLanguageModelOperations)是一个涵盖了大型语言模型(如GPT系列)开发、部署、维护和优化的一......
  • ChatGPT:从对话到文献,如何利用AI成就完美论文?
    ChatGPT无限次数:点击直达引言:在当今信息爆炸的时代,撰写一篇完美的论文变得至关重要。然而,对于很多人来说,论文写作是一个具有挑战性的任务。幸运的是,人工智能的迅猛发展为我们的学术创作提供了新的可能性。在本文中,将介绍一种强大的自然语言处理模型——ChatGPT,它将成为您的......
  • 文心一言 VS 讯飞星火 VS chatgpt (217)-- 算法导论16.2 4题
    四、Gekko教授一直梦想用直排轮滑的方式横穿北达科他州。他计划沿U.S.2号高速公路横穿,这条高速公路从明尼苏达州东部边境的大福克斯市到靠近蒙大拿州西部边境的威利斯顿市。教授计划带两公升水,在喝光水之前能滑行m英里(由于北达科他州地势相对平坦,教授无需担心在上坡路段喝......
  • “成像光谱遥感技术中的AI革命:ChatGPT应用指南“
    遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用,人工智能在解释复杂数据、提供见解和帮助决策过......
  • 一键升级 ChatGPT Plus
    前言虽然目前ChatGPT4.0已经推出了有一段时间了,但是由于众所周知的原因,国内仍有许多人还没有体验过ChatGPT4.0,是因为ChatGPTPlus的升级还是存在一定门槛的,所以,本文将教你如何一键升级ChatGPTPlus。为什么升级ChatGPTPlusChatGPT4.0比ChatGPT3.5更加强大......
  • 本地部署 Langchain-Chatchat & ChatGLM
     一、模型&环境介绍#1.ChatGLM#github地址:https://github.com/THUDM模型地址:https://huggingface.co/THUDM2.m3e#模型地址:https://huggingface.co/moka-ai/m3e-base/3.text2vec#模型地址:https://huggingface.co/GanymedeNil/text2vec-large-chinese/4.Lang......
  • 时间序列预测的零样本学习是未来还是炒作:TimeGPT和TiDE的综合比较
    最近时间序列预测预测领域的最新进展受到了各个领域(包括文本、图像和语音)成功开发基础模型的影响,例如文本(如ChatGPT)、文本到图像(如Midjourney)和文本到语音(如ElevenLabs)。这些模型的广泛采用导致了像TimeGPT[1]这样的模型的出现,这些模型利用了类似于它们在文本、图像和语音方面获......