在人工智能 (AI) 和自然语言处理 (NLP) 领域,隐私通常是一个基本问题,尤其是在处理敏感数据时。PrivateGPT 是这一领域的突破性发展,正面解决了这个问题。它旨在在没有互联网连接的情况下在本地运行,通过防止数据离开您的执行环境来确保完全隐私。
什么是私有 GPT?
PrivateGPT 是一种创新工具,它将 GPT-4 强大的语言理解能力与严格的隐私措施相结合。利用 LangChain、GPT4All、LlamaCpp、Chroma 和 SentenceTransformers 的优势,PrivateGPT 允许用户完全在本地与 GPT-4 进行交互。让我们深入研究设置 PrivateGPT 的细节以及如何有效地使用它。
设置 PrivateGPT:分步
设置 PrivateGPT 主要包括两个步骤:安装要求和配置环境。首先,确保您的计算机上安装了 Python 3.10 或更高版本。
第一步:安装依赖
pip3 install -r requirements.txt
第 2 步:下载语言学习模型 (LLM) 并将其放置在您选择的目录中。默认模型是ggml-gpt4all-j-v1.3-groovy.bin
. 但是,可以使用任何 GPT4All-J 兼容模型。
第 3 步:重命名example.env
并.env
编辑环境变量:
MODEL_TYPE
:指定 LlamaCpp 或 GPT4All。PERSIST_DIRECTORY
:设置矢量存储的文件夹。MODEL_PATH
: 提供你的 LLM 的路径。MODEL_N_CTX
:确定 LLM 模型的最大令牌限制。EMBEDDINGS_MODEL_NAME
:指定 SentenceTransformers 嵌入模型名称。TARGET_SOURCE_CHUNKS
:确定将用于回答问题的块数。
随着环境的建立,我们现在可以继续摄取数据。
使用 PrivateGPT 摄取数据
PrivateGPT 支持各种文件类型,从 CSV、Word 文档到 HTML 文件等等。以下是您摄取自己的数据的方式:
第 1 步:将文件放入source_documents
目录
第二步:运行ingest.py
脚本处理所有数据
python ingest.py
该脚本在文件夹中创建一个本地嵌入数据库db
。每个文档大约需要 20-30 秒,具体取决于文档大小。
与 PrivateGPT 交互
现在,让我们深入探讨如何使用 PrivateGPT 在本地对文档提问:
第 1 步:运行privateGPT.py
脚本:
python privateGPT.py
第 2 步:出现提示时,输入您的查询。
在 20-30 秒内,根据您机器的速度,PrivateGPT 使用 GPT-4 模型生成一个答案,并提供它从您的文档中使用的来源来创建响应。
释放 PrivateGPT 的力量:底层机制
PrivateGPT 的隐私保护本地操作由强大工具的组合提供支持。ingest.py
利用 LangChain 工具解析文档,使用 HuggingFaceEmbeddings(SentenceTransformers 的一部分)创建本地嵌入。生成的嵌入存储在具有色度矢量存储的本地矢量数据库中。
privateGPT.py
使用本地 LLM——GPT4All-J 或 LlamaCpp——来理解用户查询并制作合适的响应。本地向量存储用于提取这些响应的上下文,利用相似性搜索从摄取的文档中找到相应的上下文。
系统要求和故障排除
PrivateGPT 的系统先决条件包括 Python 3.10 或更高版本。在 pip 安装过程中,如果出现 C++ 编译器错误,则会提供适用于 Windows 10/11 和运行 Intel 的 Mac 的安装说明。
您可以在此处访问 PrivateGPT GitHub(在新标签页中打开).
结论
PrivateGPT 证明了强大的人工智能语言模型(如 GPT-4)与严格的数据隐私协议的融合。它为用户提供了一个安全的环境来与他们的文档进行交互,确保没有数据被外部共享。无论您是 AI 爱好者还是注重隐私的用户,PrivateGPT 都为保护隐私的 AI 应用程序开辟了新的可能性。