Przegląd
Slowdown sprawia, że model odpowiada wolniej niż jego provider. GoModel mierzy, ile trwało wywołanie upstreamu, i czeka dodatkowy ułamek tego czasu, zanim zwróci odpowiedź. Ustawienie jest współczynnikiem dodatkowego czasu:
Używaj go do testowania timeoutów klienta, stanów ładowania i logiki ponowień
albo żeby sprawdzić, jak aplikacja zachowuje się z wolniejszym modelem bez
zmiany providera. Na produkcji, gdzie nie ma to żadnego celu, nie ustawiaj go.
Slowdown jest domyślnie wyłączony.
Konfiguracja spowolnienia
Ustaw Slowdown na konkretnym modelu lub przekierowaniu (aliasie). Aktywne współczynniki mieszczą się w zakresie od0.1 do 10. 0 jawnie wyłącza
spowolnienie, w tym odziedziczone z modelu docelowego. Pusta wartość oznacza,
że ustawienie nie jest określone.
Dashboard
OtwórzModels, edytuj model lub model wirtualny i wypełnij Slowdown (extra
inference time). Modele z aktywnym spowolnieniem pokazują je w swoim wierszu.
config.yaml
Zmienna środowiskowa
Admin API
400. Spowolnienie wymaga modelu:
selektor dla całego providera, taki jak openai/*, jest odrzucany.
Pierwszeństwo
- Własne spowolnienie aliasu wygrywa ze spowolnieniem jego modelu docelowego.
- Alias bez wartości dziedziczy spowolnienie modelu docelowego, do którego się
rozwiązuje. Ustaw w aliasie
0, aby z tego zrezygnować. - W modelu wirtualnym z load balancingiem dziedziczenie korzysta z celu wybranego dla danego requestu.
- Spowolnienie samego modelu można ustawić dokładnie (
openai/gpt-4o) albo dla całego modelu (gpt-4o, u każdego providera); wygrywa wartość dokładna. Bardziej szczegółowy wpis, który zostawia spowolnienie puste albo któregouser_pathswykluczają wywołującego, nie przesłania wartości ogólniejszej. Reguła dostępu dla całego providera nigdy więc nie wyłącza spowolnienia modelu. - W łańcuchu obowiązuje tylko spowolnienie zewnętrznego modelu wirtualnego.
- Spowolnienie ustawione na modelu z
user_pathsdotyczy tylko requestów z tych ścieżek użytkownika.
Co jest spowalniane
Nieudane wywołania upstreamu wracają bez opóźnienia. Opóźnienia respektują
anulowanie requestu: klient, który się rozłączy, natychmiast przestaje czekać.
Requesty passthrough, batche i sesje Realtime przez WebSocket nie są
spowalniane.
Streaming i pamięć
Dla odpowiedzi streamowanej GoModel odczytuje upstream w tle i zwalnia każdy chunk w jego przeskalowanym czasie nadejścia. Chunk, który nadszedł 2 sekundy po rozpoczęciu streamu, przy współczynniku0.5 dociera do klienta po 3 sekundach,
więc względne odstępy czasowe chunków providera są zachowane.
Chunki czekające na zwolnienie są przechowywane w pamięci. Duży współczynnik
przy długim lub intensywnym streamie albo przy dużej odpowiedzi audio może
zużywać sporo pamięci.