综合介绍
PrivateGPT是一个可用于生产环境的AI项目,允许用户在没有互联网连接的情况下,使用大型语言模型(LLMs)对文档进行问答。该项目确保100%的数据隐私,所有数据都在用户的执行环境中处理,不会泄露。PrivateGPT由Zylon团队开发,提供了一个API,支持构建私有、上下文感知的AI应用。该项目遵循并扩展了OpenAI API标准,支持普通和流式响应。PrivateGPT适用于需要高度数据隐私的领域,如医疗和法律。
类似项目:Kotaemon:简单部署的开源多模态文档问答工具
功能列表
- 文档摄取:管理文档解析、拆分、元数据提取、嵌入生成和存储。
- 聊天与完成:使用摄取文档的上下文进行对话和完成任务。
- 嵌入生成:基于文本生成嵌入。
- 上下文块检索:根据查询返回摄取文档中最相关的文本块。
- Gradio UI客户端:提供用于测试API的工作客户端。
- 批量模型下载脚本、摄取脚本、文档文件夹监视等工具。
使用帮助
安装流程
- 克隆仓库:首先,克隆PrivateGPT的GitHub仓库。
git clone https://github.com/zylon-ai/private-gpt.git
cd private-gpt
- 安装依赖:使用
pip
安装所需的Python依赖。
pip install -r requirements.txt
- 配置环境:根据需要配置环境变量和设置文件。
cp settings-example.yaml settings.yaml
# 编辑settings.yaml文件,配置相关参数
- 启动服务:使用Docker启动服务。
docker-compose up -d
使用文档问答功能
- 文档摄取:将需要处理的文档放入指定的文件夹中,运行摄取脚本。
python scripts/ingest.py --input-folder path/to/documents
- 问答交互:使用Gradio UI客户端进行问答交互。
python app.py
# 打开浏览器访问http://localhost:7860
高层API使用
- 文档解析和嵌入生成:使用高层API进行文档解析和嵌入生成。
from private_gpt import HighLevelAPI
api = HighLevelAPI()
api.ingest_documents("path/to/documents")
- 上下文检索和回答生成:使用高层API进行上下文检索和回答生成。
response = api.chat("你的问题")
print(response)
低层API使用
- 嵌入生成:使用低层API生成文本嵌入。
from private_gpt import LowLevelAPI
api = LowLevelAPI()
embedding = api.generate_embedding("你的文本")
- 上下文块检索:使用低层API进行上下文块检索。
chunks = api.retrieve_chunks("你的查询")
print(chunks)
工具集使用
- 批量模型下载:使用批量模型下载脚本下载所需模型。
python scripts/download_models.py
- 文档文件夹监视:使用文档文件夹监视工具自动摄取新文档。
python scripts/watch_folder.py --folder path/to/documents