转载自:AIGC创想者
PrivateGPT是一个基于大型语言模型(LLMs)的应用程序接口(API),它允许用户在无网络连接的情况下对文档进行提问。
该工具注重隐私保护,可以部署在本地,100%实现私有化,确保数据隐私性,保证所有数据始终保持在用户的执行环境中,不对外泄露。
PrivateGPT项目提供了一个API,包括构建私有、情境感知AI应用所需的所有基本组件,并遵循并扩展了OpenAI API标准,支持正常响应和流式响应。
在高度关注数据安全性的行业,如医疗保健或法律领域中,公司需要确保使用AI工具时数据完全可控。
对于希望在离线环境下使用类似于chatGPT的本地聊天工具的企业或个人。
可以查阅官方详细文档(https://docs.privategpt.dev/)获取关于安装、依赖、配置、运行服务器、部署选项、本地文档摄入以及API细节和UI功能的完整指南。
克隆PrivateGPT的GitHub仓库并进入该目录:
安装Python 3.11,推荐使用python版本管理器如pyenv进行安装。早期版本的Python不支持。
安装依赖管理工具Poetry。
安装make工具以运行不同的脚本。
根据你的需求选择合适的模块组合来定制安装。例如,可以选择LLM(大语言模型)类型、Embeddings类型、Vector stores类型以及是否启用UI(Gradio)。
使用Poetry通过extras选项仅安装所需依赖项。例如,对于一个基于Ollama的本地全栈设置,可以执行:
本地、基于Ollama的设置
这是最简单的本地运行方式,依赖于Ollama提供的LLM和Embeddings服务。
你需要访问ollama.ai并按照指示安装Ollama,并确保Ollama桌面应用关闭后,安装并拉取所需的模型数据。
之后启动Ollama服务,并在另一终端中安装并运行PrivateGPT。
私有、基于Sagemaker的设置
如果需要高性能,则可以依赖AWS Sagemaker为LLM和Embeddings提供服务。
你需要拥有Sagemaker推理端点的访问权限,并正确配置AWS凭据。
编辑settings-sagemaker.yaml文件添加正确的端点信息,然后安装并运行PrivateGPT。
非私有、基于OpenAI或Azure OpenAI的测试设置
若要使用OpenAI或Azure OpenAI的LLM和Embeddings(注意数据将发送至这些平台),请根据文档中的指南配置API密钥和端点,然后安装并运行PrivateGPT。
本地、基于Llama-CPP的设置
如果希望完全本地运行且不依赖Ollama,可选用此方案。但请注意,Llama-CPP的安装可能较为复杂,需要安装特定的C++编译器以及针对GPU支持的额外配置。
以上每个设置的具体命令行操作已在参考资料中详细列出,务必确保在运行PrivateGPT之前满足所有先决条件。
成功安装并运行后,用户界面通常可以通过http://localhost:8001访问。
PrivateGPT通过FastAPI构建,包含两个逻辑块:
高级API抽象了RAG(检索增强生成)的所有复杂流程的实现,包括:
文档处理:在内部管理文档的解析、分割、元数据提取、嵌入生成和存储。
基于已提取文档上下文的聊天与补全功能,抽象了上下文检索、提示工程化和响应生成过程。
低级API则允许高级用户实现他们自己的复杂流程,例如:
文本嵌入生成:基于一段文本生成嵌入向量。
上下文片段检索:给定查询时,从已提取的文档中返回最相关的文本片段。
此外,项目提供了一个用于测试API的Gradio UI客户端。同时,还提供了一套实用工具,例如批量模型下载脚本、文档摄入脚本、文档夹监控工具等。
总之,PrivateGPT致力于让开发者更容易地构建AI应用程序和体验,同时也为社区提供了一个适合扩展和贡献的架构平台。
Github地址: https://github.com/imartinez/privateGPT
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。