大模型技术 提示词模板 概述 在 LangChain 中提示词模板Prompt Template是构建大模型应用的核心基石。如果把大模型比作一个“极其聪明但没有记忆的员工”那么提示词模板就是一份标准化的“工作指南”。它将用户的动态输入与预设的指令、上下文、格式要求结合起来确保大模型能输出高质量、符合预期的结果。一、 为什么需要提示词模板逻辑与数据分离你不需要在代码里硬编码复杂的提示语。你可以定义一个模板只在运行时注入变量如用户的问题、背景资料。复用性同一个任务如翻译、总结的指令可以定义一次多次使用。角色注入轻松为 AI 设定特定的身份如“资深架构师”或“幽默诗人”。标准化输出配合前文提到的解析器通过模板告知模型必须以 JSON 或特定格式返回。二、 核心模板类型LangChain 主要提供了两种模板对应不同的模型接口1. PromptTemplate (普通模板)用于传统的文本补全模型LLMs它只是一个简单的字符串模板。from langchain.prompts import PromptTemplate # 1. 定义模板字符串使用 {variable} 作为占位符 template 你是一位专业的{field}教练。请为我制定一个{duration}的训练计划。 # 2. 实例化模板 prompt PromptTemplate( input_variables[field, duration], templatetemplate ) # 3. 填充变量生成最终提示词 final_prompt prompt.format(field马拉松, duration三个月) print(final_prompt) # 输出: 你是一位专业的马拉松教练。请为我制定一个三个月的训练计划。2. ChatPromptTemplate (对话模板) ——最常用用于聊天模型ChatModels。它由一组具有不同角色的“消息”组成System, Human, AI。from langchain.prompts import ChatPromptTemplate # 定义多角色对话模板 chat_template ChatPromptTemplate.from_messages([ (system, 你是一名{language}翻译官负责将用户输入的中文翻译成{language}。), (human, 请翻译这段话{text}), ]) # 填充变量 messages chat_template.format_messages( language法语, text今天天气真不错 ) # 生成的结果是一组 Message 对象可直接发送给 ChatOpenAI 或 Ollama三、 进阶用法少样本模板 (Few-Shot Prompting)“少样本”是指给模型几个例子让它模仿。这在处理复杂逻辑或特定风格时非常有效。from langchain.prompts import FewShotPromptTemplate, PromptTemplate # 1. 准备示例 examples [ {input: 开心, output: 像盛开的花朵一样灿烂}, {input: 难过, output: 像阴雨连绵的深秋一样萧索}, ] # 2. 定义示例的格式 example_prompt PromptTemplate( input_variables[input, output], template词语: {input}\n比喻: {output} ) # 3. 构建少样本模板 few_shot_prompt FewShotPromptTemplate( examplesexamples, example_promptexample_prompt, suffix词语: {user_input}\n比喻:, # 后缀即用户的输入 input_variables[user_input] ) print(few_shot_prompt.format(user_input孤独)) # 模型会模仿之前的风格生成关于“孤独”的比喻四、 组合提示词 (Pipeline Prompt)有时候提示词非常复杂你可能希望把几个小模板组合成一个大模板。场景先设定身份再引入背景知识最后提出问题。实现使用PipelinePromptTemplate由于篇幅此处仅作概念介绍它允许将基础模板插入到父模板的占位符中。五、 最佳实践技巧部分填充 (Partial Formatting) 如果你在程序开始时就知道某些变量比如当前日期而另一些变量比如用户输入要等会儿才知道可以使用partial。partial_prompt prompt.partial(date2024-05-20) # 稍后再填充剩下的变量 final_prompt partial_prompt.format(user_query你好)外部加载 为了保持代码整洁可以将复杂的 Prompt 存储在yaml或json文件中通过 LangChain 加载。LCEL 管道调用 将模板直接放在链的最前端chain chat_template | model | output_parser chain.invoke({language: 英语, text: 吃了吗})总结提示词模板不仅仅是字符串拼接它是Prompt 工程的工程化实现。通过 LangChain 的模板系统你可以结构化地表达任务逻辑。动态化地注入实时数据。模式化地引导 AI 模仿特定行为。学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能​因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示​因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。