04 LlamaIndex入门教程:使用本地模型的五步指南

LlamaIndex入门教程:使用本地模型的五步指南

在本教程中,我们将展示如何使用本地LLM和嵌入模型来构建一个简单的LlamaIndex应用。我们将使用BAAI/bge-base-en-v1.5作为嵌入模型,并通过Ollama服务Llama3模型。

提示

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

下载数据

本示例使用Paul Graham的散文《What I Worked On》的文本。你可以在我们的仓库的示例文件夹中找到许多其他示例。

获取它的最简单方法是点击此链接下载,并将其保存在名为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 embedding model
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("What did the author do growing up?")
print(response)

这将为你的索引创建一个问答引擎,并提出一个简单的问题。你应该得到一个类似于以下的响应:作者写了短篇故事,并试图在IBM 1401上编程。

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

提示

  • 了解更多高级概念。
  • 告诉我如何自定义事物。
  • 对特定模块感到好奇?查看组件指南。

通过LlamaIndex,我们不仅提供了一个强大的工具集,还构建了一个充满活力的社区,致力于推动LLMs在各种应用中的潜力。无论你是初学者还是经验丰富的开发者,LlamaIndex都为你提供了探索和实现上下文增强LLM应用的途径。加入我们,一起解锁LLMs的无限可能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值