LangChain 快速上手教程
针对初学者的 LLM 开发框架教程。实用但入门级,适合快速掌握基础。
针对初学者的 LLM 开发框架教程。实用但入门级,适合快速掌握基础。
想知道 LangChain 是什么以及它是如何工作的?这是一份绝对面向初学者的 LangChain 指南,我们讨论了 LangChain 是什么、它如何工作、提示模板以及如何使用 LangChain LLM 构建应用程序。
在人工智能重塑可能性边界的时代,LangChain 应运而生,这是一个强大的框架,旨在利用大语言模型(LLM)的能力。LangChain 位于创新与实用性的交汇处,为开发者提供了一套工具包,能够将 AI 语言功能链接在一起,以前所未有的便利性创建复杂的应用程序。
在本文中,我们将深入探讨 LangChain 的复杂性,了解它如何简化 AI 驱动型语言解决方案的构建过程。无论你是经验丰富的开发者还是渴望了解最新进展的 AI 爱好者,都可以加入我们,一起解开 LangChain 背后的机制——并揭示它为 AI 交互的未来所蕴含的潜力。
LangChain 由 Harrison Chase 开发,在 2022 年 10 月首次亮相,是一个开源平台,旨在构建由 LLM 驱动的坚实应用程序,例如 ChatGPT 这样的聊天机器人以及各种定制化应用程序。
LangChain 旨在为数据工程师提供一套全面的工具包,用于在多种使用场景中利用 LLM,包括聊天机器人、自动问答、文本摘要等。
LangChain 由六个关键模块组成:
LLMs。LangChain 作为一个标准接口,允许与各种 LLM 的交互。
LLMs。LangChain 作为一个标准接口,允许与各种 LLM 的交互。
提示构建。LangChain 提供了多种类和函数,旨在简化提示的创建和处理过程。
对话记忆。LangChain 融入了内存模块,支持管理和修改过去的聊天对话,这是需要回忆以前交互的聊天机器人的关键功能。
智能 Agent。LangChain 为 Agent 配备了全面的工具包。这些 Agent 可以根据用户输入选择使用哪些工具。
索引。LangChain 中的索引是组织文档的方法,使其便于与 LLM 进行有效交互。
Chain。虽然使用单个 LLM 对于更简单的任务可能就足够了,但 LangChain 为更复杂的应用程序提供了标准接口和一些常用的实现,以便将 LLM 相互链接或与其他专门模块链接。
前面的图表显示了 LangChain 如何处理和处理信息以响应用户提示。初始阶段,系统从包含大量数据的大型文档开始。随后将该文档分解成更小、更容易管理的块。
这些块随后被嵌入到向量中——这是一个过程,将数据转换为系统可以快速高效地检索的格式。这些向量存储在向量存储中,本质上是一个为处理向量化数据而优化的数据库。
当用户向系统输入提示时,LangChain 查询该向量存储,以找到与用户请求密切匹配或相关的信息。该系统采用大型 LLM 来理解用户提示的上下文和意图,这将指导从向量存储中检索相关信息。
一旦识别出相关信息,LLM 就使用它来生成或完成准确解决查询的答案。这最后一步以用户收到定制化的响应而告终,这是系统数据处理和语言生成能力的输出。
在本教程中,我们将使用 SingleStore 的 Notebooks 功能(免费使用)作为我们的开发环境。
SingleStore Notebook 扩展了 Jupyter Notebook 的功能,使数据专业人士能够轻松地进行工作和实践。
注册 SingleStoreDB 以使用 Notebooks。
注册后,你还将获得 60 美元的免费计算资源——为什么不利用这个机会呢?
点击"Notebooks"并从空白 Notebook 开始。
将其命名为"LangChain-Tutorial"之类的名称,或任何适合你的名称。
让我们开始使用刚创建的 Notebook。
按照这个分步指南,不断添加每个步骤中显示的代码到你的 Notebook 中并执行。让我们开始吧!
现在,要使用 Langchain,首先让我们用 pip 命令安装它。
!pip install -q langchain
要使用 LangChain,你需要与一个或多个模型提供商(如 OpenAI 或 Hugging Face)集成。在此示例中,我们将使用 OpenAI 的 API。让我们安装它。
!pip install -q openai
接下来,我们需要设置环境变量来进行实践。让我们这样做。
import os
os.environ["OPENAI_API_KEY"] = "Your-API-Key"
你需要知道如何获取你的 API 密钥。如果你不知道,请登录你的 OpenAI 账户并按照列出的说明进行操作。
[注意:确保你的 API 密钥仍有配额可用]
接下来,让我们获取一个像 OpenAI 这样的 LLM 并使用此模型进行预测。我们将要求我们的模型告诉我们世界上人口最多的五个城市。
from langchain.llms import OpenAI
llm = OpenAI(temperature=0.7)
text = "what are the 5 most populated cities in the world?"
print(llm(text))
如你所见,我们的模型进行了预测,并根据人口数为我们提供了前五个城市。
首先让我们定义提示模板。
from langchain.prompts import PromptTemplate
# Creating a prompt
prompt = PromptTemplate(
input_variables=["input"],
template="what are the 5 most {input} cities in the world?",
)
我们创建了提示。要获得预测,现在让我们调用 format 方法并传递一个输入。
到目前为止,我们已经看到了如何初始化 LLM 模型以及如何使用该模型进行预测。现在让我们更进一步,使用 LLMChain 类将这些步骤链接在一起。
from langchain.chains import LLMChain
# Instancing a LLM model
llm = OpenAI(temperature=0.7)
# Creating a prompt
prompt = PromptTemplate(
input_variables=["attribute"],
template= "What is the largest {attribute} in the world?",
)
你可以看到该模型的预测。
同样,你将使用 SingleStore Notebooks 作为开发环境。让我们开发一个非常简单的聊天应用程序。
从空白 Notebook 开始,并将其命名为你喜欢的任何名称。首先,安装依赖项。
pip install langchain openai
接下来,导入已安装的依赖项。
from langchain import ConversationChain, OpenAI, PromptTemplate, LLMChain
from langchain.memory import ConversationBufferWindowMemory
获取你的 OpenAI API 密钥并保存。
添加和自定义 LLM 模板
# Customize the LLM template
template = """Assistant is a large language model trained by OpenAI.
{history}
Human: {human_input}
Assistant:"""
prompt = PromptTemplate(input_variables=["history", "human_input"],template=template)
使用你保存的 API 密钥加载 ChatGPT chain。将人类输入添加为"What is SingleStore?"。你可以将输入更改为任何你想要的内容。
chatgpt_chain = LLMChain(
llm=OpenAI(openai_api_key="YOUR-API-KEY",temperature=0),
prompt=prompt,
verbose=True,
memory=ConversationBufferWindowMemory(k=2),
)
# Predict a sentence using the chatgpt chain
output = chatgpt_chain.predict(
human_input="What is SingleStore?"
)
# Display the model's response
print(output)
该脚本使用 OpenAI API 密钥和预设提示初始化 LLM chain。然后获取用户输入并显示生成的输出:
通过改变人类输入文本/内容来尝试此操作。完整的代码格式执行步骤可在 GitHub 上获得。顺便说一下,SingleStore 与 LangChain 有很好的集成。
LangChain 是一个不可或缺的框架,致力于构建由 LLM 驱动的尖端应用程序的数据工程师和开发者。与传统工具和平台不同,LangChain 提供了一个更强大且多功能的框架,专为复杂 AI 应用程序量身定制。
LangChain 不仅仅是开发者工具库中的另一个工具;它是一个变革性框架,重新定义了 AI 驱动应用程序领域中可能的事物。
我们还在 SingleStore Now 实时 AI 会议上与 LangChain CEO Harrison Chase 进行了座谈。你可以在线点播观看我们与他的问答环节。
同时利用 SingleStore 和 LangChain 的优势,立即构建智能而强大的 AI 应用程序。
使用 SingleStore 和 LangChain 构建 AI 驱动的应用程序。立即开始免费的 Singlestore Helios 试用。