热门话题
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
一种简单的技术使 RAG 的内存效率提高了 ~32 倍!
- Perplexity 在其搜索索引中使用它
- Azure 在其搜索管道中使用它
- HubSpot 在其 AI 助手中使用它
让我们了解如何在 RAG 系统中使用它(附代码):
今天,让我们构建一个 RAG 系统,使用二进制量化在 <30ms 内查询 3600 万个以上的向量。
技术栈:
- @llama_index 进行编排
- @milvusio 作为向量数据库
- @beam_cloud 进行无服务器部署
- @Kimi_Moonshot Kimi-K2 作为托管在 Groq 上的 LLM
让我们开始构建吧!
工作流程如下:
- 导入文档并生成二进制嵌入。
- 创建二进制向量索引并将嵌入存储在向量数据库中。
- 检索与用户查询最相似的前k个文档。
- LLM根据额外的上下文生成响应。
让我们实现这个!
0️⃣ 设置 Groq
在我们开始之前,请将您的 Groq API 密钥存储在 .env 文件中,并将其加载到您的环境中,以利用世界上最快的 AI 推理。
查看这个 👇

1️⃣ 加载数据
我们使用 LlamaIndex 的目录读取工具来获取我们的文档。
它可以读取多种数据格式,包括 Markdown、PDF、Word 文档、PowerPoint 演示文稿、图像、音频和视频。
查看这个 👇

2️⃣ 生成二进制嵌入
接下来,我们生成文本嵌入(以 float32 格式)并将其转换为二进制向量,从而实现内存和存储的 32 倍减少。
这被称为二进制量化。
查看此实现 👇

3️⃣ 向量索引
在我们的二进制量化完成后,我们将向量存储并索引到 Milvus 向量数据库中,以便高效检索。
索引是专门的数据结构,有助于优化数据检索操作的性能。
查看这个 👇

4️⃣ 检索
在检索阶段,我们:
- 嵌入用户查询并对其应用二进制量化。
- 使用汉明距离作为搜索度量来比较二进制向量。
- 检索最相似的前5个块。
- 将检索到的块添加到上下文中。
查看这个👇

5️⃣ 生成
最后,我们使用 Kimi-K2 指令模型构建一个生成管道,该模型在 Groq 提供的最快 AI 推理上运行。
我们在提示模板中指定查询和检索的上下文,并将其传递给 LLM。
查看这个 👇

6️⃣ 使用 Beam 部署
Beam 使得任何 AI 工作流的超快速无服务器部署成为可能。
因此,我们将应用程序包装在 Streamlit 界面中,指定 Python 库和容器的计算规格。
最后,我们只需几行代码即可部署应用程序👇

7️⃣ 运行应用程序
Beam 启动容器并将我们的 streamlit 应用程序部署为 HTTPS 服务器,可以通过网络浏览器轻松访问。
查看此演示 👇
接下来,为了真正评估规模和推理速度,我们在 PubMed 数据集(超过 3600 万个向量)上测试了部署的设置。
我们的应用:
- 在 <30ms 内查询了超过 3600 万个向量。
- 在 <1s 内生成了响应。
查看这个演示👇
完成!
我们刚刚构建了最快的 RAG 堆栈,利用 BQ 进行高效检索,并使用超快速的无服务器部署我们的 AI 工作流。
这是工作流供您参考 👇
结束了!
如果你觉得这很有启发性,请与您的网络分享。
找到我 → @_avichawla
每天,我都会分享关于数据科学、机器学习、大型语言模型和检索增强生成的教程和见解。

8月4日 14:33
一种简单的技术使 RAG 的内存效率提高了 ~32 倍!
- Perplexity 在其搜索索引中使用它
- Azure 在其搜索管道中使用它
- HubSpot 在其 AI 助手中使用它
让我们了解如何在 RAG 系统中使用它(附代码):
695.78K
热门
排行
收藏