localGPT 可使用 GPT 模型在本地设备上进行聊天,数据在本地运行,且 100% 保密。
这个项目的灵感来自于最初的privateGPT。
这个模型用 Vicuna-7B 模型替换了 GPT4ALL 模型,使用 InstructorEmbeddings 而不是原始 privateGPT 中使用的 LlamaEmbeddings。Embeddings 和 LLM 都将在 GPU 而不是 CPU 上运行。
如果您没有 GPU,也有 CPU 支持(请参阅下面的说明)。
使用 LLM 的强大功能,无需互联网连接就可以对文档提出问题。100% 私有,任何时候都没有数据离开执行环境。可以在没有互联网连接的情况下提取文档和提问!
使用 LangChain 和 Vicuna-7B 以及 InstructorEmbeddings 构建
环境设置
为了设置您的环境以在此处运行代码,首先安装所有要求:
pip install -r requirements.txt
摄取自己的数据集
将所有 .txt、.pdf 或 .csv 文件放入 load_documents() 函数中的 SOURCE_DOCUMENTS 目录,将 docs_path 替换为 source_documents 目录的绝对路径。
当前默认文件类型为 .txt、.pdf、.csv 和 .xlsx,如果您想使用任何其他文件类型,您需要将其转换为默认文件类型之一。
运行以下命令以摄取所有数据。
python ingest.py
它将创建一个包含本地 vectorstore 的索引。需要时间,具体取决于文档的大小。您可以摄取任意数量的文档,所有文档都将累积在本地嵌入数据库中。如果要从空数据库开始,请删除index
.
注意:当您第一次运行它时,下载需要时间,因为它必须下载嵌入模型。在后续运行中,没有数据会离开本地环境,并且可以在没有互联网连接的情况下运行。
在本地对您的文件提出问题!
要提出问题,请运行如下命令:
python run_localGPT.py
并等待脚本要求您输入。
> Enter a query:
点击进入。等待 LLM 模型使用提示并准备答案。完成后,它将打印答案和用作文档上下文的 4 个来源;然后您可以问另一个问题而无需重新运行脚本,只需再次等待提示即可。
注意:第一次运行时,需要连接互联网才能下载 vicuna-7B 模型。之后您可以关闭互联网连接,脚本推理仍然有效。没有数据会从您的本地环境中泄露出来。
键入exit
以完成脚本。
评论