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
finish_reason: content_filter with empty or partial contentThe response object is well formed but content is an empty stringIt happens on some inputs and never on othersThe same prompt works on a different model
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ć
- 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.
- 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.
- 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
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.