私有的本地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應用的理想選擇。