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.
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 zawieraX-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ładopenai/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 naopenai
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.