凉城老泉
手机扫码
七.LangChian实验笔记之提示词基础
凉城老泉  2025-05-14     阅读(4)   分享

一.原则:想要写出优秀的提示词其实不难,只需按照以下规范书写即可



1. 立角色:引导AI进入具体场景,赋予其行家身份

2. 述问题:告诉AI你的困惑或问题、以及背景信息

3. 定目标:告诉AI你的需求,希望达成的目标

4. 补要求:告诉AI回答时注意什么、或如何回复



二.langchain字符串提示词模板样例


from langchain.prompts import PromptTemplate

##字符串模板
prompt = PromptTemplate.from_template("""
你是一个算命大师,请根据出生年月:{year}年{month}月,给这个名字{name}算命,算命依据周易算命来计算,按列表形式输出。
""")
pmt=prompt.format(name="张三",year="1990",month="11")
pmt_list=prompt.format_prompt(name="张三",year="1990",month="11")
print(pmt)
print(pmt_list)


三.langchain聊天提示词模板样例



from langchain.prompts import ChatPromptTemplate

##聊天模板
prompt = ChatPromptTemplate.from_messages(
    [
        ("system", "你是一个算命大师,请根据用户输入的姓名、出生年月使用周易算命来为用户算命,按列表形式输出。"),
        ("human", "姓名:{name},出生年月:{year}年{month}月"),
    ]
)
#格式化为字符串
prompt_str=prompt.format(name="张三",year="1980",month="11")
#格式化为消息列表
prompt_list=prompt.format_messages(name="张三",year="1980",month="11")
print(prompt_str)
print(prompt_list)


四.分开构造提示词,更加灵活


from langchain.prompts import AIMessagePromptTemplate
from langchain.schema import HumanMessage,SystemMessage,AIMessage

system=SystemMessage(
    content="你是一个算命大师,请根据用户输入的姓名、出生年月使用周易算命来为用户算命,按列表形式输出。"
    ,additional_kwargs={"大师姓名":"陈瞎子"})
human=HumanMessage(
    content="我叫{name},我出生在1932年10月"
)
ai=AIMessage(
    content="算命结果:大吉大利,今晚吃鸡!"
)

msg_list=[system,human,ai]
print(msg_list)
prompt=ChatPromptTemplate.from_messages(msg_list)
print(prompt)

template="你的名字是{name}"
ai_msg=AIMessagePromptTemplate.from_template(template=template)
m=ai_msg.format(name="张三")
print(m)