一、few shot(少量示例)和 example selectors(示例选择器)
1. 基本概念
1.1. Few-shot Prompting(少量示例提示)
Few-shot 是通过在 prompt 中提供一小部分示例,来帮助大模型理解任务,从而更好地完成生成任务。
比如你想让模型完成“中译英”的任务,加入几个“中->英”的示例能显著提升表现。
1.2. ExampleSelector(示例选择器)
是 LangChain 提供的一类工具,用于动态地从示例集中选出最相关的一些示例用于 few-shot prompting。LangChain 常见的选择器包括:
SemanticSimilarityExampleSelector: 基于向量相似度选择示例LengthBasedExampleSelector: 基于示例长度选择MaxMarginalRelevanceExampleSelector: 保证信息多样性和相关性
2. 代码演示:few-shot + 示例选择器
示例任务:中译英(中文翻译为英文)
2.1. 安装依赖(如未安装)
pip install langchain openai tiktoken faiss-cpu
2.2. FewShotPromptTemplate + 静态示例
from langchain.prompts import PromptTemplate, FewShotPromptTemplate
# 准备几个示例
examples = [
{"input": "你好", "output": "Hello"},
{"input": "今天天气真好", "output": "The weather is nice today"},
]
# 单个示例的模板格式
example_prompt = PromptTemplate(
input_variables=["input", "output"],
template="输入: {input}\n输出: {output}"
)
# FewShotPromptTemplate 将示例 + 用户输入组合为完整 prompt
few_shot_prompt = FewShotPromptTemplate(
examples=examples,# 直接传入examples
example_prompt=example_prompt,
prefix="请将以下中文翻译为英文:",
suffix="输入: {input}\n输出:", # 用户输入填充处
input_variables=["input"]
)
print(few_shot_prompt.format(input="我爱编程"))
2.3. 加入 ExampleSelector:动态选择示例
from langchain.prompts import PromptTemplate, FewShotPromptTemplate
from langchain_community.vectorstores import FAISS
from langchain.prompts.example_selector import S

最低0.47元/天 解锁文章
1508

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



