Skip to content

h2oai/openwebui-h2oGPTe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenWebUI + H2O GPTe Integration

OpenWebUI Demo

πŸš€ One-Command Startup: Get OpenWebUI with H2O GPTe pipelines running instantly!

🎯 Quick Start

Option 1: Using the startup script (Recommended)

For this one you need to have docker preinstalled. You may need to create a PAT from GitHub to pull the images from the GitHub container registry.

./start.sh

πŸš€ Complete Setup Guide (After Running start.sh)

Once your Docker containers are running, follow these steps to get H2O GPTe working:

Step 1: Access OpenWebUI and Create Admin Account
  1. Open your browser and go to: http://localhost:3000
  2. Create your first-time admin account (this only happens once)
  3. Login with your new admin credentials
Step 2: Connect the Pipeline
  1. Click on your profile icon (top-right corner)
  2. Go to Settings
  3. Navigate to Admin Settings > Connections
  4. Add a new connection with these details:
    • URL: http://host.docker.internal:9090
    • API Key: 0p3n-w3bu!
  5. Save the connection
Step 3: Configure H2O GPTe Pipeline
  1. Stay in Admin Settings and go to Pipelines
  2. You should see the available pipelines listed
  3. Find and click on h2ogpte_pipeline to configure it
  4. Fill in the required fields:
    • URL: [Your H2O GPTe server URL]
    • API Key: [Your H2O GPTe API key]
    • Collection ID: [Your collection ID]
    • Collection Name: [Your collection name]
  5. Save the pipeline configuration
Step 4: Verify Setup
  1. Go back to the main chat interface
  2. Check the Models dropdown - you should now see h2ogpte listed
  3. Select h2ogpte as your model
  4. Start querying! πŸŽ‰

βœ… Success Indicator: When you see "h2ogpte" in your models dropdown, everything is working correctly!


πŸ”‘ GitHub PAT Setup for Private Container Registry

  1. Generate a Personal Access Token:
    GitHub β†’ Settings β†’ Developer settings β†’ Personal access tokens β†’ Tokens (classic) β†’ Generate new token

    • Select scopes: read:packages, write:packages (if pushing), repo (if pulling private repos).
  2. Authenticate Docker with your PAT:

echo "<YOUR_PAT>" | docker login ghcr.io -u <YOUR_GITHUB_USERNAME> --password-stdin

Option 2: Using Make

make install  # Setup and start everything
# OR
make start    # Just start the services

Option 3: Using Docker Compose

docker-compose up -d

Access your services at:

πŸ“‹ Available Commands

Startup Script Commands

./start.sh                    # Start everything (default)
./start.sh start              # Start all services
./start.sh stop               # Stop all services  
./start.sh restart            # Restart all services
./start.sh logs               # View logs
./start.sh clean              # Clean up everything
./start.sh help               # Show help

Make Commands

make help                     # Show all available commands
make start                    # Start all services
make stop                     # Stop all services
make restart                  # Restart all services
make logs                     # View all logs
make clean                    # Clean up containers and volumes
make setup                    # Check dependencies and setup
make install                  # Complete setup + start
make status                   # Show service status
make update                   # Update container images

βš™οΈ First-Time Setup

  1. Run ./start.sh to start everything
  2. Visit http://localhost:3000 and create an admin account
  3. Go to Admin Panel > Settings > Connections
  4. Add pipeline URL: http://host.docker.internal:9090
  5. Configure your H2O GPTe settings in the pipeline

πŸ“¦ What Gets Started

  1. OpenWebUI Container: The main web interface
  2. Pipelines Container: H2O GPTe pipeline integration
  3. Shared Volumes: For data persistence and file sharing
  4. Network: Isolated network for container communication

πŸ”§ Prerequisites

  • Docker and Docker Compose
  • Available ports: 3000 (OpenWebUI), 9090 (Pipelines)

The startup script will check for these dependencies automatically.

πŸ› Troubleshooting

Services won't start

./start.sh clean    # Clean everything
./start.sh start    # Try again

Check service status

make status
# OR
docker-compose ps

View logs

make logs           # All services
make logs-web       # OpenWebUI only
make logs-pipeline  # Pipelines only

Port conflicts

If ports 3000 or 9090 are in use, modify docker-compose.yaml:

ports:
  - "8080:8080"  # Change 3000 to 8080

πŸ”„ Updates

Update to latest versions:

make update
make restart

πŸ›‘ Cleanup

Remove everything (containers, volumes, data):

./start.sh clean
# OR
make clean

πŸ“ Project Structure

openwebui-h2oGPTe/
β”œβ”€β”€ start.sh              # One-command startup script
β”œβ”€β”€ Makefile               # Make commands for easy management  
β”œβ”€β”€ docker-compose.yaml    # Container orchestration
β”œβ”€β”€ README.md              # This file
└── pipelines/             # H2O GPTe pipeline files
    β”œβ”€β”€ h2o_pipelinev2_docker.py
    β”œβ”€β”€ h2opipelinev2.py
    β”œβ”€β”€ h2opipelinev3.py
    └── h2opipilenev1.py

πŸ“– Advanced Usage

H2O GPTe Pipeline Configuration

The project includes several pipeline versions:

  • h2o_pipelinev2_docker.py - Docker-optimized pipeline
  • h2opipelinev2.py - Standard pipeline v2
  • h2opipelinev3.py - Latest pipeline version
  • h2opipilenev1.py - Legacy pipeline v1

Environment Variables

Customize your setup with these environment variables:

# In your shell or .env file
export WEBUI_SECRET_KEY="your-custom-secret-key"
export PIPELINES_API_KEY="your-custom-api-key"

Pipeline Development

To develop custom pipelines:

  1. Place your pipeline files in the pipelines/ directory
  2. They'll be automatically mounted into the pipelines container
  3. Restart the pipelines service: docker-compose restart pipelines

πŸ”— Integration Details

Connecting to OpenWebUI

  1. After startup, visit http://localhost:3000
  2. Create an admin account (first-time only)
  3. Navigate to Admin Panel > Settings > Connections
  4. Add connection:
    • URL: http://host.docker.internal:9090
    • API Key: Check your console output or use default

Pipeline Upload

  1. Go to Pipelines section in OpenWebUI
  2. Upload your H2O pipeline file from the pipelines/ directory
  3. Configure pipeline settings as needed
  4. Start using H2O GPTe through OpenWebUI interface

Ready to start? Just run ./start.sh and you're good to go! πŸŽ‰ Ready to start? Just run ./start.sh and follow the setup guide above! πŸŽ‰

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •