Login

Ferramenta de chat GPT local e privada, com suporte para perguntas e respostas sobre documentos, processamento de imagem e vídeo e outras funções, implantação 100% privada.

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

Detalhes do Projeto h2oGPT

Visão Geral do Projeto

h2oGPT é um projeto de código aberto desenvolvido pela H2O.ai, que visa fornecer uma experiência de chat GPT totalmente privada e local, suportando várias funcionalidades como perguntas e respostas sobre documentos, processamento de imagens e vídeos, entre outras. O projeto é baseado na licença Apache V2, garantindo que os usuários possam implantar e usar com 100% de privacidade.

Endereço do Projeto: https://github.com/h2oai/h2ogpt

Endereço da Demonstração: https://gpt.h2o.ai/

Características Principais

1. Capacidade de Processamento de Documentos

h2oGPT suporta um banco de dados privado offline para vários tipos de documentos, incluindo PDF, Excel, Word, imagens, quadros de vídeo, YouTube, áudio, código, texto, MarkDown, etc. As principais características incluem:

  • Banco de Dados Persistente: Usa Chroma, Weaviate ou FAISS em memória para armazenamento de documentos
  • Incorporações Precisas: Suporta modelos de incorporação como instructor-large, all-MiniLM-L6-v2
  • Utilização Eficiente do Contexto: Usa LLMs ajustados por instrução, sem a necessidade de métodos few-shot do LangChain
  • Processamento Paralelo: Resumo e extração paralelos, o modelo LLaMa2 de 13B pode atingir uma velocidade de saída de 80 tokens por segundo
  • Tecnologia HYDE: Tecnologia de incorporação de documentos hipotéticos baseada em respostas de LLM, aprimorando a capacidade de recuperação
  • Fragmentação Semântica: Melhor segmentação de documentos (requer suporte a GPU)

2. Suporte a Modelos

h2oGPT suporta vários modelos, incluindo LLaMa2, Mistral, Falcon, Vicuna, WizardLM, etc., e tecnologias como AutoGPTQ, quantização de 4-bit/8-bit, LORA:

  • Suporte a GPU: De modelos HuggingFace e LLaMa.cpp GGML
  • Suporte a CPU: Usando modelos HF, LLaMa.cpp e GPT4ALL
  • Mecanismo de Atenção: Suporta geração de comprimento arbitrário (LLaMa-2, Mistral, MPT, Pythia, Falcon, etc.)

3. Interface do Usuário

  • Gradio UI: Fornece uma interface web intuitiva, suportando saída de fluxo
  • CLI: Interface de linha de comando, suporta processamento de fluxo para todos os modelos
  • Upload e Visualização de Documentos: Upload e visualização de documentos através da UI (suporta várias coleções colaborativas ou pessoais)

4. Capacidades Multimodais

Modelos Visuais

Suporta modelos visuais como LLaVa, Claude-3, Gemini-Pro-Vision, GPT-4-Vision

Geração de Imagens

Suporta modelos de geração de imagens como Stable Diffusion (sdxl-turbo, sdxl, SD3), PlaygroundAI (playv2) e Flux

Processamento de Voz

  • STT (Fala para Texto): Usa Whisper para conversão de áudio em fluxo
  • TTS (Texto para Fala):
    • Microsoft Speech T5 com licença MIT, suporta várias vozes e conversão de áudio em fluxo
    • TTS com licença MPL2, incluindo clonagem de voz e conversão de áudio em fluxo
  • Controle de Voz do Assistente de IA: Suporta modo de chat h2oGPT com controle mãos-livres

5. Funcionalidades de Nível Empresarial

Autenticação e Gerenciamento de Estado

  • Autenticação da UI: Autenticação via nome de usuário/senha ou Google OAuth
  • Manutenção de Estado: Mantém o estado na UI via nome de usuário/senha
  • Integração Open Web UI: Usa h2oGPT como backend através de um proxy OpenAI

API e Integração

  • API Compatível com OpenAI: h2oGPT pode ser usado como uma alternativa ao servidor OpenAI
  • Suporte a Servidores de Inferência: Suporta oLLaMa, servidores HF TGI, vLLM, Gradio, ExLLaMa, Replicate, Together.ai, OpenAI, Azure OpenAI, Anthropic, MistralAI, Google e Groq

Funcionalidades da API do Servidor Proxy

  • Chat e conclusão de texto (em fluxo e não em fluxo)
  • Transcrição de áudio (STT)
  • Geração de áudio (TTS)
  • Geração de imagens
  • Incorporações
  • Chamada de ferramentas de função e seleção automática de ferramentas
  • Agente de execução de código AutoGen

6. Funcionalidades Avançadas

Modo JSON e Saída Estruturada

  • Controle de Esquema Estrito: Controle de esquema estrito usando outlines via vLLM
  • Suporte Multiplataforma: Suporta controle de esquema estrito para modelos OpenAI, Anthropic, Google Gemini, MistralAI
  • Modo JSON: Fornece modo JSON para alguns modelos OpenAI ou Gemini mais antigos

Pesquisa na Web e Agentes

  • Integração de Pesquisa na Web: Pesquisa na web integrada com chat e perguntas e respostas sobre documentos
  • Agentes Inteligentes: Suporta agentes para pesquisa, perguntas e respostas sobre documentos, código Python, frameworks CSV, etc.
  • Agentes de Alta Qualidade: Fornece agentes de alta qualidade através de um servidor proxy OpenAI em uma porta independente
  • Agentes Prioritários de Código: Geram gráficos, pesquisas, avaliam imagens através de modelos visuais, etc.

Avaliação de Desempenho

  • Modelos de Recompensa: Avalia o desempenho usando modelos de recompensa
  • Garantia de Qualidade: Mantém a qualidade através de mais de 1000 testes unitários e de integração (mais de 24 horas de GPU)

Instalação e Implantação

Modo de Implantação Recomendado

Recomenda-se usar Docker para implantação de funcionalidade completa em Linux, Windows e MAC. Suporte por plataforma:

  • Docker: Funcionalidade completa em Linux, Windows, MAC
  • Scripts Linux: Funcionalidade completa
  • Scripts Windows e MAC: Funcionalidade relativamente limitada

Modos de Instalação Suportados

  1. Construção e Execução com Docker: Aplicável a Linux, Windows, MAC
  2. Instalação e Execução em Linux: Suporte nativo a Linux
  3. Scripts de Instalação para Windows 10/11: Suporte à plataforma Windows
  4. Instalação e Execução em MAC: Suporte à plataforma macOS
  5. Início Rápido: Aplicável a qualquer plataforma

Especificações Técnicas

Requisitos de Hardware

  • Suporte a GPU: CUDA, AutoGPTQ, exllama
  • Suporte a CPU: Suporta execução apenas em CPU
  • Otimização de Memória: Oferece modo de baixa memória

Instalação Offline

  • Suporta instalação totalmente offline
  • Capacidade de processamento de documentos offline
  • Implantação de modelos locais

Desenvolvimento e Extensão

Ambiente de Desenvolvimento

  • Siga as instruções de instalação para criar um ambiente de desenvolvimento para treinamento e geração
  • Suporta ajuste fino de qualquer modelo LLM em dados personalizados
  • Fornece um conjunto completo de testes

Testes

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 testes de servidor openai em um servidor local já em execução
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client

API Cliente

  • API Cliente Gradio
  • API Cliente Compatível com OpenAI
  • Biblioteca Cliente Python

Arquitetura Técnica

Pilha Tecnológica Principal

  • Modelos Base: LLaMa2, Mistral, Falcon, etc.
  • Tecnologia de Incorporação: instructor-large, all-MiniLM-L6-v2
  • Banco de Dados Vetorial: Chroma, Weaviate, FAISS
  • Framework UI: Gradio
  • Tecnologia Backend: Python, PyTorch, Transformers

Fluxo de Processamento de Dados

  1. Ingestão de Documentos: Usa tecnologia OCR avançada (DocTR)
  2. Segmentação de Documentos: Tecnologia de fragmentação semântica
  3. Vetorização: Usa modelos de incorporação precisos
  4. Recuperação Aprimorada: Tecnologia HYDE para aprimorar a recuperação
  5. Geração de Respostas: Respostas inteligentes baseadas no contexto

Aplicações Comerciais

Soluções de Nível Empresarial

h2oGPT oferece soluções de IA generativa de nível empresarial, com as seguintes características principais:

  • Totalmente Privado: Implantação 100% privada, dados não saem da empresa
  • Escalabilidade: Suporta implantação em larga escala
  • Segurança: Garantias de segurança de nível empresarial
  • Personalização: Suporta ajuste fino e personalização de modelos

Cenários de Aplicação

  • Sistema de Perguntas e Respostas sobre Documentos: Perguntas e respostas sobre bases de conhecimento internas da empresa
  • Assistência de Código: Geração e revisão de código
  • Análise de Dados: Processamento e análise de dados CSV
  • Processamento Multimídia: Processamento de imagens, vídeos, áudio
  • Atendimento ao Cliente: Sistema de atendimento ao cliente inteligente

Ecossistema H2O.ai

h2oGPT faz parte da plataforma completa de IA da H2O.ai. A H2O.ai também oferece:

  • H2O-3: Plataforma de aprendizado de máquina de código aberto
  • H2O Driverless AI: Plataforma AutoML líder mundial
  • H2O Hydrogen Torch: Plataforma de aprendizado profundo sem código
  • Document AI: Plataforma de aprendizado profundo para processamento de documentos
  • H2O MLOps: Plataforma de implantação e monitoramento de modelos
  • H2O Feature Store: Plataforma de armazenamento de recursos

Conclusão

h2oGPT é uma solução GPT privada de código aberto poderosa e rica em recursos, especialmente adequada para empresas e usuários individuais que precisam de controle total sobre a privacidade dos dados. Ele não apenas oferece funcionalidades semelhantes aos serviços GPT comerciais, mas também adiciona processamento de documentos, suporte multimodal, segurança de nível empresarial e outras características, tornando-o a escolha ideal para a construção de aplicações de IA privadas.

Star History Chart