h2oGPT
Transformez ★ en (coin supérieur droit) si vous aimez le projet !
Recherchez et résumez vos documents ou discutez simplement avec des LLM GPT privés locaux à l'aide de h2oGPT, un projet open source Apache V2.
Découvrez un long CoT Open-o1 ouvert ?fraise? projet : https://github.com/pseudotensor/open-strawberry
Démo en direct
Démo Gradio
Démo OpenWebUI
Démo vidéo
démo2.mp4
Vidéo YouTube 4K
Caractéristiques
- Base de données privée hors ligne de tous les documents (PDF, Excel, Word, images, images vidéo, YouTube, audio, code, texte, MarkDown, etc.)
- Base de données persistante (Chroma, Weaviate ou FAISS en mémoire) utilisant des intégrations précises (grand instructeur, all-MiniLM-L6-v2, etc.)
- Utilisation efficace du contexte à l'aide de LLM optimisés par les instructions (pas besoin de l'approche en quelques coups de LangChain)
- Synthèse et extraction parallèles , atteignant une sortie de 80 jetons par seconde avec le modèle 13B LLaMa2
- HYDE (Hypothetical Document Embeddings) pour une récupération améliorée basée sur les réponses LLM
- Sémantique Chunking pour un meilleur fractionnement des documents (nécessite un GPU)
- Variété de modèles pris en charge (LLaMa2, Mistral, Falcon, Vicuna, WizardLM. Avec AutoGPTQ, 4 bits/8 bits, LORA, etc.)
- Prise en charge du GPU à partir des modèles HF et LLaMa.cpp GGML et prise en charge du CPU à l'aide des modèles HF, LLaMa.cpp et GPT4ALL
- Attention aux puits pour les générations arbitrairement longues (LLaMa-2, Mistral, MPT, Pythia, Falcon, etc.)
- Gradio UI ou CLI avec streaming de tous les modèles
- Téléchargez et affichez des documents via l'interface utilisateur (contrôlez plusieurs collections collaboratives ou personnelles)
- Modèles de vision LLaVa, Claude-3, Gemini-Pro-Vision, GPT-4-Vision
- Génération d'images Diffusion stable (sdxl-turbo, sdxl, SD3), PlaygroundAI (playv2) et Flux
- Voice STT utilisant Whisper avec conversion audio en streaming
- Voice TTS utilisant Microsoft Speech T5 sous licence MIT avec plusieurs voix et conversion audio en streaming
- TTS vocal utilisant TTS sous licence MPL2, y compris le clonage vocal et la conversion audio en streaming
- Mode de commande vocale AI Assistant pour un contrôle mains libres du chat h2oGPT
- Mode d'interface utilisateur Bake-off contre plusieurs modèles en même temps
- Téléchargement facile des artefacts de modèle et contrôle des modèles tels que LLaMa.cpp via l'interface utilisateur
- Authentification dans l'UI par utilisateur/mot de passe via Native ou Google OAuth
- Préservation de l'état dans l'interface utilisateur par utilisateur/mot de passe
- Ouvrez l'interface utilisateur Web avec h2oGPT comme backend via OpenAI Proxy
- Voir Documents de démarrage.
- Achèvement du chat avec streaming
- Documentez les questions/réponses à l'aide de l'ingestion h2oGPT avec l'OCR avancée de DocTR
- Modèles de vision
- Transcription audio (STT)
- Génération audio (TTS)
- Génération d'images
- Authentification
- Préservation de l'État
- Prise en charge de Linux, Docker, macOS et Windows
- Prise en charge des serveurs d'inférence pour oLLaMa, le serveur HF TGI, vLLM, Gradio, ExLLaMa, Replicate, Together.ai, OpenAI, Azure OpenAI, Anthropic, MistralAI, Google et Groq
- Conforme à OpenAI
- API Server Proxy (h2oGPT remplace le serveur OpenAI)
- Complétions de chat et de texte (streaming et non-streaming)
- Transcription audio (STT)
- Génération audio (TTS)
- Génération d'images
- Intégration
- Appel d'outil de fonction avec sélection automatique d'outil
- Agent d'exécution de code AutoGen
- Mode JSON
- Contrôle strict du schéma pour vLLM via son utilisation de contours
- Contrôle strict du schéma pour les modèles OpenAI, Anthropic, Google Gemini, MistralAI
- Mode JSON pour certains anciens modèles OpenAI ou Gemini avec contrôle de schéma si le modèle est suffisamment intelligent (par exemple Gemini 1.5 Flash)
- N’importe quel modèle via l’extraction de blocs de code
- Intégration de la recherche Web avec Chat et Document Q/A
- Agents pour la recherche, les questions/réponses sur les documents, le code Python, les cadres CSV
- Agents de haute qualité via un serveur proxy OpenAI sur un port séparé
- Agent code-first qui génère des tracés, recherche, évalue des images via un modèle de vision, etc. (code client openai_server/openai_client.py).
- Pas d'interface utilisateur pour cela, juste une API
- Évaluer les performances à l'aide de modèles de récompense
- Qualité maintenue avec plus de 1 000 tests unitaires et d'intégration prenant plus de 24 heures GPU
Commencer
Installer h2oGPT
Docker est recommandé pour Linux, Windows et MAC pour bénéficier de toutes les fonctionnalités. Linux Script a également toutes les capacités, tandis que les scripts Windows et MAC ont moins de capacités que l'utilisation de Docker.
- Docker Build et Run Docs (Linux, Windows, MAC)
- Linux Installer et exécuter Docs
- Script d'installation de Windows 10/11
- MAC Installer et exécuter Docs
- Démarrage rapide sur n'importe quelle plateforme
Démos de collaboration
- Processeur h2oGPT
- GPU h2oGPT
Ressources
- FAQ
- README pour LangChain
- Discorde
- Modèles (LLaMa-2, Falcon 40, etc.) chez ?
- YouTube : Alternative ChatGPT 100 % hors ligne ?
- YouTube : Ultimate Open-Source LLM Showdown (6 modèles testés) - Résultats surprenants !
- YouTube : Blazing Fast Falcon 40b non censuré, open source, entièrement hébergé, discutez avec vos documents
- Document technique : https://arxiv.org/pdf/2306.08161.pdf
Guide des documents
- Commencer
- Linux (CPU ou CUDA)
- macOS (CPU ou M1/M2)
- Windows 10/11 (CPU ou CUDA)
- GPU (CUDA, AutoGPTQ, exllama) Détails d'exécution
- Détails d'exécution du processeur
- Discussion CLI
- Interface utilisateur de Gradio
- API client (Gradio, compatible OpenAI)
- Serveurs d'inférence (oLLaMa, serveur HF TGI, vLLM, Groq, Anthropic, Google, Mistral, Gradio, ExLLaMa, Replicate, OpenAI, Azure OpenAI)
- Construire une roue Python
- Installation hors ligne
- Mémoire faible
- Docker
- Prise en charge des documents LangChain
- Comparez avec PrivateGPT et al.
- Feuille de route
- Développement
- Aide
- Types de fichiers LangChain pris en charge
- Contrôle de base de données CLI
- FAQ
- Notes d'utilisation du modèle
- Ajout de modèles LLM (y compris l'utilisation de GGUF et d'Attention Sinks)
- Ajout de modèles d'intégration
- Ajout d'invites
- Apprentissage en contexte
- Plusieurs GPU
- Faible utilisation de la mémoire
- Variables d'environnement
- Accès HTTPS pour le serveur et le client
- Liens utiles
- Réglage fin
- Triton
- Viabilité commerciale
- Remerciements
- Pourquoi H2O.ai ?
- Clause de non-responsabilité
Développement
- Pour créer un environnement de développement pour la formation et la génération, suivez les instructions d'installation.
- Pour affiner les modèles LLM sur vos données, suivez les instructions de réglage fin.
- Pour exécuter des tests h2oGPT :
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
# for openai server test on already-running local server
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client
ou modifiez/exécutez tests/test4gpus.sh
pour exécuter des tests en parallèle.
Remerciements
- Certains codes de formation étaient basés sur la version du 24 mars d'Alpaca-LoRA.
- Utilisation de données créées de haute qualité par OpenAssistant.
- Modèles de base utilisés par EleutherAI.
- Utilisation des données OIG créées par LAION.
Pourquoi H2O.ai ?
Nos Makers chez H2O.ai ont construit plusieurs plateformes de Machine Learning, Deep Learning et IA de classe mondiale :
- Plateforme d'apprentissage automatique open source n°1 pour l'entreprise H2O-3
- Le meilleur AutoML (Automatic Machine Learning) au monde avec H2O Driverless AI
- Apprentissage profond sans code avec la torche à hydrogène H2O
- Traitement de documents avec Deep Learning dans Document AI
Nous avons également construit des plateformes pour le déploiement et la surveillance, ainsi que pour la gestion et la gouvernance des données :
- H2O MLOps pour déployer et surveiller des modèles à grande échelle
- H2O Feature Store en collaboration avec AT&T
- Cadres de développement d'applications d'IA open source Low-Code Wave et Nitro
- Table de données Python open source (le moteur pour l'ingénierie des fonctionnalités H2O Driverless AI)
Beaucoup de nos clients créent des modèles et les déploient à l'échelle de l'entreprise et à grande échelle dans le cloud H2O AI :
- Multi-Cloud ou sur site
- Cloud géré (SaaS)
- Nuage hybride
- Boutique d'applications IA
Nous sommes fiers d'avoir plus de 25 (sur les 280) grands maîtres Kaggle qui ont élu domicile à H2O, dont trois grands maîtres Kaggle qui ont atteint la première place mondiale.
Clause de non-responsabilité
Veuillez lire attentivement cette clause de non-responsabilité avant d'utiliser le grand modèle de langage fourni dans ce référentiel. Votre utilisation du modèle signifie votre accord avec les termes et conditions suivants.
- Biais et caractère offensant : le modèle de langage étendu est formé sur un large éventail de données textuelles Internet, qui peuvent contenir du contenu biaisé, raciste, offensant ou autrement inapproprié. En utilisant ce modèle, vous reconnaissez et acceptez que le contenu généré puisse parfois présenter des préjugés ou produire un contenu offensant ou inapproprié. Les développeurs de ce référentiel n'approuvent, ne soutiennent ni ne promeuvent de tels contenus ou points de vue.
- Limites : le grand modèle de langage est un outil basé sur l'IA et non sur un être humain. Cela peut produire des réponses incorrectes, absurdes ou non pertinentes. Il est de la responsabilité de l'utilisateur d'évaluer de manière critique le contenu généré et de l'utiliser à sa discrétion.
- Utilisation à vos propres risques : les utilisateurs de ce grand modèle de langage doivent assumer l'entière responsabilité de toutes les conséquences pouvant découler de leur utilisation de l'outil. Les développeurs et contributeurs de ce référentiel ne pourront être tenus responsables de tout dommage, perte ou préjudice résultant de l'utilisation ou de la mauvaise utilisation du modèle fourni.
- Considérations éthiques : les utilisateurs sont encouragés à utiliser le grand modèle de langage de manière responsable et éthique. En utilisant ce modèle, vous acceptez de ne pas l'utiliser à des fins promouvant les discours de haine, la discrimination, le harcèlement ou toute forme d'activités illégales ou préjudiciables.
- Problèmes de signalement : si vous rencontrez un contenu biaisé, offensant ou autrement inapproprié généré par le grand modèle de langage, veuillez le signaler aux responsables du référentiel via les canaux fournis. Vos commentaires aideront à améliorer le modèle et à atténuer les problèmes potentiels.
- Modifications de cette clause de non-responsabilité : les développeurs de ce référentiel se réservent le droit de modifier ou de mettre à jour cette clause de non-responsabilité à tout moment et sans préavis. Il est de la responsabilité de l'utilisateur de consulter périodiquement la clause de non-responsabilité pour rester informé de tout changement.
En utilisant le grand modèle linguistique fourni dans ce référentiel, vous acceptez et respectez les termes et conditions décrits dans cette clause de non-responsabilité. Si vous n'êtes pas d'accord avec une partie de cette clause de non-responsabilité, vous devez vous abstenir d'utiliser le modèle et tout contenu généré par celui-ci.
Histoire des étoiles