GPT应用_PrivateGPT

项目地址:https://github.com/imartinez/privateGPT

1 功能

1.1 整体功能,想解决什么问题

搭建完整的 RAG 系统,与 FastGPT 相比,界面比较简单。但是底层支持比较丰富,可用于知识库的完全本地部署,包含大模型和向量库。适用于保密级别比较高,或者完全不想使用收费模型和服务的情况。

1.2 当前解决了什么问题,哪些问题解决不了

PrivateGPT 提供了整体转换、入库、存储、匹配、合成答案,图形界面的解决方案,并提供图形界面用于检索操作

RAG 所面对的问题,比如不够准确,多文档组合生成答案 这些问题,需要进一步细化工具,似乎不能通过架构来解决。另外,由于多数本地部署的模型效果与 ChatGPT 差距比较大,这里只是看到了本地部署的架构和实现的可能性,部署后用户是否能接受其效果,还待验证。

1.3 提供哪些功能点,其中哪些是刚需

核心功能是通过简单的操作,实现对本地文件的检索和问答,功能相对单一

1.4 用户使用难度,操作逻辑是否过于复杂

整体工具链使用了 poetry 构建,安装相对方便。但由于包含了深度学习库,肯定比一般项目复杂很多,安装时间长,占空间大

Dockerfile 如果写得有一点问题(频繁更新,难免有错),就会面临至少部分内容重新下载打包的问题。另外,由于可插拔的选项比较多,还需要用户进一步设置

2 技术栈

2.1 技术栈是什么:
  • PrivateGPT 不是一个用大量代码实现具体功能的项目,相反,它尽量使用现有工具,主要提供架构,组织现有方法,以实现功能。
2.2 现有底层工具消化了哪些常用功能
  • pytorch & cuda 本地支持深度学习模型,因此 image 也较大
  • llamaindex 文档的转换和管理
  • sentence-transformers 文本匹配
  • FastAPI 后端框架
  • Chroma 向量数据库
  • Qdrant 向量数据库
  • Gradio 界面由 Gradio 实现,有效降低了程序的复杂度
  • fern 管理文档(界面好看
  • 使用 poetry 管理项目
2.3 代码分析(使用 cloc 工具统计)
  • 代码 3.2M,主要为 Python 代码,共 2733 行
  • local 版本 image 大小为 6.34G,external 版本为 5.68G
  • 核心代码在:private_gpt/private_gpt/ 目录下
2.4 使用场景
  • 完全本地化的知识库

3 商业模式

相对简单的项目,代码主要在架构和调用其它工具,依赖 llama-index,并实现了扩展,如支持几个主流向量数库,后面可能接入更多模型和向量库。可作为一种集成的方案,或者支持各种组件插拔的 Hub 使用。

4 使用

4.1 安装
  • 下载项目
shell 复制代码
$ git clone https://github.com/imartinez/privateGPT
$ cd privateGPT
  • 修改配置文件
shell 复制代码
vi settings.yaml

建议第一次运行时将 llm 设置为 openai,整体调通后,再使用本地 llm 下载模型;否则太过复杂,不容易定位问题。

  • 修改 Dockerfile.local(我 build 时报错)
dockerfile 复制代码
RUN addgroup worker
RUN adduser --ingroup worker --system worker
  • 构建 local 环境
shell 复制代码
$ docker build . -f Dockerfile.local --build-arg HTTP_PROXY=xxx --build-arg HTTPS_PROXY=xxx -t private-gpt
4.2 运行

如果直接执行失败,建议以 root 用户启动 bash 进行调试

shell 复制代码
$ docker run --rm -p 8080:8080 -e OPENAI_API_KEY=xxx -e HTTP_PROXY=xxx -e HTTPS_PROXY=xxx --entrypoint bash -u 0 -it private-gpt
$ .venv/bin/python -m private_gpt

在 localhost 8080 端口可打开 gradio 应用

4.3 使用感受

gradio 主要用作 demo,实现功能比较简单,比如上传文档后无法删除,文本切块大小和模型的对应关系需要提前设置。

5 资源

文档

全面了解 PrivateGPT:中文技巧和功能实测

相关推荐
西索斯coding21 小时前
GPT-5.6-Luna 接入 Cline 教程:base_url 配置、max_tokens 上限与 ZDR 请求头写法
大数据·人工智能·gpt·ai
whyfail2 天前
开发平替实录:ZCode + 火山 Coding Plan + GLM-5.3-Flash,打不过 GPT-5.6-Sol,但只差一口气的成本
gpt·codex·glm·智谱·zcode
沉默王二2 天前
Codex 最新焚决发布,快!
gpt·agent·ai编程
技灵AI3 天前
ChatGPT Images 2.5 深度解读:延迟减半、Sketch 草图与 Flare/Sunburst 双模型 API
人工智能·gpt·aigc·音视频·images2.5
程序员无隅3 天前
Harness Learn Engineering :用初始化、交接记录与恢复验证,让 Coding Agent 换个会话也能接着干
gpt·ai
邪修king3 天前
Re:Linux系统篇(二十五):文件系统(一):磁盘硬件底层原理:从物理结构到 CHS/LBA 寻址,搞懂硬盘数据的定位逻辑
java·linux·运维·gpt
程序猿编码4 天前
两张 3090 扛 27B:Qwen3.8-27B 大模型 DFlash2 加速版生产级落地
开发语言·gpt·深度学习·神经网络·大模型·qwen
YH55269844 天前
为什么 GPT 要暂停$200 pro 订阅?
gpt·chatgpt
discipl5 天前
调用ai大模型的常用方式
gpt