本文分享 LangChain 结构中一个引人入胜的概念 Prompt Templates。假如热衷于言语模型而且热爱 Python,那么将会大饱口福。

深化了解 LangChain 的国际,这个结构在我作为开发者的旅程中改动了游戏规则。

LangChain 是一个结构,它一直是我作为开发者旅途中的规则改动者。 LangChain 是一个独特的东西,它运用大言语模型(LLMs)的力量为各种运用事例构建应用程序。Harrison Chase 的这个创意于 2022 年 10 月作为开源项目首次亮相。从那时起,它就成为 GitHub 宇宙中一颗闪亮的明星,拥有高达 42,000 颗星,并有超过 800 名开发者的奉献。

LangChain 就像一位大师,指挥着 OpenAI 和 HuggingFace Hub 等 LLM 模型以及 Google、Wikipedia、Notion 和 Wolfram 等外部资源的管弦乐队。它供给了一组笼统(链和代理)和东西(提示模板、内存、文档加载器、输出解析器),充任文本输入和输出之间的桥梁。这些模型和组件链接到管道中,这让开发人员可以轻而易举地快速构建强健的应用程序原型。本质上,LangChain 是 LLM 交响乐的指挥家。

LangChain 的真实优势在于它的七个要害模块:

  1. 模型:这些是构成应用程序主干的关闭或开源 LLM
  2. 提示:这些是接受用户输入和输出解析器的模板,这些解析器格式化 LLM 模型的输出。
  3. 索引:该模块预备和构建数据,以便 LLM 模型可以有效地与它们交互。
  4. 回忆:这为链或代理供给了短期和长时间回忆的能力,使它们可以记住以前与用户的交互。
  5. :这是一种在单个管道(或“链”)中组合多个组件或其他链的办法。
  6. 代理人:根据输入决定运用可用东西/数据采取的行动计划。
  7. 回调:这些是在 LLM 运行期间的特定点触发以执行的函数。

GitHub:python.langchain.com/

什么是提示模板?

在言语模型的国际中,提示是一段文本,指示模型生成特定类型的呼应。顾名思义,提示模板是生成此类提示的可重复办法。它本质上是一个文本字符串,可以接收来自最终用户的一组参数并相应地生成提示。

提示模板可以包含言语模型的阐明、一组用于辅导模型呼应的少量示例以及模型的问题。下面是一个简略的例子:

from langchain import PromptTemplate
template = """
I want you to act as a naming consultant for new companies.
What is a good name for a company that makes {product}?
"""
prompt = PromptTemplate(
 input_variables=["product"],
 template=template,
)
prompt.format(product="colorful socks")

在此示例中,提示模板要求言语模型为出产特定产品的公司建议名称。product 是一个变量,可以替换为任何产品名称。

创建提示模板

在 LangChain 中创建提示模板非常简略。可以运用该类创建简略的硬编码提示 PromptTemplate。这些模板可以选用任意数量的输入变量,而且可以格式化以生成提示。以下是怎么创建一个没有输入变量、一个输入变量和多个输入变量的提示模板:

from langchain import PromptTemplate
# No Input Variable 无输入变量
no_input_prompt = PromptTemplate(input_variables=[], template="Tell me a joke.")
print(no_input_prompt.format())  
# One Input Variable 一个输入变量
one_input_prompt = PromptTemplate(input_variables=["adjective"], template="Tell me a {adjective} joke.")
print(one_input_prompt.format(adjective="funny"))  
# Multiple Input Variables 多个输入变量
multiple_input_prompt = PromptTemplate(
 input_variables=["adjective", "content"], 
 template="Tell me a {adjective} joke about {content}."
)
print(multiple_input_prompt.format(adjective="funny", content="chickens"))  

总结

总归,LangChain 中的提示模板是为言语模型生成动态提示的强大东西。它们供给了对提示的灵活性和控制,可以有效地辅导模型的呼应。无论是为特定任务创建言语模型仍是探究言语模型的功用,提示模板都可以改动游戏规则。