Login

私有的本地GPT聊天工具,支持文档问答、图像视频处理等多种功能,100%私有化部署

Apache-2.0Python 11.9kh2oaih2ogpt Last Updated: 2025-05-25

h2oGPT 项目详细介绍

项目概述

h2oGPT是由H2O.ai开发的一个开源项目,旨在提供完全私有的本地GPT聊天体验,支持文档问答、图像视频处理等多种功能。该项目基于Apache V2许可证,确保用户可以100%私有化部署和使用。

项目地址: https://github.com/h2oai/h2ogpt

演示地址: https://gpt.h2o.ai/

核心特性

1. 文档处理能力

h2oGPT支持多种文档类型的私有离线数据库,包括PDF、Excel、Word、图像、视频帧、YouTube、音频、代码、文本、MarkDown等。主要特点包括:

  • 持久化数据库:使用Chroma、Weaviate或内存中的FAISS进行文档存储
  • 精确嵌入:支持instructor-large、all-MiniLM-L6-v2等嵌入模型
  • 高效上下文利用:使用指令调优的LLM,无需LangChain的few-shot方法
  • 并行处理:并行总结和提取,13B LLaMa2模型可达到每秒80个token的输出速度
  • HYDE技术:基于LLM响应的假设文档嵌入技术,增强检索能力
  • 语义分块:更好的文档分割(需要GPU支持)

2. 模型支持

h2oGPT支持多种模型,包括LLaMa2、Mistral、Falcon、Vicuna、WizardLM等,支持AutoGPTQ、4-bit/8-bit量化、LORA等技术:

  • GPU支持:来自HuggingFace和LLaMa.cpp GGML模型
  • CPU支持:使用HF、LLaMa.cpp和GPT4ALL模型
  • 注意力机制:支持任意长度生成(LLaMa-2、Mistral、MPT、Pythia、Falcon等)

3. 用户界面

  • Gradio UI:提供直观的网页界面,支持流式输出
  • CLI:命令行界面,支持所有模型的流式处理
  • 文档上传和查看:通过UI上传和查看文档(支持多个协作或个人集合)

4. 多模态能力

视觉模型

支持LLaVa、Claude-3、Gemini-Pro-Vision、GPT-4-Vision等视觉模型

图像生成

支持Stable Diffusion(sdxl-turbo、sdxl、SD3)、PlaygroundAI(playv2)和Flux等图像生成模型

语音处理

  • STT(语音转文本):使用Whisper进行流式音频转换
  • TTS(文本转语音)
    • MIT许可的Microsoft Speech T5,支持多种语音和流式音频转换
    • MPL2许可的TTS,包括语音克隆和流式音频转换
  • AI助手语音控制:支持免手动控制的h2oGPT聊天模式

5. 企业级功能

认证和状态管理

  • UI认证:通过用户名/密码或Google OAuth进行身份验证
  • 状态保持:通过用户名/密码在UI中保持状态
  • Open Web UI集成:通过OpenAI代理将h2oGPT作为后端使用

API和集成

  • OpenAI兼容API:h2oGPT可作为OpenAI服务器的替代品
  • 推理服务器支持:支持oLLaMa、HF TGI服务器、vLLM、Gradio、ExLLaMa、Replicate、Together.ai、OpenAI、Azure OpenAI、Anthropic、MistralAI、Google和Groq等

服务器代理API功能

  • 聊天和文本完成(流式和非流式)
  • 音频转录(STT)
  • 音频生成(TTS)
  • 图像生成
  • 嵌入
  • 函数工具调用和自动工具选择
  • AutoGen代码执行代理

6. 高级功能

JSON模式和结构化输出

  • 严格模式控制:通过vLLM使用outlines进行严格的模式控制
  • 多平台支持:支持OpenAI、Anthropic、Google Gemini、MistralAI模型的严格模式控制
  • JSON模式:为一些较旧的OpenAI或Gemini模型提供JSON模式

网络搜索和代理

  • 网络搜索集成:与聊天和文档问答集成的网络搜索
  • 智能代理:支持搜索、文档问答、Python代码、CSV框架等代理
  • 高质量代理:通过独立端口上的OpenAI代理服务器提供高质量代理
  • 代码优先代理:生成图表、研究、通过视觉模型评估图像等

性能评估

  • 奖励模型:使用奖励模型评估性能
  • 质量保证:通过超过1000个单元测试和集成测试(超过24个GPU小时)维护质量

安装和部署

推荐部署方式

推荐使用Docker进行Linux、Windows和MAC的完整功能部署。各平台支持情况:

  • Docker:Linux、Windows、MAC完整功能
  • Linux脚本:完整功能
  • Windows和MAC脚本:功能相对有限

支持的安装方式

  1. Docker构建和运行:适用于Linux、Windows、MAC
  2. Linux安装和运行:原生Linux支持
  3. Windows 10/11安装脚本:Windows平台支持
  4. MAC安装和运行:macOS平台支持
  5. 快速启动:适用于任何平台

技术规格

硬件要求

  • GPU支持:CUDA、AutoGPTQ、exllama
  • CPU支持:支持纯CPU运行
  • 内存优化:提供低内存模式

离线安装

  • 支持完全离线安装
  • 离线文档处理能力
  • 本地模型部署

开发和扩展

开发环境

  • 按照安装说明创建训练和生成的开发环境
  • 支持在自定义数据上微调任何LLM模型
  • 提供完整的测试套件

测试

pip install requirements-parser pytest-instafail pytest-random-order playsound==1.3.0
conda install -c conda-forge gst-python -y
sudo apt-get install gstreamer-1.0
pip install pygame
GPT_H2O_AI=0 CONCURRENCY_COUNT=1 pytest --instafail -s -v tests

# 对于已运行的本地服务器上的openai服务器测试
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client

客户端API

  • Gradio客户端API
  • OpenAI兼容客户端API
  • Python客户端库

技术架构

核心技术栈

  • 基础模型:LLaMa2、Mistral、Falcon等
  • 嵌入技术:instructor-large、all-MiniLM-L6-v2
  • 向量数据库:Chroma、Weaviate、FAISS
  • UI框架:Gradio
  • 后端技术:Python、PyTorch、Transformers

数据处理流程

  1. 文档摄取:使用高级OCR技术(DocTR)
  2. 文档分割:语义分块技术
  3. 向量化:使用精确嵌入模型
  4. 检索增强:HYDE技术增强检索
  5. 生成回答:基于上下文的智能回答

商业应用

企业级解决方案

h2oGPT提供企业级的生成AI解决方案,主要特点:

  • 完全私有化:100%私有部署,数据不出企业
  • 可扩展性:支持大规模部署
  • 安全性:企业级安全保障
  • 定制化:支持模型微调和定制

应用场景

  • 文档问答系统:企业内部知识库问答
  • 代码辅助:代码生成和审查
  • 数据分析:CSV数据处理和分析
  • 多媒体处理:图像、视频、音频处理
  • 客户服务:智能客服系统

H2O.ai生态系统

h2oGPT是H2O.ai完整AI平台的一部分,H2O.ai还提供:

  • H2O-3:开源机器学习平台
  • H2O Driverless AI:世界领先的AutoML平台
  • H2O Hydrogen Torch:无代码深度学习平台
  • Document AI:文档处理深度学习平台
  • H2O MLOps:模型部署和监控平台
  • H2O Feature Store:特征存储平台

总结

h2oGPT是一个功能强大的开源私有化GPT解决方案,特别适合企业和个人用户需要完全控制数据隐私的场景。它不仅提供了与商业GPT服务相似的功能,还增加了文档处理、多模态支持、企业级安全等特性,是构建私有AI应用的理想选择。

Star History Chart