系列文章索引
LangChain教程 - 系列文章
介绍
在这个教程中,你将了解 LangChain 的向量存储和检索器抽象。这些抽象旨在支持从(向量)数据库和其他来源检索数据,并将其集成到大语言模型(LLM)的工作流程中。这在基于检索增强生成(RAG)等应用中尤为重要,因为这些应用需要在模型推理过程中提取数据供模型进行推理。
概念
本教程将主要关注文本数据的检索,涵盖以下几个核心概念:
- 文档(Documents):表示文本数据的基本单位,通常包含内容和元数据。
- 向量存储(Vector Stores):通过将文本转换为向量存储起来,便于快速相似性搜索。
- 检索器(Retrievers):基于向量存储,执行高效的文本检索。
环境准备
Jupyter Notebook
你可以在 Jupyter Notebook 中运行本教程。如果尚未安装,请参考 Jupyter 安装指南。
安装依赖包
我们将使用以下 Python 包:
langchainlangchain-chromalangchain-openai
通过以下命令安装:
pip install langchain langchain-chroma langchain-openai
安装后,我们就可以开始搭建 LangChain 环境。
文档(Documents)
LangChain 实现了一个文档抽象,用来表示一段文本及其关联的元数据。每个文档都有两个属性:
page_content:表示文档的文本内容;metadata:一个包含文档相关信息的字典,比如文档来源等。
我们可以通过以下代码生成一些示例文档:
from langchain_core.documents import Document
documents = [
Document(
page_content="狗是忠诚和友好的伴侣。",
metadata={
"source": "mammal-pets-doc"},
),
Document(
page_content="猫是一种独立的宠物,通常喜欢自己的空间。",
metadata={
"source": "mammal-pets-doc"},
),
Document(
page_content="金鱼是新手的理想宠物,照顾起来相对简单。",
metadata={
"source": "fish-pets-doc"},
),
Document(
page_content="鹦鹉是聪明的鸟类,能够模仿人类的语言。",
metadata={
"source": "bird-pets-doc"},
),
Document(
page_content="兔子是一种社交性很强的动物,喜欢有足够的空间活动。",
metadata={
"source": "mammal-pets-doc"},
),
]
这些文档示例为后续的检索实验提供了基础数据集。
向量存储(Vector Stores)
向量存储是一种常见的用于存储和检索非结构化数据(如文本)的方式。它的核心思想是将文本数据转换为数值向量,并使用向量相似性度量来进行查询。
LangChain 提供了多种向量存储的集成接口,可以将文本或文档添加到向量存储中,并通

最低0.47元/天 解锁文章

1337

被折叠的 条评论
为什么被折叠?



