LangChain学习笔记04——example selectors&LangServe基本使用

一、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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ACERT333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值