分享
如何让RAG的内存效率提高32倍(代码详解)!
输入“/”快速插入内容
如何让RAG的内存效率提高32倍(代码详解)!
用户4242
用户4242
4月5日修改
🔗 原文链接:
https://x.com/_avichawla/status/204...
Perplexity、Azure、HubSpot等众多公司如何使用二进制量化技术,使检索增强生成(RAG)的内存效率提高32倍(附代码解释)!
行业内有一种常用的简单技术,能让检索增强生成(RAG)的内存效率提升约32倍!
•
Perplexity在其搜索索引中采用了该技术
•
Azure在其搜索流程中使用了该技术
•
HubSpot则将其应用于自身的AI助手
为了学习这项技术,我们将搭建一套检索增强生成系统,可在30毫秒内完成对3600万以上向量的查询。
而支撑该系统的这项技术,名为二进制量化。
技术栈:
•
Llama Index 用于流程编排(开源)
•
Milvus 作为向量数据库(开源)
•
Kimi-K2 作为部署在Groq平台上的大语言模型(托管服务)
以下是工作流程:
•
摄取文档并生成二进制嵌入向量。
•
创建二进制向量索引,并将嵌入向量存储至向量数据库。
•
检索与用户查询相似度最高的前k个文档。
•
大语言模型基于补充上下文生成回复。
让我们来实现这一流程!
1)加载数据
我们使用LlamaIndex的目录读取工具来导入文档。该工具能够读取多种数据格式,包括Markdown、PDF、Word文档、PowerPoint演示文稿、图片、音频以及视频。
代码块
Python
from llama_index.core import SimpleDirectoryReader
loader = SimpleDirectoryReader(
input_dir=docs_dir,
required_exts=[
".pdf"
],
recursive=True
)
docs = loader.load_data()
documents = [doc.text for doc in docs]