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

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ć

  1. 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.
  2. 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ę.
  3. 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

Unexpected token '<' przy wywołaniu API zgodnego z OpenAI401 invalid API key – gdy klucz wygląda dobrze, a i tak nie działa

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.