RAG实战 | 基于LlamaIndex的文档问答系统

LlamaIndex入门:10分钟搭建你的第一个文档问答系统 通过这个简单的示例,我们实现了一个基础的文档问答系统。LlamaIndex强大之处在于它的简单性和扩展性,你可以基于这个基础版本:添加更多文档格式支持实现更复杂的问答逻辑集成到现有的应用中这只是LlamaIndex功能的冰山一角,在接下来的系列文章中,我们将探索更多高级特性和应用场景。 阅读详情

引言

小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖沙茶面的小男孩。今天这篇小作文主要介绍如何使用LlamaIndex实现RAG方案的文档问答系统。该本地化的文档问答系统是结合[大模型部署框架ollama]和LlamaIndex实现的。完整代码可以在微信公众号《小窗幽记机器学习》上添加小编微信获取。

依赖安装

pip3 install llama-index EbookLib html2text llama-index-embeddings-huggingface  llama-index-llms-ollama -i https://mirrors.cloud.tencent.com/pypi/simple   

基于LlamaIndex构建RAG

基于LlamaIndex 的 RAG(检索增强生成)包括以下几个阶段:

  • 加载:在这个阶段,告诉 LlamaIndex 你的数据存放在哪里以及如何加载它;

  • 索引:在这个阶段,索引已加载的数据以便于查询,例如使用向量嵌入;

  • 查询:在这个阶段,配置一个大语言模型(LLM)作为索引数据的查询接口。

Loading

LlamaIndex 是专门为 RAG 设计的。这一点从其 SimpleDirectoryReader 构造中就可以立刻看出来,它暖心地支持多种多样的文件类型,b比如.epub或者pdf等格式。这里使用的数据是“成武县2023年国民经济和社会发展统计公报.pdf”。
在这里插入图片描述

通过SimpleDirectoryReader.load_data()将电子书转换为一组文档,以便 LlamaIndex 使用。

需要注意的一点是,这些文档在这个阶段还没有被分块,分块操作将在后续的索引阶段进行。

Indexing

加载数据之后,接下来就是对其进行索引。这将使RAG pipeline 能够查找与查询相关的上下文信息,以传递给LLM,从而增强生成的响应。这也是进行文档分块的阶段。

VectorStoreIndex 是 LlamaIndex 中“默认”的索引入口。默认情况下,VectorStoreIndex 使用一个简单的内存字典来存储索引,但 LlamaIndex 还支持各种各样的向量存储解决方案,方便开发者在扩展时使用。

LlamaIndex 使用默认分块大小为 1024,分块重叠为 20。有关更多详细信息,请参见 LlamaIndex 文档。

如前所述,这里将使用 BAAI/bge-base-zh-v1.5来生成嵌入。默认情况下,LlamaIndex 使用 OpenAI(特别是 gpt-3.5-turbo),但考虑到这里的中文场景,而且希望实现一个轻量级、可在本地运行的端到端解决方案,这里并不会使用这个默认的方案。

LlamaIndex 支持通过方便的 HuggingFaceEmbedding 类从 Hugging Face 获取嵌入模型,因此将在这里使用它。

在这里插入图片描述

Querying

现在来完成 RAG 的最后一部分:进行查询。在这个示例中,将使用 Qwen1.5 和 Qwen2.5 进行效果的比对。

首先,让启动 Ollama 服务器。在一个单独的终端中运行:ollama serve。然后拉取目标模型,如:

# qwen1.5-4B:latest   
ollama run qwen2.5:3b   

现在,让我们将 Qwen 连接到 LlamaIndex,并将其用作我们查询引擎的基础。

在这里插入图片描述

各个模型RAG生成结果:

# "qwen:0.5b" -> 公务员每个月的退休金是1869.90元。   
# qwen:1.8b -> 效果比较差   
# "qwen1.5-4B:latest" -》成武县2023年机关事业单位退休人员8778人,发放养老待遇7.85亿元。   
# qwen2.5:0.5b -> 效果差   
# "qwen2.5:1.5b" -》根据提供的信息,成武县2023年机关事业单位退休人员的养老金发放总额为7.85亿元。   
# qwen2.5:3b -》效果还行   
# qwen2.5:7b -》根据提供的信息,2023年机关事业单位退休人员发放的养老待遇为7.85亿元。但是具体每位公务员每个月的退休金是多少没有明确说明。因此无法直接得出公务员每个月的具体退休金额。为了得到准确答案,需要进一步查询具体的退休金标准或总额分配情况。   

可以看出,对于Qwen2.5,在3B以上效果才不错,对于Qwen1.5,则需要4B才可以有不错的效果。

总结

本文主要介绍如何使用LlamaIndex实现RAG系统,并以文档问答为实例,介绍如何使用LlamaIndex实现RAG。借助LlamaIndex实现的RAG系统,可以进一步实现本地化的知识库系统的构建。#RAG #LlamaIndex #问答系统 #知识库问答 #RAG实战 #AI入门 #搜索系统

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

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

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

img

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

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

img

三、AI大模型经典PDF籍

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

img

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

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

LlamaIndex实战:从零构建高效RAG文档问答系统 检索增强生成(RAG)技术通过结合信息检索与大型语言模型生成能力,有效解决了LLM在处理私有、实时数据时的局限性。其核心原理是将外部知识库转化为可检索的向量索引,在生成答案时动态引入相关上下文,从而提升回答的准确性与时效性。这一技术在构建智能问答、知识库助手等场景中具有重要价值。本文以LlamaIndex框架为例,深入探讨了如何实现从数据加载、向量索引构建到查询引擎优化的完整RAG应用流程,涵盖了分块策略、嵌入模型选型及混合检索等关键工程实践。 阅读详情

相关推荐

LlamaIndex实战:构建私有文档RAG问答系统

RAG(检索增强生成)是当前企业级AI应用的核心范式,它通过将外部知识检索与大语言模型生成解耦,解决幻觉、不可追溯和长文本处理瓶颈等问题。其技术原理依赖于文档切片(Node)、向量索引(Index)和查询引擎(Query Engine)三层架构,关键价值在于保障答案可验证、数据不出域、响应低延迟。典型应用场景包括技术文档智能问答、合同审查、内部知识库建设等。本文聚焦LlamaIndex框架,详解如何基于PDF等私有文档,结合本地Embedding模型(如BGE-base)与轻量LLM(如Qwen2-7B),

weixin_30379531的博客 404

如何避免大语言模型绕过知识库乱答的情况?LlamaIndex 原理与应用简介

随着 LangChain + LLM 方案快速普及,知识问答类应用的开发变得容易,但是面对回答准确度要求较高的场景,则暴露出一些局限性,比如向量查询方式得到的内容不匹配,LLM 对意图识别不准。所以 LlamaIndex(也称为 GPT Index)由社区顺势推出,是一个开发者友好的接口,它将外部数据连接到 LLM,提供了一系列工具来简化流程,包括可以与各种现有数据源和格式(如 api、pdf、文档和 SQL 等)集成的数据连接器,极大的改善了上述问题。

weixin_43829633的博客 3444

基于RAG与LLM构建本地知识库智能问答系统:从原理到部署实战

检索增强生成(RAG)是一种将信息检索与大语言模型(LLM)生成能力相结合的技术范式。其核心原理在于,先将非结构化文档通过嵌入模型转化为向量并存入向量数据库,当用户提问时,系统通过语义相似度检索出最相关的文档片段,并将其作为上下文与大语言模型结合,从而生成精准、可靠的答案。这项技术的核心价值在于,它有效缓解了大语言模型的“幻觉”问题,并实现了知识库的即时更新与扩展,无需重新训练模型。在应用场景上,RAG特别适用于构建企业级知识库问答、智能客服、个人学习助手等需要精准、可追溯信息源的领域。本文以开源项目cha

weixin_30527423的博客 690

使用 LlamaIndex 创建本地文件问答应用

import os# 设置 API 密钥os.environ["OPENAI_API_KEY"] = "sk-xxx" //中转APIvec_store = ... # 向量存储实例llm = ... # LLM 实例 - 可选,默认使用 OpenAI gpt-3.5-turbollm=llm, # 可选query_pipeline=custom_query_pipeline, # 可选file_extractor=file_extractor, # 可选。

qq_29929123的博客 705

RAG 进阶 LlamaIndex多文档

我们一起来学习LlamaIndex功能更完善的多文档RAG,大家可以参照官方文档来对比学习。LlamaIndex 为多文档RAG提供了VectorStoreIndex、SummaryIndex、ObjectIndex、QueryEngineTool、FnRetrieverOpenAIAgent 等丰富组件,过程复杂,但井然有序除VectorStoreIndex、SummaryIndex,还有agent 索引, object 索引。

2401_85324918的博客 1448

Agentic RAG智能问答系统实战骨架

RAG(检索增强生成)是解决大模型幻觉与知识滞后问题的核心技术,其原理在于将外部结构化/非结构化知识实时注入生成过程。随着Agent范式兴起,传统单步RAG正向多Agent协同演进——Router负责问题理解与路由决策,Retriever实现混合检索(关键词+向量+图谱),Validator执行规则驱动的置信度校验,Summarizer按角色生成差异化输出。这种Agentic RAG架构显著提升制造业等垂直领域问答的准确性、可解释性与响应速度,尤其适用于标准查询、故障诊断、参数对比等典型工业场景。本文提供一

weixin_29043895的博客 206

RAG 实践-Ollama+AnythingLLM 搭建本地知识库

RAG,即检索增强生成(Retrieval-Augmented Generation),是一种先进的自然语言处理技术架构,它旨在克服传统大型语言模型(LLMs)在处理开放域问题时的信息容量限制和时效性不足。RAG的核心机制融合了信息检索系统的精确性和语言模型的强大生成能力,为基于自然语言的任务提供了更为灵活和精准的解决方案。

2401_84495872的博客 2269

三菱FX5U运动控制(步进)

三菱FX5U脉冲定位控制,原点回归,相对定位,绝对定位,运动控制案例。

weixin_55762091的博客 1万+

LlamaIndex实战:基于RAG构建私有文档智能问答系统

大语言模型的能力边界受限于公开训练语料,无法覆盖企业内部私有文档与业务数据。检索增强生成(RAG)通过“先检索、后生成”的架构,将外部知识动态接入模型推理,成为解决这一问题的通用技术路径。LlamaIndex 正是该路径上的成熟框架,它统一处理 PDF、Word、Markdown 等各类数据源,经过加载、切分、向量化、索引与检索等环节,让大模型基于真实文档作答,有效缓解幻觉问题。本文从工程实践角度拆解 LlamaIndex 的核心机制,讲解索引选型、查询引擎原理、中文场景下的切分与 Embedding 调优

weixin_29053067的博客 213

软件测试面试题汇总

软件测试面试题汇总 测试技术面试题 ........................................................................................................................................................................ 5 1、什么是兼容

晴天的专栏 2万+

Python实战:5分钟搞定抖音无水印视频下载(附完整代码)

本文系统介绍了抖音无水印视频下载的多种技术方案,重点解析了抖音视频的获取逻辑与去水印原理。文章提供了从零代码的浏览器插件到可编程的Python脚本的完整实现路径,并附带了详细的代码示例,帮助用户快速构建自己的抖音视频下载工具箱。

weixin_29089057的博客 847

LlamaIndex实战指南:从RAG原理到智能文档问答系统构建

检索增强生成(RAG)是连接大型语言模型与私有数据的关键技术框架,它通过将外部知识库与模型参数知识相结合,有效解决了模型幻觉与知识更新滞后问题。其核心原理在于利用嵌入模型将文本转化为向量表示,并通过向量数据库实现语义相似性检索,从而为LLM提供精准的上下文信息。这一技术显著提升了问答系统的准确性与可信度,在智能客服、企业知识库、文档分析等场景中具有重要工程价值。本文以LlamaIndex这一流行框架为例,深入剖析其数据连接、索引构建与查询引擎三大核心模块,并演示如何基于向量存储索引构建一个完整的智能文档助手

weixin_30608503的博客 378

别再找在线API了!用C#调用微信电脑版自带的OCR,本地识别又快又准

本文详细介绍了如何利用C#调用微信电脑版内置的OCR引擎实现本地文字识别,解决传统云端API的隐私和网络依赖问题。微信OCR具备高精度中文识别、完全离线运行和零成本接入三大优势,特别适合企业文档电子化处理。通过实战代码演示了核心交互逻辑、批量处理流水线和表格数据提取等高级应用场景。

weixin_29295541的博客 589

第六章:框架实战:构建集成向量与图谱的 RAG 应用

通过具体的代码案例和详细的步骤说明,您将能够掌握使用这些框架搭建强大的 RAG 系统的能力,并了解如何调试和评估其性能。最后,我们还介绍了一些常用的 RAG 应用调试和评估技巧,并提供了使用 spaCy 进行简单三元组提取以及使用 Ragas 进行 RAG 评估的示例。知识图谱以结构化的方式存储实体及其之间的关系,可以提供更丰富的上下文信息和进行关系推理,从而提高检索的准确性和相关性。希望本章的内容能够为您提供一个良好的起点,鼓励您继续探索不同的 RAG 策略和框架,并根据您的具体应用场景进行创新和优化。

YPeng_Gao的博客 1402

测试人必看!正交表与Allpairs工具对比:如何选择最适合你的组合测试方案?

本文深入对比了正交表、PICT与Allpairs三种主流组合测试方案,帮助测试人员根据项目场景做出最佳选择。文章分析了各自的核心原理、优劣势及适用场景,特别强调了在涉及复杂约束时PICT工具的强大功能,并提供了从原理学习到CI/CD集成的实战选型指南。

weixin_29224309的博客 267

数字化车间智能排产调度挑战赛(一)—— 数学模型

科大讯飞——数字化车间智能排产调度挑战赛。

Lyyyp的博客 5649

收藏这篇就够了!跟着《长安的荔枝》学LlamaIndex,构建你的第一个智能问答系统!

大家好!这篇文章兼顾了 RAG 的科普与 LlamaIndex 的实战。无论你处在哪个阶段,都能找到适合自己的阅读路径:

weixin_58753619的博客 874

IPCP(IP Control Protocol,IP控制协议)

IPCP(IP Control Protocol,IP控制协议)

天赐好车的博客 756

【GitHub开源项目专栏】LlamaIndex深度解析:RAG框架架构与核心组件

LlamaIndex是当前最流行的RAG开发框架之一,为构建知识增强型LLM应用提供了完整的技术栈。本文深入解析其核心架构设计,涵盖Document、Node数据模型、多种索引类型(向量索引、关键词索引、知识图谱索引等)、Retriever与QueryEngine检索引擎的源码级剖析。通过实战示例展示构建高性能文档问答系统的完整流程,并与LangChain进行深度对比,帮助开发者根据场景选择最适合的技术方案。

m0_50709695的博客 480

SSD |(二)SSD主控

控制器作为一个片上系统,处理来自用户端的命令并负责管理闪存颗粒。

知识库搭建ing 1960

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

RAG 技术原理与实战:从基础架构到 SDK 落地

摘要:RAG(检索增强生成)技术有效解决大模型知识过时和幻觉输出的核心痛点。该技术通过实时检索外部知识库(如企业文档、专业数据库),将最新信息注入生成过程,显著提升回答准确性和时效性。文章详细解析了RAG的核心四步流程(文档预处理、向量化存储、智能检索、结果生成),对比了LangChain、LLamaIndex等主流框架的适用场景,并提供了基于LangChain构建企业知识库问答系统的完整实现方案。针对不同应用场景,文章还提出了检索优化、文档切分策略、多轮对话管理等具体优化方向,为RAG技术的落地应用提供了

2501_94455160的博客 913

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LlamaIndex终极指南:10分钟构建智能文档问答系统的完整方案

你是否曾想过,如何让大语言模型理解并回答关于你私人文档的问题?无论是公司内部文档、技术手册还是个人笔记,LlamaIndex都能帮你实现这一目标。今天,我将带你深入了解这个强大的开源框架,让你在10分钟内搭建起属于自己的智能问答系统。 ## 🤔 为什么需要LlamaIndex? 在AI应用开发中,我们经常面临一个核心挑战:如何让大语言模型(LLM)理解并处理我们的私有数据?传统方法要么需要复

gitblog_00128的博客 333

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

LlamaIndex项目实战:基于RAG的智能问答系统构建指南

LlamaIndex项目实战:基于RAG的智能问答系统构建指南 【免费下载链接】llama_index LlamaIndex(前身为GPT Index)是一个用于LLM应用程序的数据框架 项目地址: https://gitcode...

gitblog_00358的博客 375

Llamaindex RAG实践

一:概述一:概述它可以解决LLMs在处理知识密集型任务时可能遇到的挑战。提供更准确的回答、降低推理成本、实现外部记忆。生成幻觉(hallucination)、过时知识、缺乏透明和可追溯的推理过程。它的应用包括问答系统、文本生成、信息检索、图片描述。二:具体说明<1>RAG的原理将所要处理的文档或者网页即知识源分割成小块,编码成向量,并存储在向量数据库(Vector-DB)当中。

chasemydreamidea的博客 1763

LlamaIndex:RAG 原理与实战

摘要: LlamaIndex是一个连接私有数据与大语言模型的中间层框架,旨在解决大模型无法直接访问本地数据、上下文有限等问题。它通过数据连接层、索引层、查询引擎等组件,实现高效可控的数据检索与问答功能。文章详细介绍了LlamaIndex的核心架构,包括数据加载、索引构建、查询处理等流程,并提供了一个完整的RAG实战示例,展示如何利用本地文档构建智能问答系统。该框架支持Python和TypeScript,可快速集成到实际业务中。

金木AI 1387
上一篇: 一种支持4种多模态RAG技术的引擎:VARAG
下一篇: 深度解析Transformer、RNN和Mamba的联系!
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值