Login

Herramienta de chat GPT local y privada, que admite preguntas y respuestas sobre documentos, procesamiento de imágenes y videos, y otras funciones, con implementación 100% privada.

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

Descripción Detallada del Proyecto h2oGPT

Resumen del Proyecto

h2oGPT es un proyecto de código abierto desarrollado por H2O.ai, diseñado para proporcionar una experiencia de chat GPT local y completamente privada, que soporta múltiples funciones como preguntas y respuestas de documentos, procesamiento de imágenes y video, entre otras. El proyecto se basa en la licencia Apache V2, lo que garantiza a los usuarios una implementación y uso 100% privados.

Dirección del Proyecto: https://github.com/h2oai/h2ogpt

Dirección de Demostración: https://gpt.h2o.ai/

Características Principales

1. Capacidad de Procesamiento de Documentos

h2oGPT soporta bases de datos privadas y offline para diversos tipos de documentos, incluyendo PDF, Excel, Word, imágenes, fotogramas de video, YouTube, audio, código, texto, MarkDown, entre otros. Las características principales incluyen:

  • Base de Datos Persistente: Uso de Chroma, Weaviate o FAISS en memoria para el almacenamiento de documentos
  • Incrustaciones Precisas: Soporte para modelos de incrustación como instructor-large, all-MiniLM-L6-v2, entre otros
  • Utilización Eficiente del Contexto: Uso de LLMs ajustados por instrucciones, sin necesidad del método few-shot de LangChain
  • Procesamiento Paralelo: Resumen y extracción paralelos, el modelo LLaMa2 de 13B puede alcanzar una velocidad de salida de 80 tokens por segundo
  • Tecnología HYDE: Tecnología de incrustación de documentos hipotéticos basada en la respuesta del LLM, que mejora la capacidad de recuperación
  • Fragmentación Semántica: Mejor segmentación de documentos (requiere soporte de GPU)

2. Soporte de Modelos

h2oGPT soporta una variedad de modelos, incluyendo LLaMa2, Mistral, Falcon, Vicuna, WizardLM, entre otros, y tecnologías como AutoGPTQ, cuantificación de 4-bit/8-bit, LORA, etc.:

  • Soporte de GPU: Modelos de HuggingFace y LLaMa.cpp GGML
  • Soporte de CPU: Uso de modelos HF, LLaMa.cpp y GPT4ALL
  • Mecanismo de Atención: Soporte para generación de cualquier longitud (LLaMa-2, Mistral, MPT, Pythia, Falcon, etc.)

3. Interfaz de Usuario

  • Interfaz de Usuario Gradio: Ofrece una interfaz web intuitiva, con soporte para salida en streaming
  • CLI (Interfaz de Línea de Comandos): Interfaz de línea de comandos, soporta procesamiento en streaming para todos los modelos
  • Carga y Visualización de Documentos: Carga y visualización de documentos a través de la UI (soporta múltiples colecciones colaborativas o personales)

4. Capacidades Multimodales

Modelos Visuales

Soporte para modelos visuales como LLaVa, Claude-3, Gemini-Pro-Vision, GPT-4-Vision, entre otros

Generación de Imágenes

Soporte para modelos de generación de imágenes como Stable Diffusion (sdxl-turbo, sdxl, SD3), PlaygroundAI (playv2) y Flux, entre otros

Procesamiento de Voz

  • STT (Voz a Texto): Uso de Whisper para conversión de audio en streaming
  • TTS (Texto a Voz):
    • Microsoft Speech T5 con licencia MIT, soporta múltiples voces y conversión de audio en streaming
    • TTS con licencia MPL2, incluyendo clonación de voz y conversión de audio en streaming
  • Control por Voz del Asistente de IA: Soporte para el modo de chat h2oGPT con control manos libres

5. Funcionalidades de Nivel Empresarial

Autenticación y Gestión de Estado

  • Autenticación de UI: Autenticación mediante nombre de usuario/contraseña o Google OAuth
  • Persistencia de Estado: Mantenimiento del estado en la UI mediante nombre de usuario/contraseña
  • Integración con Open Web UI: Uso de h2oGPT como backend a través de un proxy de OpenAI

API e Integraciones

  • API Compatible con OpenAI: h2oGPT puede funcionar como una alternativa al servidor de OpenAI
  • Soporte para Servidores de Inferencia: Soporte para oLLaMa, servidores HF TGI, vLLM, Gradio, ExLLaMa, Replicate, Together.ai, OpenAI, Azure OpenAI, Anthropic, MistralAI, Google y Groq, entre otros

Funcionalidades de API de Proxy de Servidor

  • Chat y completado de texto (en streaming y no en streaming)
  • Transcripción de audio (STT)
  • Generación de audio (TTS)
  • Generación de imágenes
  • Incrustaciones (Embeddings)
  • Llamada a herramientas de función y selección automática de herramientas
  • Agente de ejecución de código AutoGen

6. Funcionalidades Avanzadas

Modo JSON y Salida Estructurada

  • Control Estricto del Esquema: Control estricto del esquema utilizando outlines a través de vLLM
  • Soporte Multiplataforma: Soporte para control estricto del esquema en modelos de OpenAI, Anthropic, Google Gemini, MistralAI
  • Modo JSON: Proporciona modo JSON para algunos modelos más antiguos de OpenAI o Gemini

Búsqueda Web y Agentes

  • Integración de Búsqueda Web: Búsqueda web integrada con chat y preguntas y respuestas de documentos
  • Agentes Inteligentes: Soporte para agentes de búsqueda, preguntas y respuestas de documentos, código Python, marcos CSV, entre otros
  • Agentes de Alta Calidad: Provisión de agentes de alta calidad a través de un servidor proxy de OpenAI en un puerto independiente
  • Agentes Prioritarios de Código: Generación de gráficos, investigación, evaluación de imágenes a través de modelos visuales, etc.

Evaluación del Rendimiento

  • Modelos de Recompensa: Uso de modelos de recompensa para evaluar el rendimiento
  • Garantía de Calidad: Mantenimiento de la calidad a través de más de 1000 pruebas unitarias y de integración (más de 24 horas de GPU)

Instalación y Despliegue

Método de Despliegue Recomendado

Se recomienda usar Docker para un despliegue con todas las funcionalidades en Linux, Windows y MAC. Soporte por plataforma:

  • Docker: Funcionalidad completa en Linux, Windows, MAC
  • Scripts de Linux: Funcionalidad completa
  • Scripts de Windows y MAC: Funcionalidad relativamente limitada

Métodos de Instalación Soportados

  1. Construcción y ejecución con Docker: Para Linux, Windows, MAC
  2. Instalación y ejecución en Linux: Soporte nativo para Linux
  3. Scripts de instalación para Windows 10/11: Soporte para plataforma Windows
  4. Instalación y ejecución en MAC: Soporte para plataforma macOS
  5. Inicio rápido: Para cualquier plataforma

Especificaciones Técnicas

Requisitos de Hardware

  • Soporte de GPU: CUDA, AutoGPTQ, exllama
  • Soporte de CPU: Soporte para ejecución solo con CPU
  • Optimización de memoria: Ofrece modo de baja memoria

Instalación Offline

  • Soporte para instalación completamente offline
  • Capacidad de procesamiento de documentos offline
  • Despliegue de modelos locales

Desarrollo y Extensión

Entorno de Desarrollo

  • Creación de un entorno de desarrollo para entrenamiento y generación siguiendo las instrucciones de instalación
  • Soporte para el ajuste fino de cualquier modelo LLM con datos personalizados
  • Provisión de un conjunto completo de pruebas

Pruebas

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

# Para pruebas del servidor OpenAI en un servidor local ya en ejecución
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client

API de Cliente

  • API de Cliente Gradio
  • API de Cliente Compatible con OpenAI
  • Librería Cliente de Python

Arquitectura Técnica

Pila Tecnológica Central

  • Modelos Base: LLaMa2, Mistral, Falcon, etc.
  • Tecnologías de Incrustación (Embeddings): instructor-large, all-MiniLM-L6-v2
  • Bases de Datos Vectoriales: Chroma, Weaviate, FAISS
  • Framework de UI: Gradio
  • Tecnologías de Backend: Python, PyTorch, Transformers

Flujo de Procesamiento de Datos

  1. Ingesta de Documentos: Uso de tecnología OCR avanzada (DocTR)
  2. Segmentación de Documentos: Tecnología de fragmentación semántica
  3. Vectorización: Uso de modelos de incrustación precisos
  4. Mejora de la Recuperación: Recuperación mejorada con tecnología HYDE
  5. Generación de Respuestas: Respuestas inteligentes basadas en el contexto

Aplicaciones Comerciales

Soluciones de Nivel Empresarial

h2oGPT ofrece soluciones de IA generativa de nivel empresarial, con las siguientes características principales:

  • Completamente privado: Despliegue 100% privado, los datos no salen de la empresa
  • Escalabilidad: Soporte para despliegues a gran escala
  • Seguridad: Garantías de seguridad de nivel empresarial
  • Personalización: Soporte para ajuste fino y personalización de modelos

Escenarios de Aplicación

  • Sistemas de preguntas y respuestas de documentos: Preguntas y respuestas de bases de conocimiento internas de la empresa
  • Asistencia de código: Generación y revisión de código
  • Análisis de datos: Procesamiento y análisis de datos CSV
  • Procesamiento multimedia: Procesamiento de imágenes, video y audio
  • Servicio al cliente: Sistemas inteligentes de atención al cliente

Ecosistema H2O.ai

h2oGPT forma parte de la plataforma completa de IA de H2O.ai. H2O.ai también ofrece:

  • H2O-3: Plataforma de aprendizaje automático de código abierto
  • H2O Driverless AI: Plataforma AutoML líder mundial
  • H2O Hydrogen Torch: Plataforma de aprendizaje profundo sin código
  • Document AI: Plataforma de aprendizaje profundo para procesamiento de documentos
  • H2O MLOps: Plataforma de despliegue y monitoreo de modelos
  • H2O Feature Store: Plataforma de almacenamiento de características

Conclusión

h2oGPT es una solución GPT potente, de código abierto y privada, especialmente adecuada para escenarios donde empresas y usuarios individuales necesitan un control total sobre la privacidad de sus datos. No solo ofrece funcionalidades similares a los servicios comerciales de GPT, sino que también añade características como procesamiento de documentos, soporte multimodal y seguridad de nivel empresarial, lo que lo convierte en una opción ideal para construir aplicaciones de IA privadas.

Star History Chart