本地知识库智能问答
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_4c392ef3/knowledge-qa。
技能介绍
解决的问题
本地资料常分散在 raw_docs/、PDF、Word 和 Markdown 文件里,检索依赖目录名和记忆,容易漏查。跨主题资料混在一起时,回答也容易受到无关文档干扰。这个技能把同一工作目录下的多个主题文件夹映射为独立 DashVector Collection,例如 MySQLNotes 和 JavaNotes,让问答、上传和分区管理都按知识库隔离。
工作方式
技能围绕四个脚本运行:
init_knowledge_base.py创建知识库目录、config.json和raw_docs/结构,便于先建库再放文档。upload_to_vector.py扫描文档、对比indexed_files.json,提取并分块文本,调用百炼 Embedding 生成向量,再上传 DashVector,并自动创建分区。query_knowledge_base.py按知识库和分区查询,合并相似度结果,再读取原始文档补充上下文,必要时补充网络资料。partition_list.py查看分区状态,帮助确认上传结果是否按预期落库。
关键点是 分区路由:raw_docs/mysql/ 映射为 mysql 分区,raw_docs/MySQL实战/ 会归一化为 mysql_,非字母数字字符转为下划线。多分区查询采用串行多次查询后合并,因为 DashVector partition 参数只接受字符串。最终输出包括 reports/ 中的 Markdown 报告和 mindmaps/ 中的交互式思维导图。
适用边界
需要先配置 DashVector 与百炼 API Key,并准备 Python 3.8+。它适合团队内部文档问答、资料整理、复盘笔记和报告生成,不适合替代生产级权限控制、文档协作、审计日志或高并发检索。上传失败通常要检查 API Key、Endpoint、Collection 名称和分区字段;知识库为空时应先把文档放入 raw_docs/。
使用场景
- 维护 MySQL 和 Oracle 本地笔记,想把 `raw_docs/mysql/` 与 `raw_docs/oracle/` 分区分开上传并检索回答。
- 已有 PDF、Word 和 Markdown 操作手册,需要按新增文件建立索引,并在回答时读取原始章节补充上下文。
- 准备技术复盘材料,想基于指定知识库生成 Markdown 报告和最多三级的交互式思维导图。
- 上传后需要确认哪些分区已生成,用分区状态查询核对 `raw_docs` 子目录是否映射为预期分区。
适合人员
- 维护本地技术笔记的工程师:想按主题建立多个知识库,并在提问时指定 `MySQLNotes` 等库名。
- 整理 PDF 和 Word 文档的资料管理员:想把 `raw_docs/` 子目录映射为分区并查看分区状态。
- 撰写技术报告的知识工程师:想基于检索结果生成 Markdown 报告和交互式思维导图。
- 使用 WorkBuddy 工作目录的 AI 应用使用者:想通过脚本初始化、上传、查询和检查知识库分区。