Created
Aug 11, 2024 12:45 AM
Favorite
Favorite
Priority
备注
推荐
类型
Langchain
提示模板的使用
Model I/O
提示模板
概述
LangChain提示模板特点:
类型
在LangChain中,可以看到以下类型的提示模板:
模板导入方式如下:
设置环境变量
PromptTemplate提示模板
创建提示模板
1.通过from_template方法从字符串模板中创建提示模板
提示模板的具体内容如下:
2.直接生成提示模板
使用提示模板
将模板实例化,将
{text}
替换为 "猪八戒吃人参果"
,形成具体的提示:“您是一位专业的文案写手。对于信息 猪八戒吃人参果 进行简短描述”
复用提示模板
复用提示模板,可以同时生成多个结果。
模型输出如下:
ChatPromptTemplate聊天提示模板
基本使用
通过from_messages方法,传入简单的聊天列表数据,以此创建提示模板
进阶使用
更直接地构建MessagePromptTemplate,可以在外部创建一个PromptTemplate,然后将其传递进去
少量样本示例的提示模板
创建示例集
创建一些提示样本,每个示例都是一个字典,其中键是输入变量,值是输入变量的值。
创建提示模板
配置一个格式化程序,将Few-shot示例格式化为字符串。这个格式化程序应该是一个PromptTemplate对象。
创建FewShotPromptTemplate对象
创建一个FewShotPromptTemplate对象。这个对象接受Few-shot示例和Few-shot示例格式化程序
使用
初始化大模型,然后调用
示例选择器
概述
LangChain有几种不同类型的示例选择器。
名称 | 描述 |
SemanticSimilarityExampleSelector | 使用输入和示例之间的语义相似性来决定选择哪些示例。 |
MaxMarginalRelevanceExampleSelector | 使用输入和示例之间的最大边际相关性来决定选择哪些示例。 |
LengthBasedExampleSelector | 根据一定长度内可以容纳的数量来选择示例 |
NGramOverlapExampleSelector | 使用输入和示例之间的 ngram 重叠来决定选择哪些示例。 |
安装Chroma向量数据库
安装Chroma
定义示例集
创建提示模板
示例选择器
不直接将示例馈送到FewShotPromptTemplate对象中,而是将其馈送到ExampleSelector对象中
创建FewShotPromptTemplate对象
创建一个FewShotPromptTemplate对象。该对象接受示例选择器和few shot示例的格式化程序。
使用
PipelinePromptTemplate提示模板
概述
PipelinePrompt 由两个主要部分组成:
最终提示
创建要给最终提示模板,它由多个提示模板构成最终模板。
多个提示
创建多个提示模板,由这些模板构成最终完整的提示模板,这些单个提示模板可以实现复用的效果。
管道提示
组合单个可复用提示模板成一个管道提示模板
使用
执行日志如下
部分提示模板
概述
LangChain通过两种方式支持这一点:
基本使用
先使用字符串值部分化提示模板,然后传递部分化的提示模板
在初始化提示模板时,使用字符串值部分化变量
使用返回字符串值的函数进行部分处理,适用于总是想以一种常见的方式获取一个变量时