LlamaIndex 四 数据连接器

前言

我们通过各项配置,理解了LlamaIndex在构建知识库和基于知识库的推荐两个阶段,怎么和业务相结合。本文,我们将开始深入理解LlamaIndex的各个模块。首先,LlamaIndex强大的Data Connector 数据连接器上场。

LlamaIndex擅长和各种类型或格式的数据打交道,并通过DocumentNodes的概念,embedding索引后,交给大模型处理,高精度完成AI知识库或AI助理应用开发。利用私有知识库,增强LLM的检索能力, 即RAG

现在, 让我们来仔细研究Data Connectors数据连接器模块的细节。

Data Connectors

image.png

开始深入之前,我们先来回顾下LlamaIndex构建知识库(Knowledge Base)阶段的架构图。 最左侧的Data Sources部分展示了RAG应用中,各种数据来源。RAG应用多是聊天机器人或搜索的产品形式,入口简单,这就需要LlamaIndex具备整合或自然语言处理各种格式,或各种渠道数据的能力。图中列出了Databases 数据库,Documents 文档,APIs 应用接口。假如是大型企业或组织,这是要整多少数据库,横跨多长时间的文档,散落在多少业务中的API?

LangChain作为LLm开发框架,将RAG这块交给LlamaIndex, 正因为它的专业。当我们开始着手RAG应用时,数据加载是非常重要的一个环节,且LlamaIndex给我们安排了那些科技和狠活…

数据连接器接口

为支持不同数据源和格式的数据加载,LlamaIndex准备了一堆数据接口类,让人好生欢迎

  • Simple Directory Reader
  • Psychic Reader
  • DeepLake Reader
  • Qdrant Reade
  • Discord Reader
  • MongoDB Reader
  • Chroma Reader
  • MyScale Reader
  • Faiss Reader
  • Obsidian Reader
  • Slack Reader
  • Web Page Reader
  • Pinecone Reader
  • Mbox Reader
  • MilvusReader
  • Notion Reader
  • Github Repo Reader
  • Google Docs Reader
  • Database Reader
  • Twitter Reader
  • Weaviate Reader

连接demos

  • 连接网页数据
ini复制代码from llama_index import download_loader #老版本可以直接import SimpleWebPageReader 现在得这么搞SimpleWebPageReader = download_loader("SimpleWebPageReader")loader = SimpleWebPageReader()
documents = loader.load_data(urls=['http://paulgraham.com/worked.html'])

各位,请留意。最新版本的LlamaIndex 基于llamahub来托管,大家可以到Llama Hub来看最新文档。代码中download_loader的意思就是先从llamahub中加载SimpleWebPageReade连接器。

image.png

从打印结果我们可以看到,SimpleWebPageReader接口将网页数据以Document的格式保存。

  • 连接Markdown格式文件
ini复制代码from pathlib import Path
from llama_index import download_loaderMarkdownReader = download_loader("MarkdownReader")loader = MarkdownReader()
documents = loader.load_data(file=Path('./README.md'))

使用了MarkdownReader读取了当前目录下的README.md文件

  • pdf 格式文件
ini复制代码from pathlib import Path 
from llama_index import download_loader 
PDFReader = download_loader("PDFReader") 
loader = PDFReader() 
documents = loader.load_data(file=Path('./article.pdf'))
  • api
ini复制代码import requests
from llama_index import VectorStoreIndex, download_loader
headers = {
}
data = requests.get("https://api.github.com/users/shunwuyu/repos", headers=headers).json()JsonDataReader = download_loader("JsonDataReader")
loader = JsonDataReader()
documents = loader.load_data(data)
index = VectorStoreIndex.from_documents(documents)
index.query("how many repos are there?")

基于github的api获取了json数据并提问。

综合案例

现在就让我们基于Data Connectors的理解,去开发一个针对langchain文档的知识库RAG应用

  • 安装LlamaIndex
css复制代码!pip install -q -U llama-index
  • 设置OPANAI_API_KEY
lua复制代码import os 
os.environ['OPENAI_API_KEY'] = 'your valid openai api key'
  • 下载langchain文件并使用数据接口加载
bash复制代码!git clone https://github.com/sugarforever/wtf-langchain.git

Wft-langchain这个repo,是langchain的开源教程库,里面的文档都是RAG应用的语料来源

ini复制代码from llama_index import SimpleDirectoryReader 
reader = SimpleDirectoryReader( input_dir="./wtf-langchain", required_exts=[".md"], recursive=True ) 
docs = reader.load_data() #加载数据到文档数组

我们使用SimpleDirectoryReader, 读取了刚刚克隆下来的wtf-langchain目录下的所有markdown格式的文件。

  • 对文档构建索引,生成知识库, 并初始化查询引擎
ini复制代码from llama_index import VectorStoreIndex 
index = VectorStoreIndex.from_documents(docs) 
query_engine = index.as_query_engine() 
response = query_engine.query("什么是WTF LangChain?") 
print(response)

image.png

从上图看,我们拿到了准确的答案。

总结

  • 在开发RAG应用时,数据加载是非常重要的一个环节。 Data Connectors 是LlamaIndex的第一个核心模块。
  • 操练一些数据接口,开始干活。

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.2.1 什么是Prompt
    • L2.2.2 Prompt框架应用现状
    • L2.2.3 基于GPTAS的Prompt框架
    • L2.2.4 Prompt框架与Thought
    • L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
    • L2.3.1 流水线工程的概念
    • L2.3.2 流水线工程的优点
    • L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
    • L3.1.1 Agent模型框架的设计理念
    • L3.1.2 Agent模型框架的核心组件
    • L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
    • L3.2.1 MetaGPT的基本概念
    • L3.2.2 MetaGPT的工作原理
    • L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
    • L3.3.1 ChatGLM的特点
    • L3.3.2 ChatGLM的开发环境
    • L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
    • L3.4.1 LLAMA的特点
    • L3.4.2 LLAMA的开发环境
    • L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/26186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聆思CSK6大模型开发板英语评测类开源SDK详解

离线英文评测算法SDK 能力简介 CSK6 大模型开发套件可以对用户通过语音输入的英文单词进行精准识别,并对单词的发音、错读、漏读、多读等方面进行评估,进行音素级的识别,根据用户的发音给出相应的建议和纠正,帮助用户更好地掌握单…

正大国际期货:如何做恒指期货

要想获得较好的收益,就必须要知道恒指做单的技巧,毕竟掌握了技巧才是最重要的。 第一、下单之前一定看准行情并且顺势操作。何为顺势?就是我们平时说的趋势,只要趋势做对了,在中途可能会有一些起伏,但是最后…

中间件复习之-分布式存储系统

单机存储系统介绍 存储引擎:存储系统的发动机,提供数据的增、删、改、查能力,直接决定存储系统的功能(支持怎么样的查询,锁能锁到什么程度)和性能(增删改查速度)。 性能因素 写入方…

计算机网络知识CIDR(无类别域区间路由)

目录 介绍 基本信息 优点与关联 如何计算判定范围(你应该是来看这个的,前面是水字数的) 省流版 介绍 无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由…

智慧监狱大数据整体解决方案(51页PPT)

方案介绍: 智慧监狱大数据整体解决方案通过集成先进的信息技术和大数据技术,实现对监狱管理的全面升级和智能化改造。该方案不仅提高了监狱管理的安全性和效率,还提升了监狱的智能化水平,为监狱的可持续发展提供了有力支持。 部…

「小明赠书活动」第五期“网安三剑客”套系图书《内网渗透技术》《渗透测试技术》《Web应用安全》

大模型风潮已掀起,各大巨头争相入局,从ChatGPT到Sora,全球的AI应用“卷出了花”。然而,网络安全人员在享受AI技术带来的便捷之余,也不得不面对一系列新兴的安全挑战,无法忽视。 ⭐️ 赠书 - 图书简介 人…

【解读】核密度图

def:what 核密度估计(Kernel Density Estimation,简称KDE)是一种用来估计随机变量概率密度函数的非参数方法 实现:(库函数)how import seaborn as sns import matplotlib.pyplot as plt# 使用…

GaussDB技术解读——GaussDB架构介绍(二)

上篇图文,从GaussDB关键架构目标、GaussDB分布式架构、数据计算路由层(Coordinator)关键技术方案等三方面对GaussDB架构进行了介绍。本篇将从数据持久化存取层(DataNode)关键技术方案、全局事务管理层(GTM)关键技术方案…

企业内网安全软件分享,有什么内网安全软件

内网安全? 其实就是网络安全的一种。 什么是内网安全软件? 内网安全软件是企业保障内网安全的一种重要工具。 它主要帮助企业实现对网络设备、应用程序、用户行为等方面的监控和管理,以预防和应对各种网络攻击。 这类软件主要用于对内网中…

轻兔推荐 —— hoppscotch

via:轻兔推荐 - https://app.lighttools.net/ 简介 hoppscotch是一个开源的http调试客户端,界面简洁,功能完善,原名叫postwomen,明显是要跟postman干的,作为postman的替代品就挺合适 - 功能完善&#xff…

企业微信应用 应用号内消息链接无法在企微内置浏览器打开 windows PC客户端 问题解决

问题 需求是每周在企微的应用号上发送周报,周报中会带着进入系统的链接,点击进入可以查看详情。系统需要登录鉴权,因此需要在内置浏览器打开便于自动认证。 但是,在企微应用号发送的链接,手机上可以正常使用企微内置…

AVL树 ---(C++)

本篇讲全面的讲解 AVL 树的插入,旋转以及验证 AVL 树的性能(本篇未实现删除代码)。至于为什么会有 AVL 树,这是因为简单的二叉搜索树并不能直接的保证搜索的效率,因为当我们在二叉搜索树中插入一段有序的序列的时候&am…

盛元广通微生物实验室质控菌株管理系统

盛元广通微生物实验室质控菌株管理系统广泛应用于生物医药、基因工程、环境科学、食品工业、农业等领域。该系统是一个包含菌株信息录入、库存管理、鉴定检验、使用记录管理等功能在内的综合性系统。实验室可以实现对质控菌株的规范化、标准化管理,确保实验结果的准…

数字化医疗:揭秘物联网如何提升医院设备管理效率!

在当今数字化时代,医疗领域正迎来一场技术变革的浪潮,而基于物联网的智慧医院医疗设备管理体系正是这场变革的闪耀之星。想象一下,医院里的每一台医疗设备都能像一位精密的工匠一样,自动监测、精准诊断,甚至在发生故障…

问题:设开环系统的频率特性为则其相频特性穿越-180°线时对应的频率为()。 #学习方法#微信

问题:设开环系统的频率特性为则其相频特性穿越-180线时对应的频率为()。 ? A、10rad1s B、3rad/s C、lradIs D、√3rad/s 参考答案如图所示

哈喽GPT-4o——对GPT-4o Prompt的思考与看法

目录 一、提示词二、提示词的优势1、提升理解能力2、增强专注力3、提高效率 三、什么样的算无效提示词?1、过于宽泛2、含糊不清3、太过复杂4、没有具体上下文5、缺乏明确目标6、过于开放7、使用专业术语但未定义8、缺乏相关性: 四、提示词正确的编写步骤…

C++第二十六弹---stack和queue的基本操作详解与模拟实现

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1. stack的介绍和使用 1.1 stack的介绍 ​1.2 stack的使用 1.3 stack 模拟实现 2. queue的介绍和使用 2.1 queue的介绍 2.2 queue的使用 2…

计算机组成原理之计算机的性能指标

目录 计算机的性能指标 复习提示 1.计算机的主要性能指标 1.1机器字长 1.1.1与机器字长位数相同的部件 1.2数据通路带宽 1.3主存容量 1.4运算速度 1.4.1提高系统性能的综合措施 1.4.2时钟脉冲信号和时钟周期的相关概念 1.4.3主频和时钟周期的转换计算 1.4.4IPS的相关…

论文写作革新:AI如何简化你的研究流程?

不知道大家有没有发现,随着人工智能技术的快速发展,AI工具正逐渐渗透到我们日常生活的各个方面,极大地提高了我们的工作和学习效率。无论是AI写作、AI绘画、AI思维导图,还是AI幻灯片制作,这些工具已成为我们不可或缺的…

学会python——文本分词(python实例一)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 pycharm编译 3、对文本进行分词 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&a…