引言
小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖沙茶面的小男孩。今天这篇小作文主要介绍如何使用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 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。