私有的本地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脚本:功能相对有限
支持的安装方式
- Docker构建和运行:适用于Linux、Windows、MAC
- Linux安装和运行:原生Linux支持
- Windows 10/11安装脚本:Windows平台支持
- MAC安装和运行:macOS平台支持
- 快速启动:适用于任何平台
技术规格
硬件要求
- 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
数据处理流程
- 文档摄取:使用高级OCR技术(DocTR)
- 文档分割:语义分块技术
- 向量化:使用精确嵌入模型
- 检索增强:HYDE技术增强检索
- 生成回答:基于上下文的智能回答
商业应用
企业级解决方案
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应用的理想选择。