Strona główna → Pomoc

Pusta odpowiedź z finish_reason content_filter

Warstwa moderacji zatrzymała generowanie. Żądanie się wykonało, więc to normalna odpowiedź, a nie błąd, a wszystkie tokeny wygenerowane przed zatrzymaniem są naliczane.

Co widzisz

Dlaczego tak się dzieje

Filtrowanie może dotyczyć promptu albo wyjścia w trakcie jego generowania. Zatrzymanie w połowie oznacza, że zadziałało wyjście; natychmiastowa pusta odpowiedź zwykle oznacza, że zadziałało wejście.

Progi różnią się między modelami i dostawcami, więc ten sam tekst może przejść w jednym, a zostać zatrzymany w innym. Dlatego zmiana modelu wydaje się to „naprawiać”.

Łatwo pomylić to z ucięciem. Różnica jest w finish_reason: length oznacza, że skończyły się tokeny, content_filter – że treść została odrzucona.

Jak to naprawić

  1. Rozgałęziaj według finish_reasonObsłuż content_filter jako osobny przypadek z komunikatem dla użytkownika. Ponowienie identycznego wejścia daje identyczny wynik i tylko kosztuje.
  2. Sprawdź, która strona to wywołałaWyślij prompt z minimalnym max_tokens. Jeśli nadal zatrzymuje się natychmiast, wyzwalaczem jest wejście, a nie wyjście.
  3. Przeformułuj zamiast ponawiaćJeśli zadanie jest uprawnione, usunięcie konkretnego sformułowania, które to wywołuje, zwykle działa. Częstą przyczyną są cytowane treści użytkownika.
Odfiltrowana odpowiedź to zakończone żądanie, więc tokeny wygenerowane przed zatrzymaniem pojawiają się w logu użycia APICLAN i są naliczane. Pusta odpowiedź z niezerową liczbą tokenów wyjściowych to dokładnie ten przypadek.

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.