当前位置: 首页 > ai >正文

【自然语言处理与大模型】LangChain大模型应用框架入门②

        本文介绍LangChain的另一个重要组件——提示词模板(Prompt Template)组件,它主要用于将用户输入和参数转换为语言模型可理解的指令。有助于引导模型生成符合预期的响应,帮助其更好地理解上下文,从而输出相关且连贯的语言结果。提示词模板的输入是一个字典,其中每个键对应模板中需要填充的变量名。输出是一个 PromptValue 对象。该对象可以直接传递给语言模型(LLM)或聊天模型(ChatModel),也可以转换为字符串或消息列表。引入 PromptValue 的目的是为了在字符串格式和消息格式之间灵活切换,提升使用的便捷性。

        简单介绍过后我们就可以开始学习两个重要的prompt类了,LangChain Prompt一共有四个类,但我觉得先学会两个重要的再说。

提示词模版功能描述
PromptTemplate定义基础提示词模板,支持变量替换
FewShotPromptTemplate支持注入少量示例(few-shot learning)以引导模型输出
PipelinePromptTemplate支持将多个 Prompt 模板组合串联使用
ChatPromptTemplate针对 ChatModel 设计的消息格式封装,适用于对话模型

(1)基础提示词模板

        基础提示词模板定义一个带变量的模板,你要替换的变量用 {{ }} 包裹住就行。

from langchain.prompts import PromptTemplatetemplate = "请回答以下问题:{question}"
prompt = PromptTemplate.from_template(template)# 使用
print(prompt.format(question="什么是人工智能?"))
# 输出是“请回答以下问题:什么是人工智能?”

(2)对话提示词模板

        对话提示词模板用于构造符合聊天模型格式的消息结构,之前的版本是用SystemMessage, HumanMessage类来构建的,现在可以用更简单的方式,使用元组并且第一个元素放上“对话角色”就可以了。

from langchain.prompts import ChatPromptTemplateprompt = ChatPromptTemplate.from_messages([("system", "你是一个知识丰富的助手。"),("human", "请介绍:{topic}")
])# 使用
messages = prompt.format(topic="深度学习")
print(messages)

http://www.xdnf.cn/news/2829.html

相关文章:

  • Selenium 与 Playwright:浏览器自动化工具的深度对比
  • ComfyUI 学习笔记,案例1:2_pass_txt2img
  • 案例速成GO+Socket,个人笔记
  • WEBSTORM前端 —— 第2章:CSS —— 第4节:盒子模型
  • 【AI News | 20250429】每日AI进展
  • 破茧成蝶:一家传统制造企业的年轻化转型之路
  • VS Code + Linux 远程开发 go
  • 2025年具身智能科技研报
  • C++函数模板基础
  • 【专题五】位运算(1):常见位运算操作总结
  • DeepSeek: 探索未来的深度学习搜索引擎
  • 第十六届蓝桥杯 2025 C/C++组 脉冲强度之和
  • Origin绘图操作:点线图符号显示不全解决方法
  • 接入层架构演变
  • Nginx 核心功能与 LNMP 架构部署
  • C#解析USB - HID手柄上摇杆按键数据
  • Ubuntu 20.04 安装 ROS 2 Foxy Fitzroy
  • xilinx的XCI文件设定输出目录
  • MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep 是怎样练成的?
  • [AI]browser-use + web-ui 大模型实现自动操作浏览器
  • 元宇宙2.0:当区块链成为数字世界的宪法
  • 【C++初阶】--- 模板进阶
  • (三十二)Android开发中AppCompatActivity和Activity之间的详细区别
  • 01_微服务常见问题
  • 如何利用Rust提升Linux服务器效率(详细操作指南)
  • dma_request_slave_channel_compat 与 dma_request_channel 的区别
  • 【C语言操作符详解(二)】--结构成员访问操作符,操作符的属性,表达式求值
  • springboot中有关数据库信息转换的处理
  • __VUE_PROD_HYDRAION_MISMATCH_DETAILS__在vue.config.js怎么配置
  • 外部存储器接口:EMIF总线