了解Prompt template, 和大模型交互就靠它了

了解Prompt template

提示模板是为大模型生成提示的预定义模版。

一个模板可能包括指令、少量示例,以及适合给定任务的特定上下文和问题。

PromptTemplate

使用 PromptTemplate 创建一个字符串提示的模板。

默认情况下,PromptTemplate使用 Python的 str.format 语法进行模板化。

from langchain.prompts import PromptTemplate

prompt_template=PromptTemplate.from_template(
    "给我讲一个关于{topic}的笑话,")
# str类型
prompt = prompt_template.format(topic="足球")
print(prompt)

模板支持任意数量的变量,包括没有变量。

from langchain.prompts import PromptTemplate

prompt_template=PromptTemplate.from_template(
    "讲一个笑话,")
# str类型
prompt = prompt_template.format()
print(prompt)

字符串提示组合

在处理字符串提示时,每个模板都会被连接在一起。您可以直接使用提示,也可以使用字符串(列表中的第一个元素需要个提示)

from langchain.prompts import PromptTemplate

prompt_templates = (
    PromptTemplate.from_template(
        "给我讲一个关于{topic}的笑话,",
    )
    + ",确保好笑"
    + "\n\n使用{language}输出"
)

prompt

# str类型
prompt = prompt_templates.format(topic="武大郎", language="中文")

print(prompt)

用jupyter打开 ipynb 运行打印下

查看包含两个变量

要知道怎样增加多个变量的。查看 PromptTemplate的源码 ,可以看到 可以 add 向下操作。

 

与大模型结合使用

 调用阿里千问

from langchain_community.llms.tongyi import Tongyi
from langchain.prompts.prompt import PromptTemplate

# 通义获取api key
from dotenv import find_dotenv, load_dotenv
import os
load_dotenv(find_dotenv())
DASHSCOPE_API_KEY = os.environ["DASHSCOPE_API_KEY"]

prompt_template = PromptTemplate.from_template(
    "给我讲一个关于{topic}的笑话"
)

model = Tongyi(model_name='qwen-max')
prompt = prompt_template.format(topic="翠花")

res = model.invoke(prompt)

print(res)

 

 end...

 

posted @ 2024-12-31 16:36  王竹笙  阅读(365)  评论(0)    收藏  举报