Skip to main content

Przegląd

Open WebUI to self-hosted UI czatu, ale samo w sobie nie powie Ci, ile kosztują czaty poszczególnych użytkowników, ani nie prowadzi śladu audytowego ruchu do modeli. Skierowanie jego połączenia OpenAI na GoModel to naprawia: jedno połączenie, a każdy czat jest logowany, wyceniany i przypisywany do zalogowanego użytkownika Open WebUI. To samo połączenie dodaje do wyboru modeli w Open WebUI modele Anthropic, Gemini i każdego innego providera skonfigurowanego w GoModel. Przepływ: Open WebUI chat -> Open WebUI backend -> GoModel -> OpenAI/Anthropic/Gemini/... Co zyskujesz:
  • Pełne body requestów i odpowiedzi każdego czatu w logu audytowym GoModel.
  • Koszt per użytkownik Open WebUI dzięki przekazywanym nagłówkom użytkownika i etykietom.
  • Wszystkich providerów za jednym połączeniem OpenAI; bez konfiguracji per provider w Open WebUI.
  • Metryki Prometheus i trace’y OpenTelemetry dla ruchu czatowego, po włączeniu tych eksporterów (zobacz Uwagi).
  • Failover, rate limity, budżety i cache odpowiedzi stosowane do ruchu czatowego, gdy skonfigurujesz je w GoModel.

1. Uruchom GoModel obok Open WebUI

Uruchom obie usługi w jednej sieci Dockera, aby Open WebUI mogło łączyć się z GoModel po nazwie kontenera:
docker-compose.yml
Otwórz http://localhost:3000, utwórz pierwsze konto (administratora), a lista wyboru modeli pokaże dokładnie to, co udostępnia GoModel – w tym modele Anthropic i Gemini oraz wszelkie modele wirtualne. W istniejących instalacjach możesz ustawić to samo połączenie w trakcie działania w Admin Panel -> Settings -> Connections -> OpenAI API zamiast używać zmiennych środowiskowych.
Utwórz w dashboardzie GoModel dedykowany klucz API dla Open WebUI (API Keys -> Create API Key) zamiast używać master key. Klucze mają etykiety, budżety i rate limity, więc wydatki na czat są widoczne osobno w dashboardzie.

2. Rozmawiaj i oglądaj każde wywołanie w GoModel

Wybierz dowolny model – openai/gpt-5-mini, anthropic/claude-haiku-4-5-20251001, gemini/gemini-2.5-flash – i rozmawiaj. Odpowiedzi streamingowe oraz generowanie tytułu i tagów, które Open WebUI uruchamia po każdym czacie, przechodzą przez GoModel. Każde wywołanie pojawia się w logu audytowym z pełnym promptem, odpowiedzią, tokenami, kosztem i nagłówkami identyfikującymi użytkownika.
Zweryfikowano z Open WebUI 0.11.3: lista modeli, czat ze streamingiem i bez, generowanie tytułów i etykiety per użytkownik, z modelami OpenAI, Anthropic i Gemini kierowanymi przez GoModel.

Śledzenie kosztów per użytkownik

Gdy ustawisz dwie zmienne z kroku 1, każdy request zawiera X-OpenWebUI-User-Email (oraz -Name, -Id i -Role), a GoModel zapisuje e-mail jako etykietę. Widok użycia według etykiet w dashboardzie pokazuje wtedy requesty, tokeny i koszt per osoba. Dodaj TAGGING_HEADER_2: X-OpenWebUI-User-Name (z własnym TAGGING_HEADER_2_DONOTPASS: "true"), aby uzyskać czytelniejsze etykiety. Jeśli e-maile nie powinny pojawiać się w danych o użyciu, ustaw zamiast tego w kroku 1 TAGGING_HEADER_1: X-OpenWebUI-User-Id, zachowując TAGGING_HEADER_1_DONOTPASS. Dopasowanie nazw nagłówków nie rozróżnia wielkości liter, więc pisownia X-Openwebui-User-Email, którą Open WebUI faktycznie wysyła, jest w porządku. Pozostaw ustawione TAGGING_HEADER_1_DONOTPASS: zwykłe kierowane requesty nigdy nie przekazują nagłówków klienta, ale requesty passthrough w przeciwnym razie przeniosłyby nagłówek z e-mailem do providera. Prefiksy i blokowanie przekazywania tych nagłówków do providera upstream opisuje strona Etykietowanie.

Okiełznaj listę wyboru modeli

GoModel może udostępniać setki modeli, a Open WebUI wyświetla je wszystkie. Aby lista wyboru była użyteczna:
  • Ukryj modele lub ogranicz je do grup użytkowników w Admin Panel -> Settings -> Models.
  • Ustaw DEFAULT_MODELS, aby nowi użytkownicy zaczynali od wybranego przez Ciebie modelu.
  • Albo udostępniaj mniej providerów w GoModel; lista wyboru odzwierciedla GET /v1/models.

Wybierz tani model do zadań

Po każdym czacie Open WebUI generuje tytuł i tagi, domyślnie tym samym modelem co czat – to kilkaset dodatkowych tokenów promptu na rozmowę, które teraz zobaczysz rozpisane w logu audytowym. Ustaw mały model (na przykład openai/gpt-5-mini) jako model do zadań w Admin Panel -> Settings -> Interface, aby ten narzut był tani. Wywołania zadań również przechodzą przez GoModel, więc pozostają logowane i wyceniane.

Embeddingi i RAG

RAG dokumentów w Open WebUI domyślnie używa lokalnego modelu embeddingów. Aby kierować embeddingi przez GoModel, ustaw silnik embeddingów na openai w Admin Panel -> Settings -> Documents z tym samym bazowym URL i kluczem co w kroku 1. GoModel obsługuje /v1/embeddings i wycenia użycie embeddingów jak każde inne wywołanie. Zmiana silnika wymaga ponownego zindeksowania istniejących dokumentów; routing czatu działa bez tego.

Rozwiązywanie problemów

Uwagi

  • Failover i budżety GoModel działają automatycznie dla ruchu czatowego; budżet per klucz ogranicza, ile może wydać cała instancja Open WebUI.
  • Generowanie obrazów, speech-to-text i text-to-speech mają osobne endpointy w ustawieniach administracyjnych Open WebUI i nie były częścią weryfikacji.
  • Dashboardy i alerty opisują strony Metryki Prometheus i OpenTelemetry.
Ostatnia modyfikacja 24 października 2026