explaingit

h2oai/h2ogpt

11,989PythonAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

h2oGPT is a self-hosted AI chat assistant you run on your own computer, upload documents and ask the AI questions about them while all data stays private.

Mindmap

mindmap
  root((h2oGPT))
    What it does
      Private AI chat
      Document Q&A
      Voice interaction
      Image generation
    Tech Stack
      Python
      Gradio
      Docker
      LLaMa 2
    Use Cases
      Private document chat
      OpenAI replacement
      Local AI agent
    Audience
      Privacy-focused devs
      Enterprises
      Researchers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a private AI chat assistant on your own machine that reads and answers questions about uploaded PDFs and Word documents.

USE CASE 2

Replace OpenAI API calls in existing apps by pointing them at h2oGPT's OpenAI-compatible local endpoint.

USE CASE 3

Hold voice conversations with an AI that listens to your microphone and speaks responses, entirely on your hardware.

USE CASE 4

Generate images with Stable Diffusion or analyze photos using vision-capable AI models from a single browser interface.

Tech stack

PythonGradioDockerLLaMa 2MistralStable Diffusionllama.cppOllama

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Docker and ideally a GPU, CPU-only inference is significantly slower. Multiple configuration steps before the first run.

Free to use and modify for any purpose, including commercial use, as long as you include the Apache 2.0 license notice.

In plain English

h2oGPT is an open-source tool that lets you run an AI chat assistant entirely on your own computer or server, keeping your data private. You can have conversations with the AI and also upload your own documents so the AI can read, search, and answer questions about them. Supported file types include PDFs, Word documents, Excel spreadsheets, images, audio files, video frames, YouTube video transcripts, and plain text, among others. The software supports a wide range of AI models, including LLaMa 2, Mistral, Falcon, and many others, as well as models accessed through tools like Ollama and llama.cpp. Depending on your computer's hardware, models can run on a graphics card for speed or on the CPU alone. The interface is a browser-based panel built with a tool called Gradio, where you can upload documents, start conversations, and manage multiple separate document collections for different projects. Beyond basic chat, h2oGPT includes voice capabilities: you can speak to it using microphone input and have it respond in audio. It also supports image generation through several tools including Stable Diffusion, and it can describe the contents of images using vision-capable AI models. Web search integration lets the AI look up current information to include in its answers. For developers, the project can act as a drop-in replacement for OpenAI's API, meaning existing applications built to talk to OpenAI's servers can be pointed at h2oGPT instead to run privately. It also supports agents that can write and execute code, analyze spreadsheet data, and produce charts. Installation is available via Docker (the recommended method for most users), as well as platform-specific guides for Linux, macOS, and Windows. The project is licensed under the Apache 2.0 open-source license, meaning it is free to use and modify.

Copy-paste prompts

Prompt 1
I have h2oGPT running locally. How do I upload a PDF and ask it questions about the document contents?
Prompt 2
Set up h2oGPT so my existing Python app that calls the OpenAI API talks to my local model instead of OpenAI's servers.
Prompt 3
How do I configure h2oGPT to use Mistral 7B via llama.cpp for CPU-only inference without a GPU?
Prompt 4
I want web search enabled in h2oGPT so it can look up current information before answering. How do I turn that on?
Prompt 5
Walk me through installing h2oGPT with Docker on Linux and running a basic document Q&A session end to end.
Open on GitHub → Explain another repo

← h2oai on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.