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