(LangChain实战4):LangChain消息模版PromptTemplate

1.PromptTemplate如何获取实例

1.1方式一 :使用构造方法

python 复制代码
from langchain_core.prompts import PromptTemplate
# 1.构造方法获取提示词模版
# 参数中指定:input_variables/template
prompt_template = PromptTemplate(
    template="你是一个{role},你的名字叫{name}",
    input_variables=["role","name"]
)

# 2.填充模版,暂时使用format()
prompt = prompt_template.format(role="人工智能专家", name="小智")
print(prompt)

1.2方式二(推荐):from_template

python 复制代码
prompt_template2 = PromptTemplate.from_template(template="你是一个{role},你的名字叫{name}")
prompt2 = prompt_template2.format(role="人工智能专家", name="小智")
print(prompt2)

2.format()与invoke()的对比及使用

2.1两种示例代码(输出结果与类型)

python 复制代码
# 构造提示词模版format() 参数:给变量赋值    返回值:str类型
prompt_template2 = PromptTemplate.from_template(template="你是一个{role},你的名字叫{name}")
prompt2 = prompt_template2.format(role="人工智能专家", name="小智")
print(prompt2)

# 构造提示词模版invoke() 参数:使用字典    返回值:PromptVale类型
prompt_template3 = PromptTemplate.from_template(template="你是一个{role},你的名字叫{name}")
prompt3 = prompt_template3.invoke(input={"role": "人工智能专家", "name": "小智"})
print(prompt3)
shell 复制代码
E:\pythonWorkSpace\pythonProject1\.venv1\Scripts\python.exe E:\pythonWorkSpace\LangChain\LangChain消息模版PromptTemplate.py 
prompt2内容: 你是一个人工智能专家,你的名字叫小智
prompt2类型: <class 'str'>
prompt3内容: text='你是一个人工智能专家,你的名字叫小智'
prompt3类型: <class 'langchain_core.prompt_values.StringPromptValue'>

3.结合大模型使用

python 复制代码
import os

from langchain_core.messages import SystemMessage, HumanMessage
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
from langchain_core.prompts import PromptTemplate

# 0.加载env环境变量
load_dotenv()

# 1.获取对话模型
chat_model = ChatOpenAI(
    # 1.设置模型名称
    model="deepseek-chat",
    # 2.模型接口地址
    base_url= os.getenv('OPENAI_BASE_URL'),
    # 3.模型调用key
    api_key=os.getenv('OPENAI_API_KEY'),
)

# 2.构造提示词模版invoke()
prompt_template = PromptTemplate.from_template(template="你是一个{role},你的名字叫{name}")

# 3.给模版变量赋值
prompt = prompt_template.invoke(input={"role": "人工智能专家", "name": "小智"})

# 4.调用大模型,将提示词传入
response = chat_model.invoke(prompt)
print(response.content)
shell 复制代码
E:\pythonWorkSpace\pythonProject1\.venv1\Scripts\python.exe E:\pythonWorkSpace\LangChain\LangChain消息模版PromptTemplate.py 
你好!我是小智,一名人工智能专家。很高兴为你提供帮助!无论是关于机器学习、深度学习、自然语言处理,还是AI应用开发、算法优化等问题,我都可以为你解答或提供建议。请随时告诉我你需要什么帮助! 😊
相关推荐
老云讲算力市场4 分钟前
WAIC首日观察:国产算力与机器人加速落地,奇点算力迎来产业新机遇
人工智能·科技
小林ixn18 分钟前
大模型随机说话的秘密:Temperature 和 Top K 深度解析,LangChain 实战调优
人工智能·langchain
ALINX技术博客30 分钟前
ALINX 亮相 2026 WAIC 世界人工智能大会,展示 AI 视觉 FPGA+GPU 异构计算与电子后视镜解决方案
人工智能·ai·fpga·世界人工智能大会·电子后视镜
程序员老猫1 小时前
当 AI 能写 80% 的代码时,后端工程师的核心价值还剩什么?
人工智能
想会飞的蒲公英1 小时前
计算机怎样读取中文文本:编码、清洗与标准化
人工智能·python·自然语言处理
CIO_Alliance1 小时前
AI+iPaaS解决方案深度整合:让跨系统业务流程自动化一步到位
人工智能·ipaas·系统集成·ai+ipaas·企业cio联盟·企业级ai化转型
苏州IT威翰德1 小时前
算力资产“续命”专家:苏州威翰德科技赋能NVIDIA高端AI芯片芯片级维修
大数据·人工智能
天上路人1 小时前
A59P双波束语音模块:神经网络降噪在远场拾音中的工程实现分析
人工智能·深度学习·神经网络·ai降噪·ai语音·麦克风·回音消除
冬奇Lab2 小时前
AI 评测系列(03):LLM-as-Judge——让 LLM 评价 LLM 的正确姿势
人工智能·llm
Miao121312 小时前
某海外住宿平台如何在大规模场景下实现指标一致性:Minerva 指标平台实践
大数据·数据库·人工智能