30 秒看懂
在这期 2023 年 5 月的教程中,Matthew Berman 安装早期版本的 PrivateGPT,加载一份国情咨文示例文本,并使用本地 GPT4All 模型提问。他展示了返回的答案和来源摘录。 文中的命令和文件名对应视频里的历史版本;当前操作请参考[项目仓库](https://github.com/imartinez/privateGPT)。本地处理和离线运行取决于所选配置,以及是否已下载全部所需依赖和模型;产品名称本身不能保证隐私。视频中没有发现明确的赞助环节。
- 1就本地文档提问Berman 介绍 PrivateGPT 如何使用本地配置的模型,回答有关文本、PDF 和 CSV 文档的问题。
- 2安装与配置历史版本的设置步骤包括克隆仓库、安装依赖,并将 example.env 重命名为 .env。
- 3下载两个模型演示使用一个 GPT4All 语言模型和一个单独的嵌入模型,并将它们放入 models 目录。
- 4导入与提问导入脚本将文档处理到数据库中;应用随后回答问题并显示来源摘录。
要点建议
- 视频演示的 2023 年工作流包括安装依赖、配置模型路径、导入源文档和启动本地问答脚本。
- 首次克隆仓库、安装依赖和下载模型需要联网;离线使用取决于完整的本地安装与配置。
- 示例使用独立的语言模型和嵌入模型文件,并将文档片段存入本地数据库。
- 返回的来源摘录有助于核对答案,但不能保证其说法准确。
- 项目版本和依赖会变化,因此不能假定历史文件名和命令与当前版本一致。
按章节阅读整理后的全文
PrivateGPT 与安装
Berman 介绍本地文档问答项目,并在 VS Code 中克隆仓库。他安装 Python 依赖并准备配置。
PrivateGPT 是一个利用语言模型加载文档并就其内容提问的项目。在这期 2023 年 5 月的演示中,我展示基于本地 GPT4All 的配置,处理文本、PDF 和 CSV 文件。当所有组件和设置都在本地时,文档处理可以留在机器上;名称本身并不能保证隐私或安全。
我打开 Visual Studio Code,创建新窗口并打开终端。我从仓库的 Code 菜单复制网址,切换到桌面,用该网址运行 `git clone`,然后进入生成的 `privateGPT` 目录。克隆需要联网;这里展示的是视频中的历史项目布局。
在项目文件夹中,我使用 `pip install -r requirements.txt` 安装 Python 依赖,这可能需要一些时间。我将 `example.env` 重命名为 `.env`,并保留画面中显示的默认环境设置。Python 版本和依赖可能导致安装问题,当前仓库的设置说明也可能有所不同。

模型与文档导入
他下载历史版本的语言模型和嵌入模型,将源文件放入文档文件夹。导入步骤会创建本地数据库,可能大量占用 CPU。

2023 年的 README 列出了两个下载文件:GPT4All-J 语言模型 `ggml-gpt4all-j-v1.3-groovy.bin` 和嵌入模型 `ggml-model-q4_0.bin`。我创建 `models` 文件夹,将两个文件移入其中,使其与 `.env` 中的路径一致。下载模型和依赖需要联网;之后要离线运行,所有必需资源都必须已保存在本地。

我把要查询的文件放进 `source_documents`,其中已经有一份国情咨文示例文本。演示的版本支持文本、PDF 和 CSV。运行 `ingest.py` 会切分并处理文档,将其存入供检索使用的数据库,而不是用文档训练语言模型。

我从 VS Code 启动 `ingest.py`。这个过程会给 CPU 带来较大负荷,在我的机器上大约用了五分钟;具体时间取决于硬件和文档。完成后,我运行 `privateGPT.py`,输入问题,询问总统对俄罗斯说了什么。
运行查询
他启动应用并就示例演讲提问。回答包含检索到的来源摘录,应对照原文核查。

本地模型生成了一段关于俄罗斯在乌克兰的行动的回答,并展示示例演讲中的相关段落作为来源。摘录为读者提供了核对材料,但引用段落并不保证生成答案的每个细节都有依据。演示也没有独立验证其中所有说法。
安装时我遇到了 Python 模块和版本问题。其他人也可能遇到兼容性问题,尤其是在使用旧教程时。下载所需文件后,视频展示的特定本地配置旨在无需联网运行;实际隐私情况取决于所选后端、网络设置、本机安全和任何集成。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文