入门教程(本地模型)#
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上编程。
您可以查看日志,持久化/加载索引,类似于我们的入门示例。