首页 > 其他分享 >LlamaIndex 起步教程(本地模型)

LlamaIndex 起步教程(本地模型)

时间:2024-04-14 23:13:04浏览次数:20  
标签:index 教程 en Ollama 模型 起步 LlamaIndex LLM data

 

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

这是一个著名的“五行代码”起步示例,使用本地 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.

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

提示

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

 

AI 新世代

ToolChatAi

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

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

标签:index,教程,en,Ollama,模型,起步,LlamaIndex,LLM,data
From: https://www.cnblogs.com/farwish/p/18133696

相关文章

  • LlamaIndex 探索视频系列
     如果您喜欢通过视频学习,现在正是查看我们的“探索LlamaIndex”系列的好时机。否则,我们建议您继续阅读“理解LlamaIndex”教程。自下而上开发(LlamaDocsBot)这是“探索LlamaIndex”系列中的一个子系列,向您展示如何从零开始构建文档聊天机器人。我们将以“自下而上”的方式......
  • LlamaIndex 常见问题解答(FAQ)
     提示:如果您尚未完成,请安装LlamaIndex并完成起步教程。遇到不熟悉的术语时,请参考高层次概念部分。在这个章节中,我们将从您为起步示例编写的代码开始,展示您可能希望针对不同应用场景对其进行的常见定制方法:python fromllama_index.coreimportVectorStoreIndex,Simp......
  • RAG 工具和框架介绍: Haystack、 LangChain 和 LlamaIndex
     Haystack、LangChain和LlamaIndex,以及这些工具是如何让我们轻松地构建RAG应用程序的? 我们将重点关注以下内容:HaystackLangChainLlamaIndex增强LLM那么,为什么会有这些工具存在呢?如你所知,ChatGPT和其他LLM是在某个时间点之前的一组数据上进行训练的。更重要的是,它......
  • ABP -Vnext框架一步一步入门落地教程——ABP Vnext框架代码安装和启动(一)
    兄弟们,人生需要指引,而复制最快的方式,让我们行动吧——codesoft教程介绍ABP-Vnext框架我们之前摸了无数次,好象初恋的女孩,一直在靠近,一直在努力,一直不敢盯着她的眼睛说:美女,我很喜欢你,能不能一起吃个饭!我们都喜欢自己变得足够的优秀之后,才敢说这句话。结果三年就过去了。我想搞技......
  • ETL工具-nifi干货系列 第十一讲 处理器UpdateAttribute使用教程
    1、在这里我们重温下nifi里面一个重要的概念FlowFile,如下图所示:FlowFile:FlowFile代表NiFi中的单个数据。nifi数据流中流动的就是flowfile,每个nifi处理器处理的数据也是基于flowfile的。FlowFile由两个组件组成:FlowFile属性(attribute)和FlowFile内容(content)。内容是FlowFile......
  • 汇编语言简易教程(13):栈缓存溢出
    汇编语言简易教程(13):栈缓存溢出当程序溢出基于堆栈的动态变量时,可能会发生堆栈缓冲区溢出。例如,如果一个程序分配并使用一个基于堆栈的本地数组,该数组包含50个元素,并且数组中存储了50个以上的元素,则会发生溢出。这种溢出通常是坏的,通常会导致程序错误,甚至可能使程序崩溃......
  • 汇编语言简易教程(14):中断与恢复
    汇编语言简易教程(14):中断与恢复从一般意义上讲,中断是工作流的暂停或保持。例如,如果您正在打电话,门铃响了,则电话通话将处于暂停状态,门将应答。销售人员被送走后,电话交谈恢复(对话中断的地方)在计算机编程中,中断也是当前正在执行的过程的暂停或保持。通常,当前进程会中断,以便可......
  • 汇编语言简易教程(15):End
    汇编语言简易教程(15):End写到这里,就告一段落了.前面的内容写起来还是比较认真的,到后面的系统调用,栈缓存,中断这些内容已经快要昏迷过去了但是我认为这篇教程能够达到预期的目标:对于汇编代码的基本阅读了解汇编的基本机制我强烈建议各位有时间能够去阅读原书,难......
  • 汇编语言简易教程(13):栈缓存溢出
    汇编语言简易教程(13):栈缓存溢出当程序溢出基于堆栈的动态变量时,可能会发生堆栈缓冲区溢出。例如,如果一个程序分配并使用一个基于堆栈的本地数组,该数组包含50个元素,并且数组中存储了50个以上的元素,则会发生溢出。这种溢出通常是坏的,通常会导致程序错误,甚至可能使程序崩溃......
  • 通达信条件预警使用教程(引用选股公式盘中实时监控)
    步骤汇总:第1步:设置预警范围第2步:设置选股公式(预警公式)第3步:运行效果以下是详细步骤:第一步:设置预警范围 单击通达信右下角条件预警图标,单击设置,设置已有公式,过程如下:  注意事项:预警对电脑配置要求高,低配置的电脑不宜监控太多目标,建议只监控备选,此处我选择的是我之前......