30 秒看懂
在这期 2023 年 11 月的视频中,Matthew Berman 安装早期版本的 PrivateGPT,就上传的文档提问,并探索其 API。Iván Martínez 解释了本地处理的初衷,介绍团队当时希望添加的功能。视频包含 ServiceNow 赞助。 文中的命令和默认设置针对当时的版本。此后项目已有重大变化;安装前请查阅[当前文档](https://docs.privategpt.dev/introduction)。本地隐私取决于实际使用的模型、嵌入、存储及网络配置。
- 1本地运行取决于配置演示中的本地配置在下载所需资源后,将处理留在本机。其他集成则可能使用远程服务。
- 2当年的安装方法Berman 演示克隆仓库、创建环境和安装本地界面依赖。命令仅适用于视频展示的 2023 年版本。
- 3导入并查询论文界面导入一篇 AutoGen 论文,使用文档上下文回答问题。用户可以检查检索到的文本片段。
- 4项目为何而生Iván Martínez 讨论了企业不愿将敏感信息发送给外部模型服务商的顾虑,以及私有本地部署的吸引力。
- 52023 年的路线图Martínez 讨论了计划中的连接器、评估工具,以及使用云端模型和向量基础设施的部署方案。
要点建议
- PrivateGPT 结合文档导入、嵌入、检索和语言模型生成,利用提供的材料回答问题。
- 完全本地化需要推理、嵌入和存储都在本地进行;云端方案可能将数据发送给外部服务。
- 2023 年教程使用 Python 3.11 环境、Poetry、本地配置和下载的模型,如今的安装方法有所不同。
- 应将生成的回答与检索到的段落对照:答案看似合理,不能单独证明它来自文档。
- Martínez 介绍的连接器、评估和分布式部署计划属于 2023 年的路线图,不能保证这些功能如今已实现。
按章节阅读整理后的全文
PrivateGPT 的前景
Berman 介绍该项目的新版,以及本地和远程选项。视频包含 ServiceNow 赞助。
Matthew Berman 介绍 PrivateGPT 的一个新版本。这个项目让用户通过语言模型就文档内容提问。演示针对 2023 年 11 月的版本:此后代码仓库和安装流程都有变化,读者如今安装时应参考[项目当前文档](https://docs.privategpt.dev/introduction)。
它的吸引力在于可以将文档处理留在自己的电脑上。Berman 将最初较简单的版本与新版对比:新版更加模块化,提供 API,并允许替换组件。不过,本地运行取决于配置:选择远程模型、嵌入服务或数据库时,信息可能会离开本机。
视频由 ServiceNow 赞助。Berman 介绍了该公司的企业工作流产品 Now Assist;这项赞助与接下来的 PrivateGPT 安装和演示相互独立。
安装 2023 年版本
他克隆仓库,创建 Python 环境,安装界面和本地依赖。安装过程会下载模型和嵌入资源。
Berman 打开项目仓库并将其克隆到本机。他[公开的 2023 年安装笔记](https://gist.github.com/mberman84/9b3c281ae5e3e92b7e946f6a09787cde)记录了这里展示的命令,可供回顾视频使用,但不能替代当前文档。
演示中,他进入仓库目录,创建并激活一个使用 Python 3.11 的 Conda 环境。随后,他通过 Poetry 安装界面和本地依赖组,命令为 `poetry install --with ui,local`。Berman 逐步演示安装过程,没有假设观众已经准备好这些组件。

项目配置将语言模型、嵌入和向量存储等选项分开。运行安装脚本前,Berman 检查了这些设置。基础设置和所选配置都很重要:如果本地配置覆盖了基础配置文件中的值,后者就不一定是实际生效的值。

当年的安装命令 `poetry run python scripts/setup` 会下载模型和嵌入资源。演示使用 GGUF 格式的 Mistral 7B Instruct、BGE small 嵌入模型,以及用于本地向量存储的 Chroma。即使之后在本地运行推理和检索,下载资源时仍需要联网。
启动并探索界面
他讨论不同平台的加速方式并启动本地配置。界面提供文档查询、模型聊天和上下文检查功能。
Berman 讨论了 Windows 和 Mac 上的安装,并提到当年针对 Apple 硬件的 llama.cpp Metal 构建命令。硬件加速与软件包兼容性取决于版本和平台;应查看适用的安装说明并排查错误,不要认为构建警告或失败都无关紧要。
他使用 `PGPT_PROFILES=local make run` 启动 2023 年的本地配置,在 8001 端口打开本地网页界面。演示界面分别提供文档聊天、模型聊天和查看相关上下文的模式。这些历史命令和界面细节可能不适用于当前版本。

测试文档并查看 API
Berman 导入一篇 AutoGen 论文和一本书的 PDF,然后查看 API 端点。这些例子展示了检索过程,也说明了核对来源的必要性。
为了测试文档聊天,Berman 上传一篇关于 AutoGen 的论文并等待导入。系统将文档分成多个片段,生成并存储嵌入,以便在提问时检索相关段落。他请求一份摘要,并查看系统根据材料生成的回答。
上下文模式让检索步骤变得可见:用户不只看到最终答案,还可以检查从文档中选出的段落。这有助于判断系统检索的材料是否确实支持回答;不过,检索和生成仍可能出错。
他还上传了一份 Harry Potter 的 PDF 并就其内容提问。对一本广为人知的书给出流畅或正确的回答,不能单独证明答案来自上传文件,因为模型可能早已接触过相关信息。应检查返回的上下文,并与原文对照。
除了网页界面,Berman 还打开 API 文档,指出用于导入文档、列出文档和请求生成结果的端点。这个开发者接口旨在让应用无需依赖演示界面,也能使用文档处理流程。
Iván Martínez 谈隐私与路线图
项目创建者介绍使用本地模型的动机,并概述截至 2023 年计划中的连接器、评估和部署选项。
Berman 请来 PrivateGPT 创建者 Iván Martínez,简短讨论这个项目。Martínez 说,他看到一些组织不愿把信息发送给外部 AI 服务。在自己控制的硬件上运行开放模型和检索工具,可以降低这些组织开展实验的门槛。
Martínez 表示,所需依赖和模型准备好之后,本地配置可以在没有网络连接的情况下运行。这有助于保护隐私,但并不自动构成保障:用户仍需检查实际使用的模型与嵌入服务商、存储的文件和日志、访问控制以及网络暴露情况。
展望 2023 年之后的发展,Martínez 讨论了接入更多数据源,以及简化摘要、信息提取等工作流。他还提到可观测性和评估,以便开发者了解并衡量应用表现。这些是访谈中描述的计划,不能据此认定每项功能都已按所述方式推出。
他还设想在云实例上部署,以及采用更分布式的方案,例如使用 SageMaker 等托管模型服务和外部向量数据库。这些选项有助于扩展应用规模,但也会改变隐私边界:远程组件可能接收数据。Berman 最后感谢 Martínez,并引导观众了解该项目。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文