Skip to main content

提示(Prompts)

LangChain

Chat 模型的提示(Prompts)是围绕消息而构建的,而不仅仅是普通文本。

你可以使用 MessagePromptTemplate 来利用模板。你可以从一个或多个 MessagePromptTemplates 构建一个 ChatPromptTemplate。您可以使用 ChatPromptTemplateformat_prompt 方法,这将返回一个 PromptValue,您可以将其转换为字符串或消息对象,具体取决于您想要将格式化的值用作 LLM 或聊天模型的输入。

为方便起见,模板上还公开了一个 from_template 方法。如果您要使用此模板,则如下所示:

from langchain import PromptTemplate
from langchain.prompts.chat import (
ChatPromptTemplate,
SystemMessagePromptTemplate,
AIMessagePromptTemplate,
HumanMessagePromptTemplate,
)

template="You are a helpful assistant that translates {input_language} to {output_language}."
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template="{text}"
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])

# get a chat completion from the formatted messages
chat(chat_prompt.format_prompt(input_language="English", output_language="French", text="I love programming.").to_messages())
    AIMessage(content="J'adore la programmation.", additional_kwargs={})

如果您想要更直接地构建 MessagePromptTemplate,可以在外部创建一个 PromptTemplate 然后将其传入,例如:

prompt=PromptTemplate(
template="You are a helpful assistant that translates {input_language} to {output_language}.",
input_variables=["input_language", "output_language"],
)
system_message_prompt = SystemMessagePromptTemplate(prompt=prompt)