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

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

LlamaIndex 起步教程(本地模型)的更多相关文章

  1. [NodeJS] Hello World 起步教程

    概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文:  1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...

  2. python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

    python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...

  3. Python+mirai开发QQ机器人起步教程(2021.9.9测试有效)

    参考:开发 mirai QQ机器人起步教程_叹之-CSDN博客_mirai python 本篇文章参考了以上博客,并对其中的失效内容和版本匹配问题进行了补充修改,实测能够成功运行.部分步骤的运行截图见 ...

  4. Keras学习笔记二:保存本地模型和调用本地模型

    使用深度学习模型时当然希望可以保存下训练好的模型,需要的时候直接调用,不再重新训练 一.保存模型到本地 以mnist数据集下的AutoEncoder 去噪为例.添加: file_path=" ...

  5. Django笔记&教程 4-1 模型(Models)介绍

    Django 自学笔记兼学习教程第4章第1节--模型(Models)介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/db/mo ...

  6. Django笔记&教程 4-2 模型(models)中的Field(字段)

    Django 自学笔记兼学习教程第4章第2节--模型(models)中的Field(字段) 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/ref ...

  7. Django笔记&教程 4-3 模型(models)主键外键

    Django 自学笔记兼学习教程第4章第3节--模型(models)主键外键 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/ref/models ...

  8. 谢欣伦 - OpenDev原创教程 - 本地IP查找类CxLocalHostIPAddrFind

    这是一个精练的本地IP查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxLocalHostIPAddrFind的使用如下: ...

  9. hive安装教程本地模式

    1.安装模式介绍: Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. a.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) b.本地模式(本地 ...

  10. 起步X5 UI模型使用的新的JAVASCRIPT UI库 DHTMLX (简称DHX)

    最近学习新版本的起步X5,发现 UI控件有很多变化,按培训师的解释,X5平台界面设计引入了新的JAVASCRIPT UI库 DHTMLX. 参考:DHX   http://www.dhtmlx.com ...

随机推荐

  1. 鸿蒙HarmonyOS实战-ArkUI组件(Flex)

    一.Flex 1.概述 Flex布局它可以让容器中的子元素具有弹性伸缩性.Flex布局是一种二维布局模型,它可以在任意方向上对元素进行排列,并且可以动态地调整元素的大小和位置,以适应不同的屏幕尺寸和设 ...

  2. Chrome浏览器:The request client is not a secure context and the resource is in more-private address ...

    1.概述 新版的chrome浏览器会校验发起端的域名和访问资源的域名直接的关系,如果客户端发起域名比访问资源所在的域名更public(开放),会导致The request client is not ...

  3. VS2010插件NuGet

    下载地址 NuGet Package Manager - Visual Studio Marketplace NuGet包地址 NuGet Gallery | Home

  4. .NET Emit 入门教程:第六部分:IL 指令:1:概要介绍

    前言: 在之前的文章中,我们完成了前面五个部分的内容学习,包括: 第一部分:Emit介绍 第二部分:构建动态程序集 第三部分:构建模块(Module) 第四部分:构建类型(Type) 第五部分:动态生 ...

  5. FastJson反序列化3-1.2.25绕过

    在1.2.25中,主要添加了config.checkAutoType(typeName, null)函数,所以从这里开始查看检查逻辑: 为了方便,先看POC: public void byPass1( ...

  6. FPGA中与时序有关的概念

    FPGA中与时序有关的概念 一.时序分析 时序分析是对整个时序进行分析的操作.作用就是了解设计的时序性能,一般而言就是最大时钟频率.时钟频率越高,设计的工作速度越快(忽略设计实现方法的不同导致的效率提 ...

  7. 美团一面:项目中使用过Redis吗?我说用Redis做缓存。他对我哦了一声

    引言 Redis,作为一种开源的.基于内存且支持持久化的键值存储系统,以其卓越的性能.丰富灵活的数据结构和高度可扩展性在全球范围内广受欢迎.Redis不仅提供了一种简单直观的方式来存储和检索数据,更因 ...

  8. #KD-Tree#洛谷 3710 方方方的数据结构

    题目 区间加,区间乘,单点查询,撤销修改 分析 由于可以离线,不妨把下标看成第一维,时间看成第二维,那么修改操作相当于在一个矩形上加或者乘, 不妨把查询的节点看作是二维平面上的点,这样实际上就可以用 ...

  9. HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

      2023年8月6日华为开发者大会2023(HDC.Together)圆满收官,伴随着HarmonyOS 4的发布,华为向开发者发布了汇聚所有最新开发能力的HarmonyOS NEXT开发者预览版, ...

  10. HarmonyOS多媒体框架介绍

    原文:https://mp.weixin.qq.com/s/_2LHv7s7X4IJMCPU8hcCeg,点击链接查看更多技术内容.   随着科技进步,我们的生活发生了翻天覆地的变化.过去几年音视频技 ...