分类目录:《自然语言处理从入门到应用》总目录
模型编程的新方法是使用提示(Prompts)。提示指的是模型的输入。这个输入通常由多个组件构成。PromptTemplate
负责构建这个输入,LangChain提供了多个类和函数,使得构建和处理提示变得简单。《自然语言处理从入门到应用------LangChain:提示(Prompts)》系列文章包含一下几个部分:
- LLM Prompt模板 :揭示如何使用
PromptTemplate
来提示语言模型 - Chat Prompt模板 :揭示如何使用
PromptTemplate
来提示对话模型 - 示例选择器 :在提示中包含示例往往很有用,这些示例可以根据需要进行动态选择
- 输出解析器 :析语言模型和对话模型的输出文本。在很多时候,我们可能希望获得更结构化的信息,这就是输出解析器发挥作用的地方。
- 输出解析器:指示模型应如何格式化输出, 将输出解析为所需的格式,也包括必要时进行重试。
提示是传递给语言模型的值,这个值可以是字符串(用于语言模型)或消息列表(用于对话模型)。这些提示的数据类型相当简单,但它们的构造却并非如此。LangChain的价值在于:
- 用于字符串提示和消息提示的标准接口
- 用于字符串提示模板和消息提示模板的标准接口
- 示例选择器:用于将示例插入提示中,以便语言模型进行遵循
- 输出解析器:用于将指令插入到提示中,作为语言模型输出信息的格式,以及将字符串输出解析为所需格式的方法。
《自然语言处理从入门到应用------LangChain:提示(Prompts)》系列文章为特定类型的字符串提示、特定类型的聊天提示、示例选择器和输出解析器提供了深入的文档。在本文中,我们先介绍了一个用于简单提示的标准接口的快速入门指南。
PromptTemplates
PromptTemplates
负责构建提示值。这些PromptTemplates
可以执行格式化、示例选择等操作。从高层次上讲,这些基本上是公开了format_prompt
方法以构建提示的对象。在内部,可以发生任何事情。
dart
from langchain.prompts import PromptTemplate, ChatPromptTemplate
string_prompt = PromptTemplate.from_template("tell me a joke about {subject}")
chat_prompt = ChatPromptTemplate.from_template("tell me a joke about {subject}")
string_prompt_value = string_prompt.format_prompt(subject="soccer")
chat_prompt_value = chat_prompt.format_prompt(subject="soccer")
to_string
当传递给LLM(预期为原始文本)时调用的方法:
string_prompt_value.to_string()
chat_prompt_value.to_string()
to_messages
当传递给ChatModel(预期为消息列表)时调用的方法。
string_prompt_value.to_messages()
chat_prompt_value.to_messages()
示例:
dart
[HumanMessage(content='tell me a joke about soccer', additional_kwargs={}, example=False)]
参考文献:
[1] LangChain 🦜️🔗 中文网,跟着LangChain一起学LLM/GPT开发:https://www.langchain.com.cn/
[2] LangChain中文网 - LangChain 是一个用于开发由语言模型驱动的应用程序的框架:http://www.cnlangchain.com/