AI Tools Hub
教程分享

RAG 实战:给自己的 Obsidian 笔记库加上 AI 问答(附完整代码)

Mar 2, 2026
1091289

我有大约 2000 篇 Obsidian 笔记,一直想让 AI 能基于我自己的知识库回答问题,这周终于做出来了。

技术方案

Obsidian MD 文件 → 分块 → Embedding → 存入 pgvector → 查询时做相似度搜索 → 送给 Claude 生成回答

选型

  • Embedding 模型:text-embedding-3-small(OpenAI,便宜且够用)
  • 向量数据库:Supabase pgvector(省去单独部署 Pinecone)
  • 问答模型:Claude 3.5 Haiku(速度快、便宜)
  • 前端:简单的 Next.js 页面

分块策略(这个最关键)

不要按固定字数分,要按「自然段落 + 标题层级」分。我用的是 langchainMarkdownTextSplitter,效果比固定字数好很多。

成本:2000 篇笔记全量 Embedding 花了约 $0.3,之后每次查询约 $0.002。

代码在文末,欢迎 fork。

2 Replies

nocodeleenocodelee1d ago
#1

请问分块策略这里,对于有大量内链([[wiki links]])的 Obsidian 笔记,你是怎么处理的?直接保留还是去掉?我担心内链文字会干扰 embedding 的质量。

llmhackllmhack1d ago
#2

我用的是把内链替换成纯文字(把 [[Note Title]] 换成 Note Title),然后把被引用的笔记片段也加进 chunk 的 metadata 里。查询时会额外拉取关联笔记的摘要,效果比忽略内链好很多。

Login to join the discussion

Login with GitHub