type
Post
status
Published
date
Sep 10, 2025
slug
summary
tags
人工智能
category
技术分享
icon
password

少样本示例提示词模板-FewShotPromptTemplate的使用

在构建prompt时,可以通过构建一个少量示例列表去进一步格式化prompt,这是一种简单但强大的指导生成的方式,在某些情况下可以显著提高模型性能。少量示例提示模板可以由一组示例或一个负责从定义的集合中选择一部分示例的示例选择器构建。
  • 前者:
    • 使用FewShotPromptTemplate:与PromptTemplate一起使用
    • FewShotChatMessagePromptTemplate:与ChatPromptTemplate一起使用
  • 后者:使用Example selectors(示例选择器)
每个示例的结构都是一个字典,其中 键是输入变量,值是输入变量的值。

1.FewShotPromptTemplate的使用

打印样本示例
结合llm
执行结果

fewShotChatMessagePromptTemplate的使用

特点:
  • 自动将示例格式化为聊天消息(HumanMessage/AIMessage等)输出结构化聊天消息(List[BaseMessage])
  • 保留对话轮次结构

Example selectors(示例选择器)

前面FewShotPromptTemplate的特点是,无论输入什么问题,都会包含全部示例。在实际开发中,我们可以根据当前输入,使用示例选择器,从大量候选示例中选取最相关的示例子集。
  • 使用的好处:避免盲目传递所有示例,减少token 消耗的同时,还可以提升输出效果。
  • 示例选择策略:语义相似选择、长度选择、最大边际相关示例选择等
    • 语义相似选择:通过余弦相似度等度量方式评估语义相关性,选择与输入问题最相似的k个示例。
    • 长度选择:根据输入文本的长度,从候选示例中筛选出长度最匹配的示例。增强模型对文本结构的理解。比语义相似度计算更轻量,适合对响应速度要求高的场景。
    • 最大边际相关示例选择:优先选择与输入问题语义相似的示例;同时,通过惩罚机制避免返回同质化的内容

PipelinePromptTemplate

用于将多个提示模板按顺序组合成处理管道,实现分阶段、模块化的提示构建。它的核心作用类似于软件开发中的管道模式(Pipeline Pattern),通过串联多个提示处理步骤,实现复杂的提示生成逻辑。
  • 特点:将复杂提示拆解为多个处理阶段,每个阶段使用独立的提示模板前一个模板的输出作为下一个模板的输入变量使用场景:解决单一超大提示模板难以维护的问题
MessagesPlaceholder模板提示词模板、对话提示词模板、少样本提示词、消息占位符提示词
Loading...