Ein privates, lokales GPT-Chat-Tool, das Dokumenten-Q&A, Bild- und Videoverarbeitung und viele andere Funktionen unterstützt, 100% private Bereitstellung.
Detaillierte Beschreibung des h2oGPT-Projekts
Projektübersicht
h2oGPT ist ein Open-Source-Projekt, das von H2O.ai entwickelt wurde, mit dem Ziel, ein vollständig privates, lokales GPT-Chat-Erlebnis zu bieten, das verschiedene Funktionen wie Dokumenten-Q&A, Bild- und Videoverarbeitung unterstützt. Das Projekt basiert auf der Apache V2-Lizenz, was eine 100% private Bereitstellung und Nutzung für Benutzer gewährleistet.
Projekt-URL: https://github.com/h2oai/h2ogpt
Demo-URL: https://gpt.h2o.ai/
Kernfunktionen
1. Dokumentenverarbeitung
h2oGPT unterstützt private Offline-Datenbanken für verschiedene Dokumententypen, darunter PDF, Excel, Word, Bilder, Videoframes, YouTube, Audio, Code, Text, Markdown und mehr. Hauptmerkmale sind:
- Persistente Datenbank: Verwendet Chroma, Weaviate oder In-Memory FAISS zur Dokumentenspeicherung.
- Präzise Embeddings: Unterstützt Embedding-Modelle wie instructor-large, all-MiniLM-L6-v2.
- Effiziente Kontextnutzung: Verwendet instruktionsoptimierte LLMs, ohne die Few-Shot-Methode von LangChain.
- Parallele Verarbeitung: Parallele Zusammenfassung und Extraktion, 13B LLaMa2-Modell erreicht eine Ausgabegeschwindigkeit von 80 Token pro Sekunde.
- HYDE-Technologie: Hypothetische Dokumenten-Embeddings basierend auf LLM-Antworten zur Verbesserung der Retrieval-Fähigkeit.
- Semantisches Chunking: Bessere Dokumentensegmentierung (erfordert GPU-Unterstützung).
2. Modellunterstützung
h2oGPT unterstützt verschiedene Modelle, darunter LLaMa2, Mistral, Falcon, Vicuna, WizardLM und andere, sowie Technologien wie AutoGPTQ, 4-Bit-/8-Bit-Quantisierung, LORA usw.:
- GPU-Unterstützung: Von HuggingFace und LLaMa.cpp GGML-Modellen.
- CPU-Unterstützung: Verwendet HF-, LLaMa.cpp- und GPT4ALL-Modelle.
- Aufmerksamkeitsmechanismen: Unterstützt Generierung beliebiger Länge (LLaMa-2, Mistral, MPT, Pythia, Falcon usw.).
3. Benutzeroberfläche
- Gradio-Benutzeroberfläche: Bietet eine intuitive Weboberfläche mit Unterstützung für Streaming-Ausgabe.
- CLI: Kommandozeilenschnittstelle, die Streaming für alle Modelle unterstützt.
- Dokumenten-Upload und -Anzeige: Hochladen und Anzeigen von Dokumenten über die Benutzeroberfläche (unterstützt mehrere kollaborative oder persönliche Sammlungen).
4. Multimodale Fähigkeiten
Visuelle Modelle
Unterstützt visuelle Modelle wie LLaVa, Claude-3, Gemini-Pro-Vision, GPT-4-Vision.
Bilderzeugung
Unterstützt Bilderzeugungsmodelle wie Stable Diffusion (sdxl-turbo, sdxl, SD3), PlaygroundAI (playv2) und Flux.
Sprachverarbeitung
- STT (Sprache-zu-Text): Verwendet Whisper für Streaming-Audio-Transkription.
- TTS (Text-zu-Sprache):
- MIT-lizenzierte Microsoft Speech T5, unterstützt mehrere Stimmen und Streaming-Audio-Konvertierung.
- MPL2-lizenzierte TTS, einschließlich Stimmklonung und Streaming-Audio-Konvertierung.
- Sprachsteuerung für KI-Assistenten: Unterstützt freihändige Steuerung des h2oGPT-Chat-Modus.
5. Enterprise-Funktionen
Authentifizierung und Zustandsverwaltung
- UI-Authentifizierung: Authentifizierung über Benutzername/Passwort oder Google OAuth.
- Zustandsspeicherung: Zustandserhaltung in der Benutzeroberfläche über Benutzername/Passwort.
- Open Web UI-Integration: Verwendet h2oGPT als Backend über einen OpenAI-Proxy.
APIs und Integrationen
- OpenAI-kompatible API: h2oGPT kann als Ersatz für OpenAI-Server verwendet werden.
- Inferenzserver-Unterstützung: Unterstützt oLLaMa, HF TGI-Server, vLLM, Gradio, ExLLaMa, Replicate, Together.ai, OpenAI, Azure OpenAI, Anthropic, MistralAI, Google und Groq.
Server-Proxy-API-Funktionen
- Chat und Textvervollständigung (Streaming und Nicht-Streaming)
- Audio-Transkription (STT)
- Audio-Generierung (TTS)
- Bilderzeugung
- Embeddings
- Funktions-Tool-Aufruf und automatische Tool-Auswahl
- AutoGen Code-Ausführungsagenten
6. Erweiterte Funktionen
JSON-Modus und strukturierte Ausgabe
- Strenge Modussteuerung: Strenge Schema-Kontrolle mit outlines über vLLM.
- Multiplattform-Unterstützung: Strenge Modussteuerung für OpenAI-, Anthropic-, Google Gemini-, MistralAI-Modelle.
- JSON-Modus: Bietet JSON-Modus für einige ältere OpenAI- oder Gemini-Modelle.
Websuche und Agenten
- Websuche-Integration: Websuche integriert in Chat und Dokumenten-Q&A.
- Intelligente Agenten: Unterstützt Agenten für Suche, Dokumenten-Q&A, Python-Code, CSV-Frameworks usw.
- Hochwertige Agenten: Bietet hochwertige Agenten über einen OpenAI-Proxy-Server auf einem unabhängigen Port.
- Code-First-Agenten: Generieren von Diagrammen, Forschung, Bewertung von Bildern über visuelle Modelle usw.
Leistungsbewertung
- Belohnungsmodelle: Verwendet Belohnungsmodelle zur Leistungsbewertung.
- Qualitätssicherung: Aufrechterhaltung der Qualität durch über 1000 Unit-Tests und Integrationstests (über 24 GPU-Stunden).
Installation und Bereitstellung
Empfohlene Bereitstellungsmethode
Es wird empfohlen, Docker für die vollständige Funktionsbereitstellung unter Linux, Windows und macOS zu verwenden. Plattformunterstützung:
- Docker: Linux, Windows, macOS (vollständige Funktionalität)
- Linux-Skripte: Vollständige Funktionalität
- Windows- und macOS-Skripte: Relativ eingeschränkte Funktionalität
Unterstützte Installationsmethoden
- Docker-Build und -Ausführung: Für Linux, Windows, macOS.
- Linux-Installation und -Ausführung: Native Linux-Unterstützung.
- Windows 10/11 Installationsskript: Windows-Plattform-Unterstützung.
- macOS-Installation und -Ausführung: macOS-Plattform-Unterstützung.
- Schnellstart: Für jede Plattform.
Technische Spezifikationen
Hardware-Anforderungen
- GPU-Unterstützung: CUDA, AutoGPTQ, exllama.
- CPU-Unterstützung: Unterstützt reinen CPU-Betrieb.
- Speicheroptimierung: Bietet einen Modus für geringen Speicherverbrauch.
Offline-Installation
- Unterstützt vollständige Offline-Installation.
- Offline-Dokumentenverarbeitungsfähigkeiten.
- Lokale Modellbereitstellung.
Entwicklung und Erweiterung
Entwicklungsumgebung
- Erstellen Sie eine Entwicklungs-Umgebung für Training und Generierung gemäß den Installationsanweisungen.
- Unterstützt das Fine-Tuning jedes LLM-Modells auf benutzerdefinierten Daten.
- Bietet eine vollständige Testsuite.
Tests
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
# Für OpenAI-Servertests auf einem bereits laufenden lokalen Server
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client
Client-APIs
- Gradio-Client-API
- OpenAI-kompatible Client-API
- Python-Client-Bibliothek
Technische Architektur
Kerntechnologien
- Basismodelle: LLaMa2, Mistral, Falcon usw.
- Embedding-Technologien: instructor-large, all-MiniLM-L6-v2.
- Vektordatenbanken: Chroma, Weaviate, FAISS.
- UI-Framework: Gradio.
- Backend-Technologien: Python, PyTorch, Transformers.
Datenverarbeitungsprozess
- Dokumentenerfassung: Verwendet fortschrittliche OCR-Technologien (DocTR).
- Dokumentensegmentierung: Semantisches Chunking.
- Vektorisierung: Verwendet präzise Embedding-Modelle.
- Retrieval-Erweiterung: HYDE-Technologie zur Verbesserung des Retrievals.
- Antwortgenerierung: Kontextbasierte intelligente Antworten.
Geschäftsanwendungen
Unternehmenslösungen
h2oGPT bietet generative KI-Lösungen für Unternehmen, mit den Hauptmerkmalen:
- Vollständig privat: 100% private Bereitstellung, Daten verlassen das Unternehmen nicht.
- Skalierbarkeit: Unterstützt großflächige Bereitstellungen.
- Sicherheit: Sicherheit auf Unternehmensebene.
- Anpassbarkeit: Unterstützt Modell-Fine-Tuning und Anpassung.
Anwendungsszenarien
- Dokumenten-Q&A-Systeme: Interne Wissensdatenbank-Q&A für Unternehmen.
- Code-Assistenz: Code-Generierung und -Überprüfung.
- Datenanalyse: CSV-Datenverarbeitung und -analyse.
- Multimedia-Verarbeitung: Bild-, Video-, Audioverarbeitung.
- Kundenservice: Intelligente Kundenservice-Systeme.
H2O.ai Ökosystem
h2oGPT ist Teil der vollständigen KI-Plattform von H2O.ai. H2O.ai bietet außerdem:
- H2O-3: Open-Source-Maschinenlernplattform.
- H2O Driverless AI: Weltweit führende AutoML-Plattform.
- H2O Hydrogen Torch: No-Code Deep Learning Plattform.
- Document AI: Deep Learning Plattform für Dokumentenverarbeitung.
- H2O MLOps: Modellbereitstellungs- und Überwachungsplattform.
- H2O Feature Store: Feature Store Plattform.
Zusammenfassung
h2oGPT ist eine leistungsstarke Open-Source-Lösung für private GPT-Anwendungen, die sich besonders für Unternehmen und Einzelbenutzer eignet, die die vollständige Kontrolle über ihre Datenprivatsphäre benötigen. Sie bietet nicht nur ähnliche Funktionen wie kommerzielle GPT-Dienste, sondern auch zusätzliche Merkmale wie Dokumentenverarbeitung, multimodale Unterstützung und Sicherheit auf Unternehmensebene, was sie zur idealen Wahl für den Aufbau privater KI-Anwendungen macht.