惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
P
Proofpoint News Feed
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
美团技术团队
D
Docker
博客园 - Franky
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - aqi00

鸿蒙版本的JSBridge兼容与安卓配套的H5啦 15天学会AI应用开发(二十)使用LangChain实现RAG检索功能 15天学会AI应用开发(十九)使用LangGraph实现持久记忆功能 鸿蒙版本的小小机器人APP开放源码啦 15天学会AI应用开发(十八)使用LangGraph实现精确记忆功能 15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能 15天学会AI应用开发(十六)LangChain实现对话记忆功能 15天学会AI应用开发(十五)使用LangChain封装AI执行链 15天学会AI应用开发(十四)搭建LangChain的开发环境 15天学会AI应用开发(十三)上下文与RAG的阶段性总结 15天学会AI应用开发(十二)从PDF、WORD、网页构建RAG 15天学会AI应用开发(十一)从TXT文件构建RAG知识库 15天学会AI应用开发(十)把文本嵌入模型换成国产模型 15天学会AI应用开发(八)使用向量数据库实现RAG功能 15天学会AI应用开发(七)有了大模型为什么还要引入RAG 15天学会AI应用开发(六)使用离线大模型对文本生成摘要 一文速览 HarmonyOS 6.1.1 推出的十个新特性 15天学会AI应用开发(五)使用AI摘要来压缩上下文消息 15天学会AI应用开发(四)根据Token长度截断历史对话 15天学会AI应用开发(三)把历史对话作为提示词会怎样 15天学会AI应用开发(二)为什么编写提示词这么重要 15天学会AI应用开发(一)搭建AI大模型应用开发环境 一文理清 HarmonyOS 6.0.2 涵盖的十个升级点 FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg 一文速览 HarmonyOS 6.0.1 引入的十个新特性 一文读懂 HarmonyOS 6.1 带来的十大重要升级 新书《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》出版啦 FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer FFmpeg开发笔记(九十九)基于Kotlin的国产开源播放器DKVideoPlayer
15天学会AI应用开发(九)利用Chroma持久化向量数据
aqi00 · 2026-06-27 · via 博客园 - aqi00

上一篇文章通过all-MiniLM-L6-v2模型结合FAISS实现了简单的RAG检索功能,但FAISS运行于内存中,无法持久化保存向量数据,重启后又得重新对文本做向量化,比较浪费算力资源。本文就来介绍如何使用向量数据库来持久保存向量数据。

一、向量数据库Chroma

Chroma是一个本地向量数据库,专门用来保存 RAG 知识库,并且快速检索相关内容。Chroma与FAISS之间的区别如下:

1、只做检索,不做保存;Chroma既支持检索,也支持保存。
2、FAISS运行于内存,速度快;Chroma需要从磁盘加载数据,启动稍慢。
3、FAISS适合临时检索,多用于简单RAG;Chroma支持长期使用,尤其是资料较多的RAG。

总而言之,Chroma属于本地 + 简单 + 自带持久化的 RAG 专用数据库,可以理解为给大模型用的本地知识小仓库。

二、如何使用Chroma

Python代码里的Chroma主要完成三件事:创建数据库与数据表、保存知识向量、在用户提问时检索知识,如下代码所示:

可见Chroma的使用步骤与FAISS一一对应,如下所示:

1、FAISS的第一步是建立内存索引,而Chroma的第一步是创建数据库与数据表。
2、FAISS的第二步是把知识向量放入内存索引,而Chroma的第二步是把知识向量保存到数据表。
3、FAISS的第三步是从内存索引查找相关知识,而Chroma的第三步是从数据表查找相关知识。

三、结合all-MiniLM-L6-v2与Chroma实现RAG

接下来演示如何使用all-MiniLM-L6-v2与Chroma实现RAG检索功能。在编写Python代码前,要先在命令行执行下面的pip安装命令:

然后编写下面的Python检索测试代码:

运行上面的Python代码,根据提示输入问题“AI是什么?”,输出日志结果如下:

可见即使问题文本与知识库不是完全的字符串匹配(“AI是什么?”对“什么是AI”),all-MiniLM-L6-v2模型结合Chroma也能正确识别出问题意图,并给出准确的回答。

本系列的AI应用开发文章目录为《15天学会AI应用开发全目录(零基础小白,零Token消耗)》。