开源模型 PrivateGPT

 PrivateGPT 处于概念验证(PoC)阶段,至少证明可以完全在本地创建类似于 ChatGPT 的大模型,可以预见这种 PoC 转换为实际产品之后的潜力,可以让公司访问个性化、安全和私密的 ChatGPT 来提高生产力。

GitHub 页面链接,感兴趣的用户可以点击阅读。

在没有互联网连接的情况下,使用LLM的力量对您的文档提出问题。 100%私有,任何时候都没有数据离开您的执行环境。您可以在没有互联网连接的情况下摄取文档和提问!

使用LangChainGPT4AllLlamaCppChromaSentenceTransformers构建。

236942256-985801c9-25b9-48ef-80be-3acbb4575164

环境设置

为了设置您的环境以运行此处的代码,请首先安装所有要求:

pip3 install -r requirements.txt

然后,下载LLM模型并将其放在您选择的目录中:

  • LLM:默认为 ggml-gpt4all-j-v1.3-groovy.bin。如果您更喜欢不同的 GPT4All-J 兼容型号,只需下载它并在您的文件中引用它。.env

将模板复制到example.env.env

cp example.env .env

并在文件中适当地编辑变量。.env

MODEL_TYPE: supports LlamaCpp or GPT4All
PERSIST_DIRECTORY: is the folder you want your vectorstore in
MODEL_PATH: Path to your GPT4All or LlamaCpp supported LLM
MODEL_N_CTX: Maximum token limit for the LLM model
MODEL_N_BATCH: Number of tokens in the prompt that are fed into the model at a time. Optimal value differs a lot depending on the model (8 works well for GPT4All, and 1024 is better for LlamaCpp)
EMBEDDINGS_MODEL_NAME: SentenceTransformers embeddings model name (see https://www.sbert.net/docs/pretrained_models.html)
TARGET_SOURCE_CHUNKS: The amount of chunks (sources) that will be used to answer a question

注意:由于加载嵌入的方式,第一次运行脚本时,需要互联网连接才能下载嵌入模型本身。langchainSentenceTransformers

测试数据集

此存储库使用联合状态脚本作为示例。

引入自己的数据集的说明

将任何和所有文件放入目录中source_documents

支持的扩展包括:

  • .csv:.CSV
  • .docx:文字文档,
  • .doc:文字文档,
  • .enex:印象笔记,
  • .eml:电子邮件
  • .epub: EPub,
  • .html: HTML 文件,
  • .md: 降价,
  • .msg: 展望消息,
  • .odt:打开文档文本,
  • .pdf: 便携式文档格式 (PDF),
  • .pptx:幻灯片文档,
  • .ppt:幻灯片文档,
  • .txt: 文本文件 (UTF-8),

运行以下命令以引入所有数据。

python ingest.py

输出应如下所示:

Creating new vectorstore
Loading documents from source_documents
Loading new documents: 100%|██████████████████████| 1/1 [00:01<00:00,  1.73s/it]
Loaded 1 new documents from source_documents
Split into 90 chunks of text (max. 500 tokens each)
Creating embeddings. May take some minutes...
Using embedded DuckDB with persistence: data will be stored in: db
Ingestion complete! You can now run privateGPT.py to query your documents

它将创建一个包含本地向量存储的文件夹。每个文档需要 20-30 秒,具体取决于文档的大小。 您可以根据需要引入任意数量的文档,所有文档都将累积在本地嵌入数据库中。 如果要从空数据库开始,请删除该文件夹。dbdb

注意:在摄取过程中,没有数据离开您的本地环境。您可以在没有 Internet 连接的情况下进行摄取,但首次运行采集脚本时下载嵌入模型除外。

在本地对您的文件提出问题!

要提出问题,请运行如下命令:

python privateGPT.py

并等待脚本需要您的输入。

> Enter a query:

按回车键。您需要等待 20-30 秒(具体取决于您的计算机),而 LLM 模型会使用提示并准备答案。完成后,它将打印答案和它用作文档中上下文的 4 个来源;然后,您可以提出另一个问题而无需重新运行脚本,只需再次等待提示即可。

注意:您可以关闭互联网连接,脚本推理仍然有效。没有数据流出您的本地环境。

键入以完成脚本。exit

命令行界面

该脚本还支持可选的命令行参数来修改其行为。您可以通过在终端中运行命令来查看这些参数的完整列表。python privateGPT.py --help

它是如何工作的?

选择正确的本地模型和强大的功能可以在本地运行整个管道,而无需任何数据离开环境,并且性能合理。LangChain

  • ingest.py使用工具解析文档并使用 () 在本地创建嵌入。然后,它使用向量存储将结果存储在本地矢量数据库中。LangChainHuggingFaceEmbeddingsSentenceTransformersChroma
  • privateGPT.py使用基于OR的本地LLM来理解问题并创建答案。答案的上下文是使用相似性搜索从本地向量存储中提取的,以从文档中找到正确的上下文。GPT4All-JLlamaCpp
  • GPT4All-J包装器是在 LangChain 0.0.162 中引入的。

系统要求

Python Version

要使用此软件,您必须安装 Python 3.10 或更高版本。早期版本的 Python 将无法编译。

C++编译器

如果在构建轮子的过程中遇到错误,则可能需要在计算机上安装C++编译器。pip install

对于Windows 10/11

若要在 Windows 10/11 上安装 C++ 编译器,请执行以下步骤:

  1. 安装 Visual Studio 2022。
  2. 确保选择了以下组件:
    • 通用Windows平台开发
    • C++ 适用于Windows的CMake工具
  3. MinGW网站下载MinGW安装程序
  4. 运行安装程序并选择组件。gcc

运行英特尔的 Mac

当运行带有英特尔硬件(不是 M1)的 Mac 时,您可能会遇到 clang: 错误:在 pip 安装期间,clang 编译器不支持“-march=native”。

如果是这样,请在 pip 安装期间设置您的主旗。例如:ARCHFLAGS=“-arch x86_64” pip3 install -r 要求.txt

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun238366.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2023年6月25日
下一篇 2023年6月25日

相关推荐

  • 我们更有效地搜索 Google Drive 文件的 6 大技巧

    无论您是否订阅了 Google One,您的 Google 云端硬盘中都可能有一堆文件。Google 文档、电子表格、幻灯片以及共享文件等所有内容最终都会进入 Google 云端硬…

    2024年4月25日 谷歌Google
  • 如何在Google云端硬盘上打开深色模式

    从黑暗的网页到浅色的网页可能会导致非常粗鲁的觉醒。幸运的是,Google Drive 允许您为网络配置其外观以及适用于 Android 的应用程序。以下是为 Google 云端硬盘…

    2024年4月25日 谷歌Google
  • 在iPhone上观看视频时亮度更改为自动亮度:修复

    在 iPhone 上观看视频时,您的 iPhone 是否会自动更改亮度?通常,iPhone本身不会干扰屏幕亮度水平。但是,在某些情况下,亮度级别可能会自行变化。在这种情况下,这些解…

    2024年4月24日 苹果Apple
  • 应用程序无法在iPhone中打开:如何修复

    您的 iPhone 上无法打开应用程序吗?与其他平台一样,iOS 上的应用程序可能会在启动时突然崩溃。如果应用程序在初始启动时崩溃一次或两次,这并不罕见。如果您在使用Beta应用程…

    2024年4月24日 苹果Apple
  • iPhone中缺少Safari:这是修复程序

    无法想象没有 Safari 的 iPhone。由于 Safari 是所有 Apple 设备中的默认浏览器,因此缺少 Safari 浏览器对您来说可能是一个问题。由于缺少默认浏览器,…

    2024年4月24日 苹果Apple
  • iCloud存储已满通知:如何修复

    每当您下载某些文件或空投某些内容时,您的iPhone是否显示“iCloud存储空间已满”?iCloud 储存空间的免费套餐限制为仅 5GB。因此,您应该检查的第一件事是手机上iCl…

    2024年4月24日 苹果Apple
  • 请勿打扰模式在iPhone中不起作用:修复

    即使在“请勿打扰”模式下接听电话也可能是一种非常烦人的体验。顾名思义,请勿打扰模式可关闭来自邮件、消息等的所有来电通知和警报。您可以按照这些解决方案集进行修复。 修复1 –启用对焦…

    2024年4月24日 苹果Apple
  • 键盘点击声音在iPhone上不起作用:修复

    iPhone 最好的一点是手机上的触觉。在输入消息时,那些微小的振动刺痛手指的感觉在任何其他设备上都无法体验到。因此,如果咔嗒声不起作用,或者您没有从 iPhone 的键盘中获得振…

    2024年4月24日 苹果Apple
  • iPhone上的通话不断掉线:如何修复

    您的 iPhone 上的所有电话都不断掉线吗?通话中断在iPhone上并不是什么新鲜事,偶尔也会在任何其他移动设备上发生。但是突然所有通话都开始自动断开连接,手机上的通话设置一定有…

    2024年4月23日 苹果Apple
  • 无法允许访问 iPhone 中的摄像头和麦克风

    您在尝试使用应用程序时是否收到“无法允许访问摄像头和麦克风”?通常,您可以在需要提供的基础上向特定对象授予摄像头和麦克风权限。但是,如果您拒绝权限,摄像头和麦克风将无法工作,而是显…

    2024年4月23日 苹果Apple
  • 无法在iPhone上更改Apple ID国家/地区:修复

    更改 Apple ID 上的国家或地区可能非常棘手。在很多情况下,您无法更改Apple ID的区域。我们已经讨论了所有这些条件及其各自的解决方案,以便您最终可以在 iPhone 上…

    2024年4月19日 苹果Apple
  • iPhone中的Safari 403禁止错误:修复

    你得到“403.这是个错误。Safari 中的消息?Safari可能会抛出此消息的原因有很多,而其中一个关键原因是存储的网站缓存和cookie。无论实际原因是什么,您都不必识别它即…

    2024年4月19日 苹果Apple
  • iPhone自行阻止联系人:修复

    您的 iPhone 是否自行阻止了手机上的某些联系人?这对您来说可能是一个巨大的问题,因为该人将无法以任何方式与您联系。您甚至不会意识到此人已被阻止,因为不会有任何类型的通知。解决…

    2024年4月19日 苹果Apple
  • Safari无法在iPhone上下载文件:如何修复

    无法在 Safari 浏览器上下载任何内容?不用担心。使用Safari下载文件通常很容易,下载过程取决于几个与网络相关的参数。有时下载过程会失败,您所要做的就是重试下载文件。但是,…

    2024年4月19日 苹果Apple
  • 如何修复iPhone上的黑屏问题

    您的 iPhone 屏幕是黑色的,但手机处于开启状态,所有其他功能都运行良好——在这种情况下,您可以做的事情并不多。但是,与iPhone的其他问题一样,您可以应用一些解决方案来解决…

    2024年4月19日 苹果Apple
  • 自动更正/预测文本在iPhone上不起作用:修复

    本机自动更正/预测文本可以帮助您随时随地修复错别字和语法错误。但是,当该功能无法正常工作时,您最终可能会发送充满错误的消息。无论您是经常发送消息还是使用手机只是为了让您的 Offi…

    2024年4月19日 苹果Apple
  • iPhone卡在黑屏纺车上:修复

    您的iPhone是否只停留在漆黑的屏幕上,屏幕上只有一个旋转的轮子?如果是这种情况,您可以尝试某些修复程序。首先,您必须尝试强制启动iPhone。这应该足以解决问题并解决它。 如何…

    2024年4月19日
  • iPhone上的Safari缩小问题:这是修复程序

    如果您无法控制 Safari 中的缩放级别,完成工作可能会非常棘手。因此,如果 Safari 看起来被缩小了,那对您来说可能会有问题。您可以通过以下几种方法解决Safari中的此缩…

    2024年4月19日 苹果Apple
  • iPhone通话直接进入语音信箱:修复

    您的电话是否直接转到语音信箱而不是拨打电话?语音邮件可以节省您的一天,同时记录您无法接听的电话中的重要消息。但是,如果所有电话都没有响铃并直接进入语音信箱,那么这是一个真正的问题,…

    2024年4月19日
  • 如何在 Google 云端硬盘中导出 Play 图书笔记、精彩内容和书签

    Play Books 是 Kindle 应用程序更易于访问的替代品之一。它不仅允许在没有任何中间步骤的情况下打开 EPUB 文件,就像 Kindle 一样,它还允许您更简单地导出注…

    2024年4月19日 谷歌Google
  • 如何与Google相册共享

    Google 相册提供了多种分享照片、视频和相册的方式。有些允许与您的 Google 联系人共享,有些允许您普遍共享,而另一些则仍邀请协作或自动共享。以下是在 Google 相册中…

    2024年4月18日 谷歌Google
  • 如何在iPhone响铃时阻止iPad响铃

    每当有人在您的 iPhone 上呼叫您时,您的 iPad 是否会响铃?在几乎所有情况下,Apple 生态系统中连续性功能的好处通常都会有所帮助。但是,如果您的iPad开始响铃,即使…

    2024年4月17日 苹果Apple
  • 如何在iPhone中使Google地图成为默认地图

    iPhone 上的默认地图是 Apple 专有的地理位置提供商“地图”。尽管地图越来越好,但它在美国以外的地区运行不佳。与谷歌地图相比,它没有什么可以提供的。在本文中,我们讨论了使…

    2024年4月17日 苹果Apple
  • 无法检查iPhone中的更新错误:修复

    在iPhone上检查更新时,您是否收到此错误消息“无法检查更新”消息?通常,当您在手机脱机时手动搜索更新时,会出现此消息。因此,我们建议您启用 Wi-Fi/蜂窝数据并再次执行相同的…

    2024年4月17日 苹果Apple
  • 如何在iPhone中撤消从主屏幕中删除

    从主屏幕中删除了重要内容并试图将其取回?您可以通过多种方式将应用程序图标放回屏幕。我们已经讨论了您可以遵循的所有方法,并将应用程序图标放回主屏幕 如何在iPhone中撤消从主屏幕中…

    2024年4月17日 苹果Apple