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

这是一个著名的“五行代码”起步示例,使用本地 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. 小米Linux 运维工程师面试真题

    小米Linux 运维工程师面试真题 首先我们来看下小米 Linux 运维工程师招聘岗位要求: [岗位定义]运维工程师 [岗位薪资]10K-24K [基本要求]北京 / 经验 3-5 年 / 本科及以上 ...

  2. 如何在UE4中播放本地视频文件?

    在UE4中有一套媒体框架方法,它根据视频源的不同,对应的播放方式也不一样,支持的视频源有本地视频文件.影像序列.视频流.实时视频截图.播放形式可选择在场景内的静态网格上播放或者以UI的形式播放.本文主 ...

  3. 记录--5个知识点,让 Vue3 开发更加丝滑

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 最近鼓捣了一下 Vue3 + Vite2,遇到了不少问题,整理了5个可以提高开发效率的小知识,让你在 Vue3 的项目开发中更加丝滑 ...

  4. 记录--一道字节面试题引出的this指向问题

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 var length = 10; function fn () { return this.length + 1; } var obj = ...

  5. 记录--前端加载超大图片(100M以上)实现秒开解决方案

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 前端加载超大图片时,一般可以采取以下措施实现加速: 图片压缩:将图片进行压缩可以大幅减小图片的大小,从而缩短加载时间.压缩图片时需要 ...

  6. rnacos版本更新为 v0.1.5

    rnacos是一个用 rust重新实现的nacos. rnacos比java实现的nacos更轻量.快速.稳定:合适在开发.测试.受资限服务等环境平替nacos服务使用. rnacos v0.1.5 ...

  7. java实战:多属性排序

    多属性排序的核心点就是对Arrays.sort()和Collections.sort()方法的Comparator进行重写 Arrays.sort()的三种用法 1.1.Arrays.sort(int ...

  8. SpringBoot配置启动页(首页)控制台打印项目访问入口url

    一.SpringBootApplication 1 package com.reliable.yang; 2 3 /** 4 * @author Administrator 5 * @date 202 ...

  9. kafka集群启动命令脚本文件kf.sh

    注意代码缩进 添加执行权限 chmod +x kf.sh 1 #! /bin/bash 2 case $1 in 3 "start"){ 4 for i in hadoop102 ...

  10. CMake 入门教程:从零开始构建 C/C++ 项目

    CMake是一个跨平台的自动化构建工具,可以用于构建各种类型的项目,包括*C++.C.Python.Java*等.本文将从零开始,介绍如何使用CMake构建一个简单的C/C++项目 安装CMake 首 ...