96SEO 2026-07-04 10:59 6
哎呀,今天咱们聊点儿有意思的——LangChain 的 FewShotPromptTemplate。
先说个小故事,前几天我在玩模型,结果提示词老是跑偏,笑死我了。

后来才发现,少样本提示这块儿真是个宝藏。
所以今天咱就把这玩意儿掰开揉碎讲给你听,哈哈。
FewShotPromptTemplate 是啥玩意儿简单来说它是 LangChain 用来拼接示例、前缀、后缀的工具。
你给它一堆示例,它帮你把这些示例塞进 Prompt 里。
模型kan到这些示例后就会照着走,输出geng符合预期的答案。
这叫 Few‑Shot Prompting,中文叫“少样本提示”。
核心概念:examples、example_prompt、prefix、suffixexamples:就是一组字典,每个字典里有输入输出键值对。
example_prompt:负责把单个示例渲染成字符串的模板。
prefix:提示词开头的说明文字。
suffix:用户真实输入所在的位置,也是提示词的。
Zui基础的创建方式from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate
examples =
example_prompt = PromptTemplate(
input_variables=,
template="输入:{input}\
输出:{output}\
"
)
few_shot_prompt = FewShotPromptTemplate(
examples=examples,
example_prompt=example_prompt,
prefix="请参考以下示例,判断输入文本的情绪类别:",
suffix="输入:{user_input}\
输出:",
input_variables=
)
kan,这段代码几乎Ke以直接跑通了。
怎么挑选和组织 examples别小kan examples,它们决定了模型学到啥。
Ru果示例太杂乱,模型会跟着糊涂;
Ru果示例太单一,又可Neng欠缺泛化Neng力。
所以咱们要Zuo到:
覆盖任务关键场景;
保持格式统一;
数量适中,一般 5~10 条够用。
动态筛选示例 —— Example Selector有时候模型有 token 长度限制,这时候就得挑挑kan哪些示例放进去。
from langchain_core.prompts import LengthBasedExampleSelector
selector = LengthBasedExampleSelector(
examples=examples,
max_length=500 # 根据模型上下文窗口自行调节
)
few_shot_prompt = FewShotPromptTemplate(
examples=selector.select_examples,
example_prompt=example_prompt,
prefix="请参考以下示例…",
suffix="输入:{user_input}\
输出:",
input_variables=
)
这样每次调用dou会自动挑选Zui合适的一批示例进去。
Zeroshot 兼容——空示例也Neng玩儿有些场景根本没有合适的示例,这时Ke以先给一个空列表:
few_shot_prompt = FewShotPromptTemplate(
examples=,
example_prompt=example_prompt,
prefix="下面请直接回答问题。",
suffix="{question}",
input_variables=
)
后面再往 examples 里追加也行,灵活得hen!
常见坑与调试技巧说实话,我刚开始用的时候经常卡在 format 报错上。
原因是模板里的 {} 没匹配到对应变量名,不然就会抛出 KeyError 或 missing some input keys 的错误。
解决办法嘛,就是确保 example_prompt 和 prefix/suffix 中使用的变量,dou在 input_variables 列表里声明。
"f-string" 与模板引擎冲突Coding 时Ru果直接写 f"{var}" 会被 Python 当成 f‑string,而不是 Prompt 的占位符。
Aha,不对不对,我说错了是要用双大括号 {{var}} 来避免冲突,Ru果你想换成 jinja2 模式的话。
"为什么百度不收录""为什么百度不收录"这个问题其实挺常见的,你懂的,大多数时候是因为内容质量或 robots.txt 设置不当导致爬虫被拒绝访问。还有一种情况是网站没有提交 sitemap 给百度站长平台。简单来说就是让搜索引擎觉得你的页面值得抓取和展示。咱就是说Ru果想让百度收录,就得保证页面可访问、内容原创且结构清晰,然后去站长平台手动提交链接或者等待自然爬取。哈哈,这跟 FewShotPromptTemplate 没啥关系,但偶尔抛个问答提升一下阅读体验,对吧?
Coding 实战——完整调用流程# 构造Zui终 Prompt
prompt_str = few_shot_prompt.format
print
# 输出类似:
# 请参考以下示例,判断输入文本的情绪类别:
# 输入:我喜欢阳光明媚的天气
# 输出:积极情绪
# …
# 输入:今天的考试hen顺利
# 输出:
得到字符串后就Ke以直接喂给模型:
response = llm.invoke
print
Cascade 调用——配合链式结构使用
Cascade在 LangChain 里非常好玩,你Ke以把 few_shot_prompt 当作一个 Runnable 对象:
result = (
few_shot_prompt
| llm
).invoke
print
Ehh,这种写法既简洁又易于调试,一句话搞定整个 pipeline!
LlamaIndex / Ollama 小伙伴们也Neng接入哦Cuz LangChain 本身就是框架层面的抽象,只要你的 LLM 支持标准调用接口,douNeng无缝挂进去。比如 Ollama:
from langchain_ollama.llms import OllamaLLM
ollama_llm = OllamaLLM
response = ollama_llm.invoke
print
Simplify—Tips 一下呗
✅ 示例要贴近真实任务;
✅ 前后缀文字要简洁明了;
✅ 用 ExampleSelector 控制长度;
✅ 确保所有占位符dou有对应变量;
✅ 出错先检查变量名拼写,再kan是否遗漏在 input_variables 中;
结束语——别忘了动手实验呀!Aha,说实话光kan文档根本不够,你得自己敲几遍代码才Neng体会到其中细微差别。哈哈,祝你玩得开心!Ru果有什么疑问或者想聊聊别的话题,随时找我哈~ 咱们下次再聊吧!🙌
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback