数千份 Markdown 知识库:本地 RAG + FAISS + bge-large-zh + 低成本方案
数千份 Markdown 知识库:本地 RAG + FAISS + bge-large-zh + 低成本方案
来源类型: 技术方案
日期: 2026-06-17
标签: #知识库 #Markdown #本地RAG #FAISS #bge-large-zh #低成本
核心需求
"我有大量的 MD 文件,涉及到区块链和 AI 领域的,通过 x 网站筛选的每天相关的这两个领域的代表性人物以及代表性项目,他们的最新动态。"
"目前大约积累了数千份这样的 Markdown 文档,这些文档都是最宝贵的原始的研究素材。"
"现在我想发挥这些原始素材它的作用,提炼出有价值的知识信息。"
"方案又是比较经济实惠的,不要消耗太多的 TOKEN。适合于这样一个个人的用户去实践。"
技术选型
| 功能 | 推荐工具 | 说明 |
|---|---|---|
| 文本读取 & 预处理 | Python + markdown + pathlib | 批量遍历目录 |
| 向量化 | sentence-transformers / bge-large-zh | 本地推理 |
| 向量检索 | FAISS(本地)/ Milvus | 支持大规模 |
| 元数据存储 | SQLite / TinyDB | 保存路径 / 标题 / 时间 |
| 增量摘要 | GLM-4-Chat-int4 / Qwen-1.5-7B | 关键聚合时调用 |
工作流细节
2.1 数据准备(一次性)
- 统一目录结构
- 批量读取
- 抽取元信息(标题 / 发布时间 / 人物 / 项目关键词)
- 使用正则或 spaCy/jieba 提取
- 写入 SQLite
docs(id, path, title, date, tags, ...)
2.2 向量化(离线)
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('bge-large-zh')
vectors = model.encode(list_of_texts, batch_size=64, show_progress_bar=True)
# 保存至 FAISS
import faiss, numpy as np
dim = vectors.shape[1]
关键洞察
1. 低成本开源栈
- Python + sentence-transformers + FAISS
- 普通笔记本可跑
- 2 CPU + 4 GB RAM 即可
2. bge-large-zh 中文友好
- 国产模型
- 中文向量化
3. SQLite 轻量元数据
- 不需专用数据库
- 个人友好
4. 离线向量化
- 一次性算完
- 无需 Token 消耗
5. 仅关键时调用 LLM
- 二次加工时少量调用
- 经济实惠
与已有知识的关联
- wiki/concepts/markdown-kb — Markdown 知识库
- wiki/concepts/local-rag — 本地 RAG
- wiki/concepts/faiss — FAISS 向量检索
- wiki/concepts/bge-large-zh — bge-large-zh
- wiki/concepts/sqlite — SQLite 元数据
- wiki/concepts/low-cost-llm — 低成本 LLM
资料来源
- 原始文件:
raw/articles/微信文章3/可搜索、可聚合、可持续更新的知识库.md
我的判断(高置信度)
这是 2026 年个人知识库最实用的中文低成本技术方案——Markdown + FAISS + bge-large-zh。
关键洞察:
1. "本地优先低成本" —— 是核心方案
2. "bge-large-zh 中文" —— 是国产模型
3. "FAISS 向量检索" —— 是开源
4. "SQLite 轻量元数据" —— 是个人友好
5. "仅关键时调用 LLM" —— 是经济实惠
预测:
- 2026 H2:可能成为个人知识库标配
- 2027:可能形成标准化方案
- 2028:可能立法"个人 AI 知识库"
对个人研究者的建议:
"本地 RAG" 是 2026 标配
- Markdown + FAISS + bge
- 个人笔记本可跑
- 离线向量化省钱
对 AI 工具开发者的启示:
"低成本" 是个人用户关键
- 开源工具链
- 中文模型支持
- 仅关键时调用 LLM
对教育者的启示:
"知识管理" 是新基础课
- 本地 RAG 是方向
- 国产模型优先
- 个人可实践