dsh-kb-rag: 本地优先的 RAG 知识库工具集

DSH 插件 yumu247/dsh-kb-rag 为 DSH 提供了一套本地优先的 RAG 知识库工具。它位于 kb-rag Python 管线之上,支持语义检索、增量入库、网页抓取和关联推荐。这套工具旨在满足本地化部署需求,避免云端 API 调用成本,并确保数据留在本地机器。

核心功能

插件封装了四个核心命令,分别对应不同的知识库操作:

  • kb_query (语义检索):在本地向量数据库中进行语义搜索,返回相关文本块及来源和相似度。
  • kb_ingest (增量入库):将文档目录导入 ChromaDB。支持增量更新(基于 manifest hash),并自动处理 SiYuan 的前置元数据。
  • kb_crawl (网页批量抓取):利用 Scrapling 和 markdownify 批量抓取 URL,并将结果清洗为 Markdown 格式。
  • kb_related (关联推荐):基于检索或图谱模式,为已知文档推荐相关文档。

安装与前置准备

在安装插件之前,需要确保宿主机已配置好 Python 环境、Ollama 模型以及 kb-rag 管线。

  1. 安装 Python 管线
    克隆 kb-rag 仓库并安装依赖:
    git clone https://github.com/YuMu247/kb-rag
    cd kb-rag
    pip install -r requirements.txt
  1. 安装 Ollama 模型
    拉取嵌入模型 bge-m3:
    ollama pull bge-m3
  1. 配置路径
    将 kb-rag 的安装路径告知插件。可以通过插件配置或环境变量设置:

    • 配置方式:在 DSH 的 profile 配置中设置 kbRagDir。
    • 环境变量方式:设置 KB_RAG_DIR 环境变量指向 kb-rag 目录。
    • 默认行为:如果未配置,插件会在会话工作目录下查找 ./kb-rag。
  2. 安装 DSH 插件
    使用 DSH 的插件管理命令安装:

    dsh plugin --profile <profile> add github:YuMu247/dsh-kb-rag
安装后,`kb_query`、`kb_ingest`、`kb_crawl`、`kb_related` 四个命令将注入到当前 DSH 进程中。安装前请确认当前 DSH 构建版本支持 `dsh plugin` 子命令。

典型用法

kb_query

用于查询本地知识库。
* 参数:
* query (必填):查询文本。
* k (可选):返回结果数量,默认 5,最大 20。
* 返回格式:JSON 格式,包含匹配的文本块及来源。

kb_ingest

用于将文档目录导入向量库。
* 参数:
* docs:默认为 <kb-rag>/docs。
* chunkSize:分块大小,默认 512。
* overlap:分块重叠大小,默认 64。
* force、reset、heading:控制覆盖和元数据处理。

kb_crawl

用于批量抓取网页。
* 参数:
* urls 或 urlsFile:目标 URL 列表或文件路径。
* out:输出目录,默认 <kb-rag>/out。
* delay:抓取间隔(秒),默认 1.5。

用于文档关联推荐。
* 参数:
* seed 或 fromDoc:种子文档 ID(二选一)。
* k:返回数量,默认 5。
* graph:图模式开关,大于 0 时启用图模式知识漫步。

注意事项

  • 本地运行:该插件全程在本地运行,无需调用云端 API,零成本。
  • 环境依赖:插件本身不包含 Python 逻辑,必须正确配置 kbRagDir 才能运行。
  • 权限与安全:插件以当前 DSH 进程的权限运行,请确保对相关文件和目录有读写权限。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜