LlamaIndex 起步教程(本地模型)

通过llama.cpp与羊驼聊天的网页界面- 详解 Serge 的启动使用

 

提示:确保您已先按照自定义安装步骤操作。

这是一个著名的“五行代码”起步示例,使用本地 LLM(大语言模型)和嵌入模型。我们将使用 BAAI/bge-small-en-v1.5 作为嵌入模型,通过 Ollama 服务的 Mistral-7B 作为 LLM。

下载数据

本示例使用 Paul Graham 的文章《What I Worked On》文本。您可以在我们仓库的 examples 文件夹中找到这篇及其他多个示例。

最简便的方式是通过此链接下载该文件,并将其保存到名为 data 的文件夹中。

安装与设置

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

请遵循 README 了解如何安装 Ollama。

要加载 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()

# 使用 BAAI/bge-small-en-v1.5 嵌入模型
Settings.embed_model = resolve_embed_model("local:BAAI/bge-small-en-v1.5")

# 使用 Ollama 包装的 Mistral LLM
Settings.llm = Ollama(model="mistral", request_timeout=30.0)

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)

这将创建一个针对索引的查询引擎,并提出一个简单问题。您应该得到类似以下的响应:

The author wrote short stories and tried to program on an IBM 1401.

您可以像起步示例那样查看日志、持久化/加载索引。

提示

  • 了解高级概念:想了解更多关于高层次概念,请查阅相关文档。
  • 如何定制:若想知道如何定制各项内容,请参阅相关说明。
  • 特定模块:对某个特定模块感兴趣?请查看组件指南。

 

Video:AI 新视界

Tool:Llama3 在线Gemma在线ChatAIonline

Ref:https://docs.llamaindex.ai/en/stable/getting_started/starter_example_local/

Link:https://www.cnblogs.com/farwish/p/18133696

posted on 2024-04-14 23:03  ercom  阅读(1475)  评论(0编辑  收藏  举报