Chroma向量数据库入门全解:三步为LLM建好可查询的本地知识库

📅 发布时间:2026/9/12 7:38:05
Chroma向量数据库入门全解:三步为LLM建好可查询的本地知识库
Chroma向量数据库入门全解三步为LLM建好可查询的本地知识库【免费下载链接】llm-universe本项目是一个面向小白开发者的大模型应用开发教程在线阅读地址https://datawhalechina.github.io/llm-universe/项目地址: https://gitcode.com/GitHub_Trending/ll/llm-universe你手里有一摞本地文档想让大模型读过它们再回答问题该从哪下手LLM Universe 是个面向初学者的 LLM 应用开发教程其中用轻量级向量数据库 Chroma 搭了一个本地知识库文档先切块、再向量化入库提问时按语义相似度召回相关段落喂给模型。读完这篇你能跑通 Chroma 从安装、写入到查询的完整最短路径并知道项目里现成的数据放在哪里。手头一堆 PDF 和 Markdown大模型却记不住本地目录里有几百页 PDF、几十份 Markdown直接塞进上下文窗口不现实而传统关键词搜索只能碰运气匹配字面。LLM Universe 接住的就是这个问题走 RAG检索增强生成路线核心存储选了 Chroma——一个纯 Python、免部署、数据落在本地磁盘的向量数据库。资料被切块后变成向量存进 Chroma提问时先检索出最相关的几段再交给模型作答。教程第三章完整演示了这条链路跑完后的产物就放在仓库的 data_base/vector_db/chroma/ 目录里面是chroma.sqlite3元数据文件和一个向量存储子目录。 一条命令装好 ChromaChroma 的门槛低在不用起服务器、不用写配置文件。有 Python 环境就能用pip install chromadb装完即导入即用。项目依赖统一列在根目录的 requirements.txt 里配合 LangChain 使用时按文件整体安装即可。先把文档切成块分块效果怎么看整本资料直接入库检索回来的段落会远超模型可用长度所以先分块。教程用 LangChain 的RecursiveCharacterTextSplitter每块约 500 字符、相邻块重叠 50 字符避免句子在边界处被拦腰截断完整演示在 notebook/C3/C3.ipynb。按这个参数《南瓜书》196 页的 PDF 被切成 700 多个块每块还带着来源文件、页码等元数据方便溯源。一次调用把分块写进 Chroma分块就绪后建库只是一次调用向量化由你指定的 embedding 模型完成数据自动持久化到磁盘from langchain_community.vectorstores import Chroma vectordb Chroma.from_documents( documentssplit_docs, # 切分后的分块列表 embeddingembedding, # 任意 Embedding 模型 persist_directorydata_base/vector_db/chroma )跑完这条语句持久化目录下会生成向量存储文件和chroma.sqlite3——也就是仓库里那套现成知识库数据的来历。一句话提问看相似度检索的效果查询不用你手写向量。把问题原样传进去Chroma 内部先把它向量化再按余弦相似度对所有分块排序sim_docs vectordb.similarity_search(什么是大语言模型, k3)k3表示取最相近的 3 个段落。命中结果来自课程讲义里真正讲大模型的部分而不是字面碰巧含相同关键词的内容——这种按语义找正是关键词检索做不到的事。项目里怎么用接上模型就是一个问答应用教程第六章把这套本地知识库直接接到大模型上做出了两个完整应用。第一个是个人知识库助手对入库资料提问回答基于 Chroma 检索出的段落生成效果如下图完整实现可参考 docs/C6/案例1个人知识库助手.md第二个案例天机则是把提示词设计和知识库结合的进阶玩法。两个实用入口向量、分块、建库、检索的完整教程章节docs/C3/C3.md项目总览与在线教程入口README.md【免费下载链接】llm-universe本项目是一个面向小白开发者的大模型应用开发教程在线阅读地址https://datawhalechina.github.io/llm-universe/项目地址: https://gitcode.com/GitHub_Trending/ll/llm-universe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考