Featured image of post 笔记太多了,用Copilot插件给Obsidian加上RAG

笔记太多了,用Copilot插件给Obsidian加上RAG

云端Deepseek V4 flash + 本地qwen3-embedding-0.6b

笔记太多了,用Copilot插件给Obsidian加上RAG

注,这不是微软那个Copilot

  • Microsoft Copilot — 微软的 AI 助手,集成在 Windows、Office 365、GitHub 等产品里。
  • Obsidian Copilot — Obsidian 笔记软件的一个社区插件(开发者是 logancyang),功能是在你的本地笔记 Vault 里做 AI 搜索和问答。

前言

Obsidian用了几年了,笔记数量超过2000篇,内容有点多,现在决定加上RAG功能。

使用Copilot插件实现,鉴于最近Deepseek大降价,chat model选择Deepseek V4 flash。为了隐私决定嵌入模型在本地运行,embedding model选择qwen3 0.6b。

插件安装

先在Obsidian第三方插件市场搜索,找到下载量140万+排第一的这个下载,看作者名字估计还是个国人。

插件配置

Chat Models - 聊天模型配置

先在这里添加chat model。

注意等会儿不要把embedding model添加在这,我一开始犯了这个错误,在这个页面往下拉有专门的嵌入模型列表可以添加。

model name 要填对,然后可以在下面选择对应的模型供应商,BaseURL会自动填写,云端大模型记得填入API Key。

Embedding Models - 嵌入模型配置

在Model页面往下拉。

模型名字要写对,如果像我一样使用LM Studio,可以在这里复制名字。

Basic - 基础设置

然后回到第一页基础设置,设置默认聊天模型和默认模式,这里选刚才配置好的deepseek v4 flash,然后默认模式选择Vault QA也就是笔记仓库问答模式。

QA设置

在这里选择之前添加到嵌入模型。

在下面添加一些过滤条件吧,可以直接设置只包含md格式。

其他可能影响性能的设置(可以略过)

说一下这些设置吧,经过我的测试,这些参数设置在我的电脑(cpu 5800h+双通道32g 3200mHz+1tb Nvme Pcie3.0)上影响不大,可能有三五秒的差距,但是由于整体的响应时间都要20秒,所以差别不大。

第一个Auto-Index Strategy

这个主要作用就是未来新增修改笔记之后呢,更新这个索引的策略,目前设置的是在模式切换之后。就是说如果从这个Chat模式切换到这个Vault Q A模式的话,它会重新把那些没有建立过索引的内容重新建立索引,这个设置还是比较推荐的。

另外两个是在每一次启动都会建立索引,这个也可以,但是可能会卡。

还有一个是从来不会自动地更新这个索引。

不过我试过手动更新索引也是增量更新的,这个对性能负担也不大。

第二个 max sources

我目前试过几次生成内容的来源数量都是2到7个左右,所以这个默认值是30个,改小一点就够用了,目前改成15个。当然也可以根据自己的笔记数量实际情况去调整,它这个就像写论文时的引用文献一样,会在生成的内容里插上角标,也会在末尾有一个类似于参考文献的列表,可以去看那些相关的来源笔记。

第三个RPM每分钟请求数

如果使用的嵌入模型是云端的,甚至是一些云端的免费的模型,比如硅基流动上面的,它可能对这个频率有限制,这种时候呢,为了防止它出现受限的情况,可以在这里改小一点,但是我目前是使用的本地嵌入模型,所以没有影响,默认值就是这个六十。

第四个Embedding batch size

这个是每组进行向量映射的数量大小,也是看这个模型提供商的限制的,在本地的模型话就不用管他,我这里从默认的16改成了32,在往上改的话收益不大。

第五个number of partitions

他说如果仓库很大,索引出问题的话去改这个,我就没有改了。

第六个 lexical search ram limit

Lexical Search RAM Limit 指的是:词法搜索(全文关键词匹配)索引所能占用的内存上限。

具体来说:

  • Obsidian Copilot 的 QA(问答)功能支持两种检索方式:语义搜索(向量相似度)和词法搜索(关键词匹配,类似 BM25)。
  • 词法搜索的索引是常驻内存的,所以需要给它设一个内存上限,防止吃掉太多 RAM。
  • 配置路径:Settings → Copilot → QA → Lexical Search RAM Limit
  • 默认值:100 MB,可调范围:20 MB ~ 1,000 MB

什么时候需要调高?

  • 你的 Vault 笔记数量很多,索引建不完或搜索结果不全。

什么时候需要调低?

  • 设备内存紧张,不想让 Obsidian 占太多资源。

我的仓库笔记可能有一点五GB左右,所以我把这个调到最大了。如果你的电脑内存空闲的比较少,或者本身笔记的总体积不大的话,可以调小或者保持默认的100兆。

第七个,enable folder and graph boosts

Enable Folder and Graph Boosts是对词法搜索结果做智能加权的功能,默认开启。

它的作用有两层:

增强维度 效果
Folder Boost(文件夹增强) 和当前笔记在同一个文件夹下的笔记,搜索排名会被拔高
Graph Boost(图谱增强) 和当前笔记有双向链接关系的笔记,搜索排名会被拔高

说白了就是:你打开某篇笔记后问问题,Copilot 搜索时会更偏向返回那些跟你当前笔记"关系近"的内容——要么在同一目录,要么图谱中有连线。

什么情况关掉?

  • 想要全局平等搜索,不希望当前笔记的上下文影响结果排序。
  • Vault 结构比较乱,文件夹/链接关系没有实际语义意义。

目前发现的问题

笔记记的比较多,杂乱,可能会把很久以前的内容和想法挖出来,但是这些内容对目前来说已经不需要了,或者说已经改变想法了。针对这个问题,目前找到的办法就是通过提示词来约束它,比如告诉他只看最近多长时间内的内容,因为目前这个插件似乎没有针对时间线的权重设置。

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计