Login

Outil de conversation GPT local et privé, prenant en charge diverses fonctions telles que les questions-réponses sur les documents, le traitement d'images et de vidéos, avec un déploiement 100% privé.

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

Présentation détaillée du projet h2oGPT

Aperçu du projet

h2oGPT est un projet open source développé par H2O.ai, visant à offrir une expérience de chat GPT locale et entièrement privée, prenant en charge diverses fonctionnalités telles que les questions-réponses sur documents, le traitement d'images et de vidéos. Ce projet est sous licence Apache V2, garantissant aux utilisateurs un déploiement et une utilisation 100% privés.

Adresse du projet : https://github.com/h2oai/h2ogpt

Adresse de la démo : https://gpt.h2o.ai/

Fonctionnalités clés

1. Capacités de traitement de documents

h2oGPT prend en charge une base de données privée hors ligne pour divers types de documents, y compris PDF, Excel, Word, images, cadres vidéo, YouTube, audio, code, texte, MarkDown, etc. Les principales caractéristiques comprennent :

  • Base de données persistante : Utilise Chroma, Weaviate ou FAISS en mémoire pour le stockage des documents.
  • Intégrations précises : Prend en charge les modèles d'intégration tels que instructor-large, all-MiniLM-L6-v2.
  • Utilisation efficace du contexte : Utilise des LLM affinés par instruction, sans nécessiter les méthodes few-shot de LangChain.
  • Traitement parallèle : Résumé et extraction parallèles, le modèle LLaMa2 13B peut atteindre une vitesse de sortie de 80 tokens par seconde.
  • Technologie HYDE : Technologie d'intégration de documents hypothétiques basée sur les réponses LLM, améliorant les capacités de récupération.
  • Découpage sémantique : Meilleure segmentation des documents (nécessite un support GPU).

2. Prise en charge des modèles

h2oGPT prend en charge divers modèles, y compris LLaMa2, Mistral, Falcon, Vicuna, WizardLM, etc., et des technologies telles que AutoGPTQ, la quantification 4 bits/8 bits, LORA :

  • Prise en charge GPU : Modèles HuggingFace et LLaMa.cpp GGML.
  • Prise en charge CPU : Utilise les modèles HF, LLaMa.cpp et GPT4ALL.
  • Mécanisme d'attention : Prend en charge la génération de n'importe quelle longueur (LLaMa-2, Mistral, MPT, Pythia, Falcon, etc.).

3. Interface utilisateur

  • Interface utilisateur Gradio : Fournit une interface web intuitive, prenant en charge la sortie en continu.
  • CLI : Interface en ligne de commande, prenant en charge le traitement en continu pour tous les modèles.
  • Téléchargement et visualisation de documents : Téléchargez et visualisez des documents via l'interface utilisateur (prend en charge plusieurs collections collaboratives ou personnelles).

4. Capacités multimodales

Modèles visuels

Prend en charge les modèles visuels tels que LLaVa, Claude-3, Gemini-Pro-Vision, GPT-4-Vision.

Génération d'images

Prend en charge les modèles de génération d'images tels que Stable Diffusion (sdxl-turbo, sdxl, SD3), PlaygroundAI (playv2) et Flux.

Traitement vocal

  • STT (Synthèse vocale vers texte) : Utilise Whisper pour la conversion audio en continu.
  • TTS (Texte vers synthèse vocale) :
    • Microsoft Speech T5 sous licence MIT, prenant en charge plusieurs voix et la conversion audio en continu.
    • TTS sous licence MPL2, incluant le clonage vocal et la conversion audio en continu.
  • Contrôle vocal de l'assistant IA : Prend en charge le mode de chat h2oGPT avec contrôle mains libres.

5. Fonctionnalités de niveau entreprise

Authentification et gestion de l'état

  • Authentification UI : Authentification via nom d'utilisateur/mot de passe ou Google OAuth.
  • Persistance de l'état : Maintien de l'état dans l'interface utilisateur via nom d'utilisateur/mot de passe.
  • Intégration Open Web UI : Utilise h2oGPT comme backend via un proxy OpenAI.

API et intégration

  • API compatible OpenAI : h2oGPT peut servir de remplacement au serveur OpenAI.
  • Prise en charge des serveurs d'inférence : Prend en charge oLLaMa, les serveurs HF TGI, vLLM, Gradio, ExLLaMa, Replicate, Together.ai, OpenAI, Azure OpenAI, Anthropic, MistralAI, Google et Groq.

Fonctionnalités de l'API de proxy de serveur

  • Chat et complétion de texte (en continu et non en continu).
  • Transcription audio (STT).
  • Génération audio (TTS).
  • Génération d'images.
  • Intégrations.
  • Appel d'outils de fonction et sélection automatique d'outils.
  • Agent d'exécution de code AutoGen.

6. Fonctionnalités avancées

Mode JSON et sortie structurée

  • Contrôle strict du schéma : Utilise outlines avec vLLM pour un contrôle strict du schéma.
  • Prise en charge multiplateforme : Prend en charge le contrôle strict du schéma pour les modèles OpenAI, Anthropic, Google Gemini, MistralAI.
  • Mode JSON : Fournit un mode JSON pour certains modèles OpenAI ou Gemini plus anciens.

Recherche web et agents

  • Intégration de la recherche web : Recherche web intégrée au chat et aux questions-réponses sur documents.
  • Agents intelligents : Prend en charge les agents pour la recherche, les questions-réponses sur documents, le code Python, les cadres CSV, etc.
  • Agents de haute qualité : Fournit des agents de haute qualité via un serveur proxy OpenAI sur un port indépendant.
  • Agents axés sur le code : Génération de graphiques, recherche, évaluation d'images via des modèles visuels, etc.

Évaluation des performances

  • Modèles de récompense : Utilise des modèles de récompense pour évaluer les performances.
  • Assurance qualité : Maintien de la qualité grâce à plus de 1000 tests unitaires et tests d'intégration (plus de 24 heures GPU).

Installation et déploiement

Déploiement recommandé

Il est recommandé d'utiliser Docker pour un déploiement complet des fonctionnalités sous Linux, Windows et MAC. Prise en charge par plateforme :

  • Docker : Linux, Windows, MAC (fonctionnalités complètes).
  • Scripts Linux : Fonctionnalités complètes.
  • Scripts Windows et MAC : Fonctionnalités relativement limitées.

Méthodes d'installation prises en charge

  1. Construction et exécution Docker : Applicable à Linux, Windows, MAC.
  2. Installation et exécution Linux : Prise en charge native de Linux.
  3. Script d'installation Windows 10/11 : Prise en charge de la plateforme Windows.
  4. Installation et exécution MAC : Prise en charge de macOS.
  5. Démarrage rapide : Applicable à toute plateforme.

Spécifications techniques

Exigences matérielles

  • Prise en charge GPU : CUDA, AutoGPTQ, exllama.
  • Prise en charge CPU : Prend en charge l'exécution purement CPU.
  • Optimisation de la mémoire : Fournit un mode basse mémoire.

Installation hors ligne

  • Prend en charge l'installation entièrement hors ligne.
  • Capacités de traitement de documents hors ligne.
  • Déploiement de modèles locaux.

Développement et extension

Environnement de développement

  • Suivez les instructions d'installation pour créer un environnement de développement pour l'entraînement et la génération.
  • Prend en charge l'affinage de tout modèle LLM sur des données personnalisées.
  • Fournit une suite de tests complète.

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

# Pour les tests du serveur openai sur un serveur local déjà en cours d'exécution
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client

API client

  • API client Gradio.
  • API client compatible OpenAI.
  • Bibliothèque client Python.

Architecture technique

Pile technologique de base

  • Modèles de base : LLaMa2, Mistral, Falcon, etc.
  • Technologies d'intégration : instructor-large, all-MiniLM-L6-v2.
  • Bases de données vectorielles : Chroma, Weaviate, FAISS.
  • Cadre UI : Gradio.
  • Technologies backend : Python, PyTorch, Transformers.

Flux de traitement des données

  1. Ingestion de documents : Utilise la technologie OCR avancée (DocTR).
  2. Segmentation de documents : Technologie de découpage sémantique.
  3. Vectorisation : Utilise des modèles d'intégration précis.
  4. Amélioration de la récupération : La technologie HYDE améliore la récupération.
  5. Génération de réponses : Réponses intelligentes basées sur le contexte.

Applications commerciales

Solutions de niveau entreprise

h2oGPT offre des solutions d'IA générative de niveau entreprise, avec les principales caractéristiques suivantes :

  • Entièrement privé : Déploiement 100% privé, les données ne quittent pas l'entreprise.
  • Évolutivité : Prend en charge les déploiements à grande échelle.
  • Sécurité : Garanties de sécurité de niveau entreprise.
  • Personnalisation : Prend en charge l'affinage et la personnalisation des modèles.

Scénarios d'application

  • Système de questions-réponses sur documents : Questions-réponses sur la base de connaissances internes de l'entreprise.
  • Assistance au code : Génération et révision de code.
  • Analyse de données : Traitement et analyse de données CSV.
  • Traitement multimédia : Traitement d'images, de vidéos, d'audio.
  • Service client : Système de service client intelligent.

Écosystème H2O.ai

h2oGPT fait partie de la plateforme IA complète de H2O.ai, qui propose également :

  • H2O-3 : Plateforme d'apprentissage automatique open source.
  • H2O Driverless AI : Plateforme AutoML leader mondial.
  • H2O Hydrogen Torch : Plateforme d'apprentissage profond sans code.
  • Document AI : Plateforme d'apprentissage profond pour le traitement de documents.
  • H2O MLOps : Plateforme de déploiement et de surveillance de modèles.
  • H2O Feature Store : Plateforme de magasin de fonctionnalités.

Résumé

h2oGPT est une solution GPT privée open source puissante, particulièrement adaptée aux entreprises et aux utilisateurs individuels qui ont besoin d'un contrôle total sur la confidentialité des données. Il offre non seulement des fonctionnalités similaires aux services GPT commerciaux, mais ajoute également le traitement de documents, la prise en charge multimodale, la sécurité de niveau entreprise et d'autres caractéristiques, ce qui en fait un choix idéal pour la construction d'applications IA privées.

Star History Chart