LocalGPT 是一个允许您使用 GPT 模型与本地设备上的文档进行通信的项目。没有数据离开您的智能手机,而且它是完全私密的。借助 LLM 的强大功能,您可以在没有在线连接的情况下利用 LocalGPT 对您的文档提出问题。LocalGPT 由 LangChain、Vicuna-7B 和 Instructor Embeddings 组成。
随着企业产生更多数据,对安全、可扩展且用户友好的文档管理系统的需求将会增加。LocalGPT是一项有趣的新技术,可以帮助企业应对这些困难。我们将在本文中为您提供有关 LocalGPT 的分步教程。
先决条件
- 执行 LocalGPT 需要 Python 3.10 或更高版本。它与以前版本的 Python 不兼容。
- 在 pip 安装过程中可能需要 C++ 编译器生成轮子,这可能会导致出现错误消息。
- 对于 Windows 10 和 11
- 要在 Windows 10/11 上安装 C++ 编译器,请执行以下操作:
- 安装 Microsoft Visual Studio 2022。
- 确保包含以下元素:
- 适用于通用 Windows 平台的 C++ CMake 开发工具
- 可以从 MinGW 网站下载 MinGW 安装程序。
- 开始设置并选择“gcc”组件。
环境配置
要运行提供的代码,您必须首先安装以下先决条件:
pip install -r requirements.txt
测试数据集
输入您自己的数据集的说明。
将所有 .txt、.pdf 或 .csv 文件放入方法中的 SOURCE_DOCUMENTS 目录中load_documents()
,将 替换docs_path
为目录的绝对路径source_documents
。
当前默认的文件类型为.txt、.pdf、.csv 和.xlsx;如果您想使用另一种文件类型,则必须将其转换为一种默认文件类型。
要摄取所有数据,请执行以下命令。
python ingest.py # defaults to cuda
要指定特定设备,请使用设备类型选项。
python ingest.py --device_type cpu
有关受支持设备的完整列表,请使用帮助。
python ingest.py --help
它将生成一个包含本地向量存储的索引。根据您的论文大小,这将需要一些时间。您可以上传任意数量的文档,它们都将存储在本地嵌入数据库中。如果您希望从空数据库开始,请删除索引。
注意:第一次运行它会花费更长的时间,因为必须下载嵌入模型。之后,它将在本地运行,无需互联网连接。
文档相关问题
要提出问题,请使用以下命令:
python run_localGPT.py
并等待脚本询问您的输入。
> Enter a query:
输入查询 按回车键。LLM 模型将分析提示并产生答案。它还将显示用作上下文的文档中的四个来源。您可以提出更多问题而无需重新启动脚本。只需等待提示再次出现即可。
注意:当你第一次运行这个脚本时,它会从互联网上下载 vicuna-7B 模型。然后,您可以在运行脚本推理的同时断开互联网连接。您的数据保留在您的直接环境中。
要完成脚本,请键入 exit。
使用 CPU 运行脚本
ingest.py
默认情况下,localGPT 中的 和脚本run_localGPT.py
可以使用您的 GPU。这使他们跑得更快。如果你只有一个 CPU,你仍然可以执行它们,但它们会更慢。为此,请将--device_type
cpu 添加到两个脚本。
运行以下摄取测试:
python ingest.py --device_type cpu
要提出问题,请使用以下命令
python run_localGPT.py --device_type cpu
怎么运行的
使用正确的本地模型和 LangChain 的功能,您可以在本地运行完整的管道,而不会让任何数据离开您的环境,并且具有可观的性能。
ingest.py
使用 LangChain 工具分析文档并使用 InstructorEmbeddings 创建本地嵌入。然后使用色度矢量存储将结果保存在本地矢量数据库中。
run_localGPT.py
理解查询并使用本地 LLM(本例中为 Vicuna-7B)生成回复。回复的上下文是通过相似性搜索从本地向量存储中收集的,该搜索从文档中找到适当的信息。
这个本地 LLM 可以与 Hugging Face 中的任何其他 LLM 交换。确保您选择的 LLM 是 HF 格式。
使用 LocalGPT 的好处
采用 LocalGPT 进行文档管理有很多优势,例如:
益处 | 描述 |
---|---|
减少延迟 | 消除与远程服务器的网络通信,从而加快响应时间。 |
数据隐私和安全 | 通过将模型和信息保存在本地,提供对数据隐私和安全的更多控制。 |
离线可用性 | 允许在没有活动互联网连接的情况下使用该模型,使其适用于离线或低连接性场景。 |
成本效益 | 避免与基于云的 API 的基于使用的定价相关的潜在成本,使其在大批量使用时更具成本效益。 |
定制和控制 | 允许使用模型超参数和架构进行定制、微调和试验以满足特定要求。 |
离线开发和测试 | 促进离线开发和测试,在不依赖外部服务或互联网连接的情况下实现快速迭代和试验。 |
资源管理 | 提供基于特定需求管理计算资源(CPU、内存、GPU)的灵活性,优化性能和资源分配。 |
另请阅读:有关聊天机器人的更全面概述, 请参阅我们的指南如何使用 OpenChat 使用 LLM 创建自定义聊天机器人
结论
最后,LocalGPT 的高级自然语言处理功能有望改变文档管理。它通过提供快速信息检索、改进协作和确保数据隐私来为跨学科用户提供支持。拥抱 LocalGPT,充分发挥文档存储库在数字时代的潜力。请随时在下面的评论部分分享您的想法和反馈。
原创文章,作者:网贝WebBay,如若转载,请注明出处:https://www.webbay.cn/localgpt-the-future-of-document-management