slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
PrivateGPT:本地离线运行的强大“ChatGPT”
17611538698
webmaster@21cto.com

PrivateGPT:本地离线运行的强大“ChatGPT”

人工智能 38 4202 2023-06-01 12:09:27

图片

导读:现在开发者可以下载GPT模型,并使用 Python 查询本地文件,而无需将任何数据发送到云端。

PrivateGPT 是一项使用Python开发的独特技术与服务,这让开发者无需任何编码或技术知识即可构建自己的个性化 GPT-4 模型。在这篇文章中,我为大家介绍 PrivateGPT,解释它是如何工作的,以及如何将它用于个人或公司项目。

它可以让开发者立即使用 LLM 的强大功能,无需互联网连接就可以对文档提问。100% 私有化部署,任何时候都没有数据泄漏到外部执行环境。即开发者可以在没有互联网连接的情况下提取文档与实时提问。

PrivateGPT 是一个新名词,它指的是生成式 AI 模型(例如 ChatGPT)的另一款产品以及解决方案,用来保护用户及其数据隐私的方式。PrivateGPT 是一种工具,可以在将用户提示中的敏感信息发送到 ChatGPT 之前对其进行编辑,然后在答案中恢复信息。另外还有 privategpt.io 的 PrivateGPT,它也是一个聊天机器人,可以连接到各种数据源,例如 Notion、JIRA、Slack、GitHub 等产品,并根据这些来源知识提供问题的答案;第三个例子是 imartinez 的 privateGPT.py,它是一个脚本,它用基于 GPT4All-J 的本地语言模型与本地向量存储的文档进行交互。

PrivateGPT 设置起来非常简单,我们分别来讲解。

环境设置

准备运行上述代码的环境,请先安装以下必备组件:

pip install -r requirements.txt

然后将 example.env 重命名为 .env,并请适当修改一些变量的值。

文件内容如下:

MODEL_TYPE: supports LlamaCpp or GPT4AllPERSIST_DIRECTORY: is the folder you want your vectorstore inLLAMA_EMBEDDINGS_MODEL: Path to your LlamaCpp supported embeddings modelMODEL_PATH: Path to your GPT4All or LlamaCpp supported LLMMODEL_N_CTX: Maximum token limit for both embeddings and LLM models


下载LLM文件

然后下载两个模型文件,并将它们保存在比如models目录中(请务必同步更改.env中的模型路径):

LLM:默认文件为 ggml-gpt4all-j-v1.3-groovy.bin(https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin),大概约10G大小。如果喜欢不同的 GPT4All-J 兼容模型,只需下载它,并在 .env 文件中引用。

Embedding:默认文件为 ggml-model-q4_0.bin(https://huggingface.co/Pi3141/alpaca-native-7B-ggml/resolve/397e872bf4c83f4c642317a5bf65ce84a105786e/ggml-model-q4_0.bin)。

如果你还有其它不同的嵌入模型,下载并在 .env 文件中引用它即可。

复制文件

先克隆PrivateGPT仓库到本地。

图片

测试查询数据集

本例的 repo 使用 state of the union transcript(地址:https://github.com/imartinez/privateGPT/blob/main/source_documents/state_of_the_union.txt) 。

python ingest.py

运行“ingest.py”脚本,这可能需要一段时间。不过在我这台 MacBook M1 上是 2 分钟。

这样在本地,就可以对该文件提出相关问题。要提出问题,请使用以下命令:

python privateGPT.py

然后等待脚本回复给我们问题反馈。如下显示 :

> Questtion:

回车键后,等待 20-30 秒。此时 LLM 模型会接收提示并开始准备响应,之后它回复响应,它会使用文档上下文的来源做分析处理;用户可以继续问另一个问题,无需重新运行脚本,再次等待它返回提示即可。

值得一提的是,你可以禁用互联网连接,脚本和推理仍然可以运行。没有数据会被发送到外部环境。

以下是运行 `privateGPT.py` 脚本的实例,在终端中显示提问:

我问它美国总统对乌克兰局势有何看法,它给了我一个概要以及文件中信息的来源。

图片

想要结束脚本运行,输入 『exit』 即可完成。

相当的干净!


作者:场长

评论