ChromaDB 文档向量检索
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_af28adda/chromadb-document-vectorizer。
技能介绍
解决什么问题
本地文档库常卡在“找得准”和“重启还在”两件事上:关键词检索不理解同义表达,纯向量检索又可能漏掉专有名词;文档一旦重新处理,内存里的向量会丢失。这个技能把 Word、Markdown、PDF、TXT 文档转成可检索的向量库,面向语义搜索,而不是聊天记忆系统。
技能如何工作
它按以下链路运行:
- 读取与分块:解析
.docx、.md、.pdf、.txt,按中文句号等边界切句,默认每块约200字符,避免把完整语义切碎。 - 向量化:默认使用无依赖的 MD5 哈希模拟生成
384维向量,便于快速跑通;也可切换到paraphrase-multilingual-MiniLM-L12-v2,获得多语言语义表示。 - 检索:通过
search_vectors(query_text, top_k)做余弦相似度召回,可设置阈值;v3 增加 LRU 查询缓存和BM25 + 向量混合检索,用alpha调节关键词与语义权重。 - 管理:提供
vectorize_file、get_collection_stats、clear_collection,数据自动保存到chroma_data,重启后可恢复。
边界与注意点
它适合文档知识检索,不适合直接作为对话状态管理。真实语义向量需安装 sentence-transformers,各文件格式还需对应解析库;大文件建议分批入库,文档量大时可调整 chunk_size,让召回在精度与覆盖之间取得平衡。
使用场景
- 维护产品手册 PDF 和 Markdown,需要按用户问题召回最相关段落并给出来源文档。
- 将多份 Word 合同与 TXT 纪要批量入库,后续用自然语言查询条款和会议结论。
- 在内部工具中接入语义搜索,避免关键词匹配漏掉同义表达,并控制 `top_k` 返回数量。
- 排查向量库规模与重复查询,使用统计和清空接口管理本地 `chroma_data` 数据。
适合人员
- 负责知识库检索的工程师:要把 PDF、Word 和 Markdown 转成可查询向量,减少关键词搜索偏差。
- 做内部助手的产品工程师:需要按用户自然语言找文档片段,并设置 `top_k` 与相似度阈值。
- 维护运维资料库的技术支持:将故障手册和历史案例入库,支持问题排查中的语义召回。
- 构建检索原型的数据工程师:快速验证 MD5 模拟向量与 `Sentence Transformers` 语义向量的差异。