一、简介Prompt
在大模型应用中有一个概念叫做Prompt,我们来看一下百度百科对Prompt的定义。
prompt中文为“提示词”。在AI大模型中,Prompt的作用主要是给AI模型提示输入信息的上下文和输入模型的参数信息。
所以我们可以知道Prompt其实就是你问大模型的输入语言,也就是我们作为用户和大模型交互的输入。
二、关于PromptTemplate
看名字也能猜个七七八八,他是对我们用户输入大模型的一种模版配置。也就是说你可以按照你的模版来规范输入。我们制定一个模板,后面的输入都按照这个模板的语法格式,语言排布来输入,这样我们输入固定,起码输出就不会太离谱。
实际上prompt在大模型领域是个重要的概念,一个好的prompt是能提高你输出结果的质量的。
那我们来看一下langchain中的prompt的一些实现功能。
首先我们来看一下prompt的官方文档。
首先它位于langchain_core.prompts这个包下面,然后我们来看看他的类继承结构。

第一眼,麻了,作为一个javaer,这个图我看到的第一眼就想起了spring那一堆工厂类的结构。属实是太难顶了。然后我们在spring中的经验可以拿来用一下,我们说子类一般是更强大更全面的。我们看到它其实底下有很多字类,其中的PromptTemplate是我们通用语言模型的提示模板。我们当前正在处理的就是语言类的一个对话交互。所以我们就单独来看他。

ok,我们点进去看看他怎么用。PromptTemplate
1、PromptTemplate class
提示模板由字符串模板组成。它接受来自用户的一组参数,这些参数可用于为语言模型生成提示。
可以使用 f-strings (默认)、jinja2 或 mustache 语法对模板进行格式化。
其实就和我们在java中的String.format那种字符串占位差不多。
使用案例如下:
from langchain_core.prompts import PromptTemplate
# 这里就是你的字符串模板,并且可以设置占位符
prompt = PromptTemplate.from_template("Say {foo}")
# 这里是给占位符设置值,也就是填充你的模板
prompt.format(foo="bar")
此时我们就得到了一个prompt,就可以作为输入传给大模型了。
下面我们就接着我们上文中的例子来使用一下。
from langchain_core.prompts import PromptTemplate
from langchain_ollama import ChatOll

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



