当前位置: 首页 > news >正文

LlamaIndex:将个人数据添加到LLM

推荐:使用 NSDT场景编辑器 快速搭建3D应用场景

LlamaIndex是基于大型语言模型(LLM)的应用程序的数据框架。像 GPT-4 这样的 LLM 是在大量公共数据集上预先训练的,允许开箱即用的令人难以置信的自然语言处理能力。但是,如果无法访问您自己的私人数据,它们的效用会受到限制。

LlamaIndex 允许您通过灵活的数据连接器从 API、数据库、PDF 等中提取数据。然后,LlamaIndex 允许通过查询引擎、聊天界面和 LLM 支持的数据代理对数据进行自然语言查询和对话。它使您的LLM能够大规模访问和解释私有数据,而无需在较新的数据上重新训练模型。

无论您是寻找一种以自然语言查询数据的简单方法的初学者,还是需要深度自定义的高级用户,LlamaIndex 都能提供这些工具。高级 API 允许仅使用五行代码即可入门,而较低级别的 API 允许完全控制数据摄取、索引、检索等。

LlamaIndex指数如何运作?

LlamaIndex使用检索增强生成(RAG)系统,该系统将大型语言模型与私有知识库相结合。它通常由两个阶段组成:索引阶段和查询阶段。

来自高级概念的图像

索引阶段

LlamaIndex将在索引阶段有效地将私有数据索引为矢量索引。此步骤有助于创建特定于您的域的可搜索知识库。您可以输入文本文档、数据库记录、知识图谱和其他数据类型。

从本质上讲,索引将数据转换为捕获其语义含义的数字向量或嵌入。它可以跨内容进行快速相似性搜索。

查询阶段

在查询阶段,RAG 管道会根据用户的查询搜索最相关的信息。然后将此信息与查询一起提供给LLM,以创建准确的响应。

此过程允许LLM访问其初始培训中可能未包含的当前和更新信息。

此阶段的主要挑战是对潜在的多个知识库进行检索、组织和推理。

设置LlamaIndex索引

在我们深入研究 LlamaIndex 教程和项目之前,我们必须安装 Python 包并设置 API。

我们可以简单地使用 pip 安装 LlamaIndex。

默认情况下,LlamaIndex使用OpenAI GPT-3 text-davinci-003模型。若要使用此模型,必须具有设置。您可以通过登录OpenAI的新API令牌创建一个免费帐户并获取API密钥。OPENAI_API_KEY

此外,请确保您已安装该软件包。openai

使用LlamaIndex将个人数据添加到LLM

在本节中,我们将学习使用LlamaIndex来创建简历阅读器。您可以通过转到LinkedIn个人资料页面,单击“更多”,然后单击“保存到PDF”来下载简历。

请注意,我们使用 DataCamp 工作区来运行 Python 代码。可以在“LlamaIndex:将个人数据添加到LLM”工作区中访问所有相关代码和输出。

在运行任何内容之前,我们必须安装 、 和 。我们正在安装,以便我们可以读取和转换PDF文件。llama-indexopenaipypdfpypdf

我们有一个名为“Private-Data”的目录,只包含一个PDF文件。我们将使用 来读取它,然后使用 .SimpleDirectoryReaderTreeIndex

为数据编制索引后,可以使用 开始提问。此功能使您能够询问有关文档中特定信息的问题,并在 OpenAI 模型的帮助下收到相应的响应。as_query_engine()GPT-3 text-davinci-003

注意:您可以在DataCamp Workspace中设置OpenAI API,方法是按照使用GPT-3.5和GPT-4通过Python中的OpenAI API教程进行操作。

正如我们所看到的,LLM模型已经准确地响应了查询。它搜索了索引并找到了相关信息。

我们可以进一步询问认证。LlamaIndex似乎已经对候选人有了完整的了解,这对于寻求特定个人的公司来说是有利的。

response = query_engine.query("What is the name of certification that Abid received?")print(response)

创建索引是一个耗时的过程。我们可以通过保存上下文来避免重新创建索引。默认情况下,以下命令会将索引存储保存在目录中。./storage

new_index.storage_context.persist() OpenAI

创建索引

完成后,我们可以快速加载存储上下文并创建索引。

为了验证它是否正常运行,我们将向查询引擎询问简历中的问题。看来我们已经成功加载了上下文。

聊天机器人

除了问答,我们还可以使用LlamaIndex创建一个个人聊天机器人。我们只需要用函数初始化索引。as_chat_engine()

我们将问一个简单的问题。

在不提供额外背景的情况下,我们将提出后续问题。

In 2021, Abid worked as a Data Science Consultant for Guidepoint, a Writer for Towards Data Science and Towards AI, a Technical Writer for Machine Learning Mastery, an Ambassador for Deepnote, and a Technical Writer for Start It Up.

很明显,聊天引擎运行完美。

构建语言应用程序后,时间轴上的下一步是了解在云中使用大型语言模型 (LLM) 与在本地运行它们的优缺点。这将帮助您确定哪种方法最适合您的需求。

使用 LlamaIndex 构建 Wiki 文本到语音

我们的下一个项目涉及开发一个应用程序,该应用程序可以响应来自维基百科的问题并将其转换为语音。

代码源和其他信息可在以下 DataCamp 工作区中找到。

网页抓取维基百科页面

首先,我们将从意大利 - 维基百科网页中抓取数据并将其保存为文件夹中的文件。italy_text.txtdata

意大利文本导入

加载数据并构建索引

接下来,我们需要安装必要的软件包。该软件包允许我们使用 API 轻松地将文本转换为语音。elevenlabs

通过使用,我们将加载数据并使用 将 TXT 文件转换为矢量存储。SimpleDirectoryReaderVectorStoreIndex

查询

我们的计划是询问有关该国的一般问题,并收到LLM的答复。query_engine

提示和输出

文本转语音

之后,我们将使用该模块访问 ElevenLabsTTS api。您需要提供 ElevenLabs API 密钥才能启动音频生成功能。您可以在ElevenLabs网站上免费获得API密钥。llama_index.tts

我们将向函数添加响应以生成自然语音。要收听音频,我们将使用 的函数。generate_audioIPython.displayAudio

音频输出

这是一个简单的例子。您可以使用多个模块来创建助手(如 Siri),通过解释您的私人数据来回答您的问题。有关更多信息,请参阅骆驼索引文档。

除了LlamaIndex之外,LangChain还允许您构建基于LLM的应用程序。此外,您可以阅读 LangChain 数据工程和数据应用简介,了解您可以使用 LangChain 做什么的概述,包括 LangChain 解决的问题和数据用例示例。

LlamaIndex索引用例

LlamaIndex提供了一个完整的工具包来构建基于语言的应用程序。最重要的是,您可以使用Llama Hub的各种数据加载器和代理工具来开发具有多种功能的复杂应用程序。

您可以使用一个或多个插件数据加载器将自定义数据源连接到LLM。

来自骆驼中心的数据加载器

您还可以使用代理工具集成第三方工具和 API。

来自骆驼中心的代理工具

简而言之,您可以使用LlamaIndex来构建:

  • 文档问答
  • 聊天机器人
  • 代理
  • 结构化数据
  • 全栈 Web 应用程序
  • 私人设置

要详细了解这些用例,请前往 LlamaIndex 文档

结论

LlamaIndex 提供了一个强大的工具包,用于构建检索增强生成系统,该系统将大型语言模型的优势与自定义知识库相结合。它支持创建特定于域的数据的索引存储,并在推理过程中利用它来为LLM提供相关上下文以生成高质量的响应。

在本教程中,我们了解了 LlamaIndex 及其工作原理。此外,我们构建了一个简历阅读器和文本到语音转换项目,只有几行 Python 代码。使用 LlamaIndex 创建 LLM 应用程序很简单,它提供了一个庞大的插件库、数据加载器和代理。

要成为一名专业的LLM开发人员,下一个自然步骤是注册Master Large Language Models Concepts课程。本课程将使您全面了解LLM,包括其应用,培训方法,道德考虑和最新研究。

原文链接:LlamaIndex:将个人数据添加到LLM (mvrlink.com)

相关文章:

LlamaIndex:将个人数据添加到LLM

推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 LlamaIndex是基于大型语言模型(LLM)的应用程序的数据框架。像 GPT-4 这样的 LLM 是在大量公共数据集上预先训练的,允许开箱即用的令人难以置信的自然语言处理能力。但是,…...

Mojo 摸脚语言,似乎已经可以安装

文章原地址:https://i.scwy.net/it/2023/090821-mojo/ Mojo 吹得很凶,面向AI编程,甩Python几十条街,融资上亿.... 但无缘一试,在Win和Ubuntu上试都不能通过。 由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner…...

Spark 6:Spark SQL DataFrame

SparkSQL 是Spark的一个模块, 用于处理海量结构化数据。 SparkSQL是用于处理大规模结构化数据的计算引擎 SparkSQL在企业中广泛使用,并性能极好 SparkSQL:使用简单、API统一、兼容HIVE、支持标准化JDBC和ODBC连接 SparkSQL 2014年正式发布,当…...

区块链智能合约编程语言 Solidity

文章目录 前言Solidity 介绍Solidity 文件结构许可声明编译指示数据类型函数事件访问区块元数据 简单的智能合约 前言 上文介绍了区块链生态发展,我们知道以太坊的到来可以使开发人员基于区块链开发DApp,本文介绍 Solidity 编程语言的使用,然…...

将SSL证书设置成HTTPS的详细步骤

在互联网上建立一个安全且可信任的网站,HTTPS是一种常用的解决方案。HTTPS是HTTP的安全版本,通过使用SSL/TLS协议对传输的数据进行加密,确保数据传输的安全性。要实现HTTPS,你需要将SSL证书设置到你的网站上。以下是详细的步骤&am…...

43、Flink之Hive 读写及详细验证示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

2023数模国赛C 题 蔬菜类商品的自动定价与补货决策-完整版创新多思路详解(含代码)

题目简评:看下来C题是三道题目里简单一些的,考察的点比较综合,偏数据分析。涉及预测模型和运筹优化(线性规划),还设了一问开放型问题,适合新手入门,发挥空间大。 题目分析与思路: 背景&#x…...

javaScript:DOM中常用尺寸

目录 前言(可以根据图示找到需要的尺寸,便于理解) 内尺寸 clientWidth 包含左右padding和宽度width(忽略滚动条的宽度) clientHeight 包含上下padding和height(忽略滚动条的高度) clientTo…...

决策树算法学习笔记

一、决策树简介 首先决策树是一种有监督的机器学习算法,其采用的方法是自顶向下的递归方法,构建一颗树状结构的树,其具有分类和预测功能。其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零。决策树的构…...

Verilog_mode常用的几个用法

一:verilog mode中如何使用正则表达 在顶层实例化时,有大量的信号需要重新命名,使用模板的话会增加大量的注释内容,不过往往这些信号命名有特定的规律,我们可以使用正则表达式来处理,下面举几个例子&#…...

MySQL之MHA高可用配置及故障切换

目录 一、MHA概念 1、MHA的组成 2、MHA的特点 3、主从复制有多少种复制方法 二、搭建MySqlMHA部署 1.Master、Slave1、Slave2 节点上安装 mysql 2.修改 Master、Slave1、Slave2 节点的 Mysql主配置文件/etc/my.cnf 3. 配置 mysql 一主两从 4、安…...

java实现状态模式

状态模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为。在状态模式中,对象将其行为委托给表示不同状态的状态对象,这些状态对象负责管理其行为。以下是在 Java 中实现状态模式的一般步骤: 创建一个状态接口&#xff…...

Selling a Menagerie(cf)

该题考察了拓扑排序dfs 题意:你是一个动物园的主人,该动物园由编号从1到n的n只动物组成。然而,维护动物园是相当昂贵的,所以你决定卖掉它!众所周知,每种动物都害怕另一种动物。更确切地说,动物…...

python-55-打包exe执行

目录 前言一、pyinstaller二、实践打包exe1、遇坑1:Plugin already registered2、遇坑2:OSError 句柄无效 三、总结 前言 你是否有这种烦恼? 别人在使用你的项目时可能还需要安装各种依赖包?别人在使用你的项目,可能…...

linux并发服务器 —— IO多路复用(八)

半关闭、端口复用 半关闭只能实现数据单方向的传输;当TCP 接中A向 B 发送 FIN 请求关闭,另一端 B 回应ACK 之后 (A 端进入 FIN_WAIT_2 状态),并没有立即发送 FIN 给 A,A 方处于半连接状态 (半开关),此时 A 可以接收 B…...

企微SCRM营销平台MarketGo-ChatGPT助力私域运营

一、前言 ChatGPT是由OpenAI(开放人工智能)研发的自然语言处理模型,其全称为"Conversational Generative Pre-trained Transformer",即对话式预训练转换器。它是GPT系列模型的最新版本,GPT全称为"Gene…...

linux C++ 海康截图Demo

项目结构 CMakeLists.txt cmake_minimum_required(VERSION 3.7)project(CapPictureTest)include_directories(include)link_directories(${CMAKE_SOURCE_DIR}/lib ${CMAKE_SOURCE_DIR}/lib/HCNetSDKCom) add_executable(CapPictureTest ${CMAKE_SOURCE_DIR}/src/CapPictureTes…...

MySQL的事务隔离级别

目录 事务隔离级别的概念 脏读(Dirty Read): 不可重复读(Non-Repeatable Read): 幻读(Phantom Read): 读未提交(Read Uncommitted) 读未提交…...

企业大语言模型智能问答的底层基础数据知识库如何搭建?

企业大语言模型智能问答的底层基础数据知识库搭建是一个复杂而关键的过程。下面将详细介绍如何搭建这样一个知识库。 确定知识库的范围和目标: 首先,需要明确知识库的范围,确定所涵盖的领域和主题。这可以根据企业的业务领域和用户需求来确…...

【腾讯云 Cloud Studio 实战训练营】使用python爬虫和数据可视化对比“泸州老窖和五粮液4年内股票变化”

Cloud Studio 简介 Cloud Studio是腾讯云发布的云端开发者工具,支持开发者利用Web IDE(集成开发环境),实现远程协作开发和应用部署。 现在的Cloud Studio已经全面支持Java Spring Boot、Python、Node.js等多种开发模板示例库&am…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...