How to self-host MedGemma with Hugging Face TGI as private AI

Run MedGemma from Google as your own private, self-hosted AI. TGI runs the model on your own GPU server, and TypingMind gives you a full chat app on top of it. Your prompts stay on your servers, and there is no per-message cost.

About MedGemma: MedGemma is a collection of Gemma 3 variants that are trained for performance on medical text and image comprehension.

MedGemma Overview

ModelMedGemma
Made byGoogle
Runs onHugging Face TGI
Versionsmedgemma-4b-it, medgemma-27b-it
Model weights8.6 GB to 54.9 GB
Minimum GPU1 × 16 GB GPU
Capabilities
Vision
LicenseHealth AI Developer Foundations
AccessNeeds approval on Hugging Face
TGI model IDgoogle/medgemma-4b-it
Downloads on Hugging Face458.4K last month
Model iconGet the icon for TypingMind

Which version of MedGemma should you pick?

Each version is a different size of MedGemma. Bigger versions give better answers but need more GPU memory. Pick the biggest one that fits your GPUs.

Model IDParametersWeightsSuggested GPU
google/medgemma-4b-itused in this guideneeds approval4.3B8.6 GB1 × 16 GB GPU
google/medgemma-27b-itneeds approval27.4B54.9 GB1 × 80 GB GPU

Suggested GPU is a rough guide: the full-precision weights plus about 20% and 2 GB for chats. Longer context windows and more users need more. A 24 GB GPU is an NVIDIA L4, A10G, or RTX 4090, and an 80 GB GPU is an A100 or H100.

Run MedGemma with TGI

The steps below use google/medgemma-4b-it, the smallest version. Swap in another model ID from the table if you have bigger GPUs.

Before you start

  • You need a Linux server with an NVIDIA GPU, Docker, and the NVIDIA Container Toolkit. A cloud GPU server works too. TGI doesn't run on a Mac; on a laptop, use Ollama or LM Studio.
  • Hugging Face has archived TGI. It still works, but it no longer gets updates, and new model families go to vLLM and SGLang instead.
I

Get MedGemma from Hugging Face

Open google/medgemma-4b-it on Hugging Face. The model ID is the part after huggingface.co/, and you can copy it with the button next to the name. The text-generation-inference tag means the model works with TGI.

Hugging Face model page with the model ID, copy button, and text-generation-inference tag
Copy the model ID from the model page (example with Qwen/Qwen2.5-7B-Instruct)

MedGemma needs access approval. Log in to Hugging Face, open the model page, and accept the license terms (Health AI Developer Foundations). Wait until the page says you have access.

Hugging Face asking you to accept the license before you can download a gated model
Accept the license to download a gated model (example with meta-llama/Llama-3.1-8B-Instruct)

Then create a token with Read access at huggingface.co/settings/tokens. TGI uses it to download the model.

II

Start MedGemma with TGI

On your GPU server (1 × 16 GB GPU or more), run:

docker run -d --rm --name tgi --gpus all --shm-size 1g \
  -p 127.0.0.1:8080:80 \
  -v $PWD/data:/data \
  -e HF_TOKEN=hf_your_token \
  ghcr.io/huggingface/text-generation-inference:3.3.5 \
  --model-id google/medgemma-4b-it \
  --num-shard 1 \
  --cors-allow-origin https://www.typingmind.com
  • Replace hf_your_token with your Hugging Face token.
  • -d keeps TGI running after you close the terminal.
  • -p 127.0.0.1:8080:80 serves TGI on port 8080 of your server, for connections from the server itself only. The SSH tunnel in step III is one of them.
  • -v $PWD/data:/data keeps the downloaded model, so the next start is fast.
  • --num-shard 1 keeps the model on one GPU, even if your server has more.
  • --cors-allow-origin https://www.typingmind.com lets only the TypingMind web app call TGI from a browser, not other websites you visit.

The first start downloads 8.6 GB of model weights, so it can take a while. Follow along with:

docker logs -f tgi

TGI is ready when the log prints Connected. Press Ctrl+C to stop following the log, then check it with:

curl http://localhost:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model": "tgi", "messages": [{"role": "user", "content": "Say hi"}]}'

You should get a JSON reply with the model's answer.

III

Connect your computer to TGI

TypingMind runs on https://, so your browser blocks calls to a plain http:// server, unless the server is at localhost. An SSH tunnel makes TGI show up at localhost:8080 on your computer. On your computer, run:

ssh -N -L 8080:localhost:8080 user@your-gpu-server

Replace user@your-gpu-server with how you log in to the server, and keep this terminal open while you chat. Skip this step if TGI runs on the computer you use for TypingMind.

IV

Add MedGemma to TypingMind

Open www.typingmind.com in your browser. Use the web version: the TypingMind Mac app and the Setapp version block plain http:// addresses like TGI's.

Click Models in the left sidebar, then Add custom model.

Fill in the form:

Namemedgemma-4b-it (TGI)or any name you like
Model IDgoogle/medgemma-4b-it
Context Length32768lower it if TGI rejects long chats
API TypeOpenAI Chat Completions API
Endpoint URLhttp://localhost:8080/v1/chat/completions
Authentication TypeNo authentication
TypingMind Add Custom Model form filled in for google/medgemma-4b-it running on TGImedgemma-4b-it (TGI)google/medgemma-4b-it32768http://localhost:8080/v1/chat/completions
The custom model form for google/medgemma-4b-it

Open the Capabilities tab and turn off Auto check capabilities on save, so TypingMind keeps the features you set below.

Then set the features for MedGemma:

  • Support System Role: on
  • Support Streaming Output: on
  • Support Image Input: on
  • Support Plugins: off
  • Support PDF Input: off
  • Support External Image URLs: off
  • Support Thinking: off
  • Support Prompt Caching: off

Click Test & Save. If your browser asks to let www.typingmind.com access other apps and services on this device, click Allow. This lets the page reach TGI at localhost.

V

Chat with MedGemma in TypingMind

Pick medgemma-4b-it (TGI) in the model menu under the chat box and say hi. Replies come straight from your own GPU server.

Chatting with MedGemma running on TGI on your own GPU server in TypingMindmedgemma-4b-it (TGI)
A private chat with MedGemma on your own GPU server

Send images to MedGemma

MedGemma can read images. Click the paperclip under the chat box, attach a photo or screenshot, and ask about it. The image stays on your own GPU server.

You can now use your private AI with TypingMind's chat features: prompts, AI agents, projects, and switching between your self-hosted model and cloud models in the same chat.

Tips and troubleshooting

1. "Could not connect to the API (code: 1)"

TypingMind can't reach TGI. Check these in order:

  • The SSH tunnel is still open. If you closed its terminal, run the tunnel command from step III again.
  • TGI is still running on the server: docker ps should list tgi. If it's gone, run the command from step II again.
  • TGI answers on the server. Run this on the server:
curl http://localhost:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model": "tgi", "messages": [{"role": "user", "content": "Say hi"}]}'
  • You clicked Allow when the browser asked about accessing apps on this device.
  • You're using TypingMind in the browser, not the Mac or Setapp app.

2. TGI stops with "CUDA out of memory"

The model is too big for your GPU. Add GPUs and split the model across them with --num-shard.

3. TGI can't download the model (401 or 403)

The model needs access approval. Accept its license on Hugging Face, then pass your token with -e HF_TOKEN=hf_your_token.

4. Long chats fail with a token limit error

TGI fits the context window to your GPU memory. Lower Context Length in the TypingMind model settings.

5. The first message of a new chat seems stuck

TypingMind writes a title for each new chat. If the title is made by the same model, your reply can wait behind the title. Go to Settings → Internal prompts, open Advanced Settings under Auto generate title for new chats, and pick another model for title generation, or turn auto titles off.

6. See what TGI is doing

Watch every request as it happens:

docker logs -f tgi

TGI runs one model at a time. To switch models, stop it with docker stop tgi and start it again with a new --model-id.

Frequently Asked Questions

Is MedGemma free to run with TGI?

Yes. TGI is free and open source, and MedGemma is an open model. MedGemma needs access approval on Hugging Face, so accept its license and use a Hugging Face token to download it. You only pay for your own GPU server, with no per-message cost.

Is MedGemma private when I run it with TGI?

Yes. Your messages go from your browser to TGI on your own server, not to an AI company. TypingMind keeps your chat history in your browser. If you turn on Cloud Sync, your chats are also backed up to TypingMind's cloud.

How much GPU memory do I need for MedGemma?

google/medgemma-4b-it, the version used in this guide, needs about 1 × 16 GB GPU.

Which Model ID do I use in TypingMind?

TGI serves one model per server, so it does not use the Model ID to pick a model. Use the Hugging Face model ID, for example google/medgemma-4b-it, so you can tell your models apart in TypingMind.

Can MedGemma use TypingMind plugins?

MedGemma's chat template doesn't list tool use, so keep Support Plugins off. Pick a model with tool calling if you need plugins.

Can MedGemma read images?

Yes. MedGemma accepts images, so turn on Support Image Input and attach images in the chat.

Can I run TGI on my Mac or laptop?

Not really. TGI is built for NVIDIA GPUs, and Docker on a Mac cannot use the Mac's GPU. On a Mac or a laptop, use Ollama or LM Studio instead.

Does TypingMind run locally?

TypingMind runs in your browser at www.typingmind.com, and your chats are stored locally in your browser by default. When you chat with a self-hosted model, your messages go straight from your browser to the model on your own GPU server, not through TypingMind’s servers. If you turn on Cloud Sync, your chats are also backed up to TypingMind’s cloud.

Can I self-host TypingMind?

Yes. To self-host TypingMind for your team or company, use the self-hosted version of TypingMind Teams. You run it on your own servers next to your self-hosted models, so chats, users, and settings stay inside your own infrastructure. Contact our sales team to get started.

More models for Hugging Face TGI