Skip to content

入门教程(本地模型)#

Tip

确保您已经按照自定义安装步骤进行了操作。

这是我们著名的“5行代码”入门示例,使用本地LLM和嵌入模型。我们将使用BAAI/bge-base-en-v1.5作为我们的嵌入模型,并通过Ollama来提供Llama3

下载数据#

这个示例使用保罗·格雷厄姆的文章"我做了什么工作"的文本。这个示例以及许多其他示例可以在我们的存储库的examples文件夹中找到。

获取它的最简单方法是通过此链接下载,并将其保存在名为data的文件夹中。

设置#

Ollama是一个帮助您在本地设置LLM的工具(目前仅在OSX和Linux上支持。您可以通过WSL 2在Windows上安装Ollama)。

请按照README中的说明进行安装。

要下载Llama3模型,只需执行ollama pull llama3

注意:您需要至少拥有32GB的RAM的计算机。

要导入llama_index.llms.ollama,您应该运行pip install llama-index-llms-ollama

要导入llama_index.embeddings.huggingface,您应该运行pip install llama-index-embeddings-huggingface

更多集成都列在https://llamahub.ai上。

加载数据并构建索引#

在创建了data文件夹的同一文件夹中,创建一个名为starter.py的文件,并输入以下内容:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.ollama import Ollama

documents = SimpleDirectoryReader("data").load_data()

# bge-base嵌入模型
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-base-en-v1.5")

# ollama
Settings.llm = Ollama(model="llama3", request_timeout=360.0)

index = VectorStoreIndex.from_documents(
    documents,
)

这将在data文件夹中的文档上构建一个索引(在本例中只包含文章文本,但也可以包含许多文档)。

您的目录结构应该如下所示:

├── starter.py
└── data
    └── paul_graham_essay.txt

我们通过我们的HuggingFaceEmbedding类使用BAAI/bge-base-en-v1.5模型,并使用我们的Ollama LLM包装器加载Llama3模型。在本地嵌入模型页面了解更多。

查询您的数据#

将以下内容添加到starter.py中:

query_engine = index.as_query_engine()
response = query_engine.query("作者在成长过程中做了什么?")
print(response)

这将创建一个用于索引查询的引擎,并询问一个简单的问题。您应该会得到类似以下的响应:作者写了短篇小说,并尝试在IBM 1401上编程。

您可以查看日志,持久化/加载索引,类似于我们的入门示例

Tip