Skip to main content

Open WebUI — AI Chat Interface

Self-hosted ChatGPT-equivalent for the ktayl-solution IS. Connects all users (employees, underwriters, claims handlers) to the LiteLLM gateway — providing access to vLLM-hosted local models and cloud providers behind a unified chat interface.

Access

URLAudience
https://chat.devandre.sbsPublic (Cloudflare Tunnel)
https://chat.10.0.0.200.nip.ioInternal (Tailscale only)

Login: Authentik OIDC SSO.

Deployment

ParameterValue
Namespaceai
Managed byArgoCD (litellm app)
ImageCustom — minicloud-open-webui
Manifest pathmanifests/ai/ in minicloud-gitops
StorageLonghorn PVC (conversation history)
AuthAuthentik OIDC

The custom image (minicloud-open-webui) adds:

  • minicloud CA certificate trusted at TLS level
  • French BM25 tokenizer for French-language RAG search
kubectl --context minicloud get pods -n ai -l app=open-webui
kubectl --context minicloud get ingress -n ai chat

Custom image source

cd ~/Developer/cloudplateform/minicloud-open-webui
# Build locally (injects CA cert at build time):
docker build --build-arg CA_CERT="$(cat ~/minicloud-ca.crt)" .

CI pushes signed images to harbor.10.0.0.200.nip.io/library/minicloud-open-webui.

Model routing via LiteLLM

Open WebUI connects to LiteLLM at https://litellm.devandre.sbs. Model selection in the UI corresponds to LiteLLM route names:

UI model nameBackend
mistral-7bvLLM on-cluster (ai namespace)
phi3-minivLLM on-cluster
gpt-4oAzure OpenAI (€10/month cap)
claude-3-haikuAnthropic API (€10/month cap)

RAG pipeline integration

Open WebUI connects to the on-cluster RAG pipeline for document-grounded answers:

User question (Open WebUI)

LiteLLM gateway
↓ embed query
Qdrant (policy-docs, incident-reports collections)
↓ retrieve top-k chunks
LLM (vLLM / cloud)
↓ grounded answer
Open WebUI (with citations)

Collections available to users:

  • policy-docs — insurance product terms and conditions
  • incident-reports — historical claims reports (anonymised)
  • regulatory — ACPR/EIOPA guidance documents

IS use cases

UserUse case
Claims handler"What does policy clause 12.3 say about water damage?"
Underwriter"Summarise the risk profile for this prospect sector"
HR"Draft a DDA-compliant training reminder email"
Developer"Explain this Spring Boot stack trace"