用本地文件与 AI 对话:GPT4All LocalDocs 完整指南
【免费下载链接】gpt4allGPT4All: Run Local LLMs on Any Device. Open-source and available for commercial use.项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4all
你有一份产品手册、会议纪要或代码文档的文件夹,想基于它们提问,又不希望文件内容发往任何云端服务。GPT4All 的 LocalDocs 功能做的就是这件事:把本地文件拆成文本片段并生成向量,存在本地数据库 localdocs_v2.db 中;聊天时检索出与问题最相关的片段,塞进本地大模型的上下文再作答,默认全程不出本机。
🗂️ 创建第一个 LocalDocs 集合:关联文件夹并开始索引
在 GPT4All 桌面客户端左侧导航打开 LocalDocs 页面,点右上角+ Add Collection,给集合起个名字(例如"产品手册2025"),选择要索引的本地文件夹,点Create Collection确认。
几点需要注意:
- 集合绑定的是文件夹而不是单个文件,之后往文件夹里加文件,系统会自动重新索引。
- 哪些文件类型会被真正索引,由设置里的 "Allowed File Extensions" 决定;代码注释说明目前只承诺支持纯文本和 PDF,Office 文档、图片、音视频、压缩包等二进制类型会被直接排除。
- 创建后无需任何额外操作,这个集合的进度会直接显示在 LocalDocs 页面上。
✅ 看懂状态条:INDEXING、EMBEDDING、READY 各代表什么
每个集合卡片上都有一条进度条加状态标签,逻辑定义在 gpt4all-chat/qml/LocalDocsView.qml 中,弄清这些状态能避免你干等:
- INDEXING:从文档中抽取文本片段,进度按文件字节数计算。
- EMBEDDING:把片段转换成向量,进度按片段数量计算。
- READY:可用状态,卡片上会显示文件数和总词数。
- REQUIRES UPDATE:设置或版本变化后需要重建,点Update开始。
- ERROR:红色字样,把鼠标悬停在进度条上可以看到具体原因。
两个容易忽略的说明:
- 不必等全部完成:部分文件就绪后即可对它们提问(见 localdocs.md 的官方说明)。
- READY 之后文件夹有改动会自动更新索引;Rebuild是从零重建,官方提示"很慢且通常不需要",只在索引异常时使用。
💬 聊天时怎么挂上 LocalDocs 并查看引用来源
集合建好后,聊天分两件事:
- 聊天窗口右上角点击LocalDocs按钮(角上的数字是当前挂上的集合数)打开集合选择面板,勾选需要的集合;
- 直接提问即可,回答会基于文档中的相关片段生成,回答下方的Sources可以展开看到具体引用了哪些文件。
不想每次看引用,可以到设置里关掉 "Show Sources"(默认开启,控制每条回答是否显示来源)。
⚙️ LocalDocs 设置里能改什么:文件类型、向量化设备、Nomic API
入口在 Settings 的 LocalDocs 页,界面实现在 gpt4all-chat/qml/LocalDocsSettings.qml,常用项如下:
| 设置项 | 作用 |
|---|---|
| Allowed File Extensions | 逗号分隔的扩展名列表,只索引这些类型的文件 |
| Use Nomic Embed API + Nomic API Key | 改用 Nomic 云端做向量化,需填nk-开头的密钥,改动后需重启 |
| Embeddings Device | 本地向量化的计算设备(默认"Application default"),改动后需重启 |
| Document snippet size (characters) | 每个片段的字符数,默认 512;越大内容越完整但生成更慢 |
| Max document snippets per prompt | 注入上下文的最佳匹配片段数上限;越大准确率越高但更慢 |
最后两项带有官方红色提示"仅供高级用户使用":两个数值相乘大致就是额外塞进模型上下文窗口的字符量,设得过大可能导致 LocalDocs 失败或响应极慢,普通用户保持默认即可。
🛠️ 数据库无法访问怎么修、什么时候该重建索引
页面出现红色 "database cannot be accessed" 时,按这个顺序处理(每条修复后都要重启程序才生效):
- 确认设置为 Download Path 的文件夹确实存在;
- 检查该文件夹以及其中 localdocs_v2.db 文件的读写权限;
- 仍不行时,备份并删除该目录下所有 localdocs_v*.db 文件,重新创建集合——这会丢掉现有索引,只作最后手段。
想重建索引时:集合处于 READY 状态时点卡片上的Rebuild,会清掉现有索引并把文件夹里所有文件重新处理一遍。
下一步:先挑一个真实文件夹建一个集合,等状态变 READY 后到聊天里就文档内容提问;如果回答总对不上文档,先核对文件夹里的文件类型是否在 "Allowed File Extensions" 列表里。
【免费下载链接】gpt4allGPT4All: Run Local LLMs on Any Device. Open-source and available for commercial use.项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4all
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考