LangChain 是 LLM 交响乐的指挥家

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

本文分享 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/

什么是提示模板?

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

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

ini
复制代码
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。这些模板可以采用任意数量的输入变量,并且可以格式化以生成提示。以下是如何创建一个没有输入变量、一个输入变量和多个输入变量的提示模板:

ini
复制代码
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 中的提示模板是为语言模型生成动态提示的强大工具。它们提供了对提示的灵活性和控制,能够有效地指导模型的响应。无论是为特定任务创建语言模型还是探索语言模型的功能,提示模板都可以改变游戏规则。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
人工智能

说说ChatGPT的插件系统

2024-4-24 13:37:15

人工智能

ChatGPT 开源应用月度排名

2024-4-24 17:32:46

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索