自然语言处理从入门到应用——LangChain:提示(Prompts)-[基础知识]

分类目录:《自然语言处理从入门到应用》总目录


模型编程的新方法是使用提示(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/

相关推荐
AC17805 分钟前
深入浅出 PID 算法:原理、实现与应用实战
人工智能·算法·机器学习
海兰8 分钟前
【第3篇-续】多模型多模态项目实现示例(增加OpenAI通用适配)附源代码
java·人工智能·spring boot·alibaba·spring ai
53AI9 分钟前
智能调度赋能交通行业:从经验驱动到数据智能的跨越
大数据·人工智能·知识库·智能调度·53ai
li星野10 分钟前
《零基础搞懂神经网络 & 手写AI:从神经元公式到PyTorch实战》
人工智能·深度学习·神经网络
澄澈青空~15 分钟前
有一个叫R2C,也有一个叫G2C
java·数据库·人工智能·c#
华盛AI17 分钟前
重磅!Anthropic Labs 正式推出 Claude Design!
人工智能
SUNNY_SHUN18 分钟前
清华团队提出TFA-Net,用模板特征聚合破解工业异常检测中的“捷径学习“难题
人工智能·学习·视觉检测·github
CeshirenTester20 分钟前
GitHub变了:私有仓库也要“喂AI”?开发者该怎么应对
人工智能·github
程序猿阿伟25 分钟前
《QClaw重构开发的四个底层逻辑,看懂少走半年弯路》
人工智能·重构
通信小呆呆26 分钟前
当波束搜索遇见信道编码和反向传播:两种让“粗搜索”不再犯错的新思路
人工智能·信息与通信·信号处理·信道编码·波束扫描