Strona główna → Pomoc
Podwójna opłata za coś, co wyglądało na jedno żądanie
Twój klient się poddał i ponowił żądanie, gdy pierwsze wciąż się generowało. Dostawca dokończył oba, więc oba są naliczone – limit czasu anulował twoje czekanie, a nie pracę.
Co widzisz
Two identical entries in the usage log seconds apartYou saw one error and were billed for two completionsCost per feature is roughly double what your own counter saysIt happens more on long or reasoning-heavy requests
Dlaczego tak się dzieje
Limit czasu HTTP to decyzja lokalna. O ile połączenie nie zostanie faktycznie zamknięte, a serwer nie przerywa pracy przy rozłączeniu, generowanie trwa do końca i jest naliczane.
Automatyczne ponowienia w SDK są domyślnie włączone i niewidoczne w twoich własnych logach. Kod, który wygląda na jedno wywołanie, może wykonać trzy.
Modele rozumujące znacznie to zwiększają, bo czas do pierwszego tokenu jest na tyle długi, że przekracza domyślny limit, nawet gdy wszystko działa normalnie.
Jak to naprawić
- Ustaw limit czasu powyżej najwolniejszej oczekiwanej odpowiedziZmierz p99 własnego ruchu i dodaj zapas. Większość podwójnych opłat to domyślne 60 sekund spotykające odpowiedź na 70 sekund.
- Wyłącz automatyczne ponowienia dla drogich wywołańUstaw max_retries na 0 w kliencie i ponawiaj świadomie – tam, gdzie możesz to zalogować i zdecydować, czy warto powtarzać pracę.
- Strumieniuj długie żądaniaStrumieniowanie szybko daje pierwszy token, co nie pozwala zadziałać limitom bezczynności i mówi ci, że żądanie żyje.
Każde wywołanie w APICLAN jest logowane osobno, z własnym znacznikiem czasu i opłatą, więc dwa wpisy w odstępie kilku sekund, z tym samym modelem i podobną liczbą tokenów, to podpis, którego należy szukać, gdy rachunek wydaje się podwojony.
Powiązane
Ostatnio sprawdzono 2026-10-01. Napisane na podstawie problemów zdiagnozowanych na działającej
bramce zgodnej z OpenAI, a nie zebrane z innych stron.