LlamaIndex 起步教程(本地模型)
提示:确保您已先按照自定义安装步骤操作。
这是一个著名的“五行代码”起步示例,使用本地 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.
您可以像起步示例那样查看日志、持久化/加载索引。
提示:
- 了解高级概念:想了解更多关于高层次概念,请查阅相关文档。
- 如何定制:若想知道如何定制各项内容,请参阅相关说明。
- 特定模块:对某个特定模块感兴趣?请查看组件指南。
Ref:https://docs.llamaindex.ai/en/stable/getting_started/starter_example_local/
Link:https://www.cnblogs.com/farwish/p/18133696
LlamaIndex 起步教程(本地模型)的更多相关文章
- [NodeJS] Hello World 起步教程
概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文: 1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...
- python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...
- Python+mirai开发QQ机器人起步教程(2021.9.9测试有效)
参考:开发 mirai QQ机器人起步教程_叹之-CSDN博客_mirai python 本篇文章参考了以上博客,并对其中的失效内容和版本匹配问题进行了补充修改,实测能够成功运行.部分步骤的运行截图见 ...
- Keras学习笔记二:保存本地模型和调用本地模型
使用深度学习模型时当然希望可以保存下训练好的模型,需要的时候直接调用,不再重新训练 一.保存模型到本地 以mnist数据集下的AutoEncoder 去噪为例.添加: file_path=" ...
- Django笔记&教程 4-1 模型(Models)介绍
Django 自学笔记兼学习教程第4章第1节--模型(Models)介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/db/mo ...
- Django笔记&教程 4-2 模型(models)中的Field(字段)
Django 自学笔记兼学习教程第4章第2节--模型(models)中的Field(字段) 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/ref ...
- Django笔记&教程 4-3 模型(models)主键外键
Django 自学笔记兼学习教程第4章第3节--模型(models)主键外键 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/ref/models ...
- 谢欣伦 - OpenDev原创教程 - 本地IP查找类CxLocalHostIPAddrFind
这是一个精练的本地IP查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxLocalHostIPAddrFind的使用如下: ...
- hive安装教程本地模式
1.安装模式介绍: Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. a.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) b.本地模式(本地 ...
- 起步X5 UI模型使用的新的JAVASCRIPT UI库 DHTMLX (简称DHX)
最近学习新版本的起步X5,发现 UI控件有很多变化,按培训师的解释,X5平台界面设计引入了新的JAVASCRIPT UI库 DHTMLX. 参考:DHX http://www.dhtmlx.com ...
随机推荐
- Django 使用 Nginx + uWSGI 启动
一.前言 购买了腾讯云服务器练习 Django 项目时, # 最开始用的启动 Django 项目命令 python3 manage.py runserver 0.0.0.0:80 后面发现我一旦把 x ...
- 3D渲染慢,直接买显卡还是用云渲染更划算?
3D渲染对建筑师和设计师来说并不陌生,3D渲染的过程中出现渲染卡顿.特殊材质难以渲染,或者本地配置不足.本地渲染资源不够时,常常会影响工作效率.本文比较了3D渲染时,为提高工作效率,买显卡还是用云渲染 ...
- 记录--前端中 JS 发起的请求可以暂停吗
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在前端中,JavaScript(JS)可以使用XMLHttpRequest对象或fetch API来发起网络请求.然而,JavaScrip ...
- Elastic实战:彻底解决spring-data-elasticsearch日期、时间类型数据读取报错问题
0. 引言在使用spring-data-elasticsearch读取es中时间类型的数据时出现了日期转换报错,不少初学者会在这里困惑很久,所以今天我们专门来解读该问题的几种解决方案. 1. 问题分析 ...
- C# Image 图片缩放 截取
从大图中截取一部分图片 /// <summary> /// 从大图中截取一部分图片 /// </summary> /// <param name="fromIm ...
- Oracle 字符串拆分成一个一个字符
SELECT (REGEXP_SUBSTR('LW112190', '[A-Z0-9]', 1, ROWNUM)) test FROM DUAL CONNECT BY ROWNUM <= LEN ...
- C# ASP.NET MVC 配置 跨域访问
在web.config文件中的 system.webServer 节点下 增加如下配置 <httpProtocol> <customHeader ...
- KingbaseES V8R6运维案例之---sys_waldump解析wal日志
案例说明: wal日志文件记录了,事务操作的redo日志信息,由于wal日志文件是二进制文件,无法直接读取其文件内容.sys_waldump 可以解决这个问题,通过sys_waldump来解析wal ...
- C++虚继承原理与类布局分析
C++虚继承原理与类布局分析 引言 在开始深入了解虚继承之前,我们先要明白C++引入虚继承的目的.C++有别于其他OOP语言最明显的特性就是类的多继承,而菱形继承结构则是多继承中最令人头疼的情况. 我 ...
- #莫比乌斯反演#ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE
ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE - Visible Lattice Points(洛谷题目传送门) SP7001 VLATTICE - Vis ...