LlamaIndex:为 LLM 添加个性化数据指南
LlamaIndex 是您构建基于 LLM 的应用程序的友好数据助手。您可以使用自然语言轻松地获取、管理和检索私有数据和特定领域的数据。
LlamaIndex 是一个针对大型语言模型 (LLM) 应用程序的数据框架。GPT-4 等 LLM 在海量的公共数据集上进行预训练,开箱即用即可实现令人难以置信的自然语言处理能力。然而,如果没有访问您自己的私有数据,它们的实用性就会受到限制。
LlamaIndex 允许您通过灵活的数据连接器从 API、数据库、PDF 等中提取数据。此数据被编入针对 LLM 优化的中间表示中。然后,LlamaIndex 允许通过查询引擎、聊天界面和 LLM 驱动的 data agent 对您的数据进行自然语言查询和对话。它使您的 LLM 能够访问和解释大规模的私有数据,而无需在较新的数据上重新训练模型。
无论您是初学者,正在寻找一种简单的方法来用自然语言查询您的数据,还是高级用户需要深度定制,LlamaIndex 都能提供相应的工具。高级 API 允许您仅使用五行程代码即可开始,而低级 API 允许您完全控制数据提取、索引、检索等。
LlamaIndex 如何工作?
LlamaIndex 使用检索增强生成 (RAG) 系统,该系统将大型语言模型与私有知识库相结合。它通常包括两个阶段:索引阶段和查询阶段。
索引阶段
在索引阶段,LlamaIndex 将有效地将私有数据编入向量索引。此步骤有助于创建特定于您域的可搜索知识库。您可以输入文本文档、数据库记录、知识图谱和其他数据类型。从本质上讲,索引将数据转换为捕获其语义含义的数字向量或嵌入。它可以在内容中启用快速相似性搜索。
查询阶段
在查询阶段,RAG 管道根据用户的查询搜索最相关的信息。然后将此信息与查询一起提供给 LLM,以创建准确的响应。此过程允许 LLM 访问其初始训练中可能未包含的当前和更新的信息。在此阶段的主要挑战是检索、组织和推理潜在的多个知识库。
设置 LlamaIndex
在我们深入研究 LlamaIndex 教程和项目之前,我们必须安装 Python 软件包并设置 API。
我们可以简单地使用 pip 安装 LlamaIndex。
pip install llama-index
默认情况下,LlamaIndex 使用 OpenAI GPT-3 text-davinci-003 模型。要使用此模型,您必须设置 OPENAI_API_KEY。
import os
os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"
此外,请确保已安装 openai 软件包。
pip install openai
使用 LlamaIndex 向 LLM 添加个人数据
在本节中,我们将学习如何使用 LlamaIndex 创建简历阅读器。您可以通过转到 LinkedIn 个人资料页面、单击更多,然后保存为 PDF 来下载您的简历。
在运行任何操作之前,我们必须安装 llama-index、openai 和 pypdf。我们正在安装 pypdf,以便我们可以读取和转换 PDF 文件。
pip install llama-index openai pypdf
加载数据并创建索引
我们有一个名为'Private-Data'的目录,其中仅包含一个 PDF 文件。我们将使用 SimpleDirectoryReader 读取它,然后使用 TreeIndex 将其转换为索引。
from llama_index import TreeIndex, SimpleDirectoryReader
resume = SimpleDirectoryReader("Private-Data").load_data()
new_index = TreeIndex.from_documents(resume)
运行查询
一旦数据被索引,你可以开始使用 as_query_engine() 提问。此函数使你能够询问有关文档中特定信息的问题,并在 OpenAI GPT-3 text-davinci-003 模型的帮助下收到相应的答复。


