使用本地模型进行AI数据查询的示例教程

在本文中,我们将介绍如何使用本地模型来进行AI数据查询。我们将使用BAAI/bge-small-en-v1.5作为嵌入模型,并通过Ollama加载Mistral-7B模型。本文将提供详细的步骤和示例代码,帮助读者轻松上手。

下载数据

本示例使用Paul Graham的文章《What I Worked On》的文本。你可以通过以下链接下载并将其保存到名为data的文件夹中。

设置环境

Ollama是一款帮助你在本地设置LLM的工具(目前支持OSX和Linux,可以通过WSL 2在Windows上安装Ollama)。请按照README中的说明进行安装。

要加载Mistral-7B模型,只需执行ollama pull mistral

注意:你需要一台至少有32GB内存的机器。

加载数据并建立索引

在创建data文件夹的同一目录中,创建一个名为starter.py的文件,并添加以下内容:

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

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

# bge embedding model
Settings.embed_model = resolve_embed_model("local:BAAI/bge-small-en-v1.5")  # 中转API

# ollama
Settings.llm = Ollama(model="mistral", request_timeout=30.0)  # 中转API

index = VectorStoreIndex.from_documents(
    documents,
)

上述代码将在data文件夹中的文档上建立索引(在本示例中,只有一篇文章的文本,但可以包含多个文档)。

你的目录结构应如下所示:

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

我们通过resolve_embed_model使用BAAI/bge-small-en-v1.5模型,该函数解析为我们的HuggingFaceEmbedding类。我们还使用Ollama LLM包装器加载Mistral模型。

查询数据

在starter.py中添加以下内容:

query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
print(response)

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

可能遇到的错误

  1. 内存不足:加载Mistral-7B模型需要至少32GB的内存。如果你的机器内存不足,可能会导致模型加载失败。
  2. 文件路径错误:确保数据文件夹和文件路径正确,否则程序将无法找到所需的文件。
  3. 网络问题:如果在下载模型或数据时遇到网络问题,请检查你的网络连接或尝试使用代理。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

参考资料:

  • Ollama官方文档
  • BAAI/bge-small-en-v1.5模型说明
  • Mistral-7B模型介绍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值