介绍
Prompt Template(提示词模板)组件
核心作用:解决提示词硬编码的问题,实现提示词的模板化、参数化,提升复用性,支持动态传入变量,适配不同问题场景。
Code
import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.prompts import ChatPromptTemplate
# Prompt Template(提示词模板)组件
# 核心作用:解决提示词硬编码的问题,实现提示词的模板化、参数化,提升复用性,支持动态传入变量,适配不同问题场景。
# 加载环境变量
load_dotenv()
# 获取密钥
# 定义配置字典 (注意使用冒号 :)
qwen_config = {
"api_key": os.getenv("QWEN_API_KEY"), # 获取QWEN_API_KEY
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1", # 请求地址
"model_name": "qwen3.5-flash",
}
model_config = qwen_config
# 初始化聊天模型
chat_model = ChatOpenAI(
model=model_config["model_name"], # 模型名称
api_key=model_config["api_key"],
base_url=model_config["base_url"],
temperature=0.7, # 生成随机性,0-1,0为最严谨,1为最灵活
)
template = """
你是一个专业的科普博主,用通俗易懂的语言讲解{topic},回答控制在100字以内。
"""
# 初始化聊天提示词模板
prompt = ChatPromptTemplate.from_template(template)
# 2. 向模板传入变量,生成标准化的聊天消息
messages = prompt.invoke({"topic": "大语言模型的嵌入技术"})
chain = prompt | chat_model # LangChain 1.0的管道符语法,简洁高效
# 调用模型生成结果
response = chain.invoke(messages)
# 输出结果
print(response.content)