NastępnyNastępny poradnik
Szacowanie kosztów API LLM i budżetów tokenów
Techniczne
PRZEWODNIK techniczny
Maksymalna liczba tokenów to ograniczenie liczby tokenów, które model może wygenerować w jednej odpowiedzi, a sekwencje zatrzymujące to ciągi, które kończą generowanie natychmiast po ich wygenerowaniu przez model.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~3 min
Razem z powodem zakończenia zwracanym przez API decydują, gdzie kończy się odpowiedź i informują, czy zakończyła się naturalnie, czy została ucięta. Prawidłowe ich wykonanie zapobiega skróceniu JSON, niedokończonym odpowiedziom i zmarnowanym wydatkom.
Model językowy generuje jeden token na raz, dopóki coś nie każe mu się zatrzymać. Istnieją trzy najczęstsze powody, dla których przestaje działać. Tworzy swój własny żeton końca tury, co oznacza, że zdecydował, że odpowiedź jest kompletna. Osiąga maksymalną dozwoloną liczbę żetonów wyjściowych. Lub generuje tekst pasujący do jednej z sekwencji zatrzymania. Tokeny Max są często mylone z oknem kontekstowym. Okno kontekstowe to całkowita liczba tokenów, które model może obsłużyć jednocześnie, dane wejściowe i wyjściowe. Tokeny Max ograniczają tylko wynik pojedynczego wywołania. Model z bardzo dużym oknem kontekstowym może nadal generować krótkie odpowiedzi, jeśli maksymalna liczba tokenów jest ustawiona na niską, a dane wejściowe i maksymalne tokeny zazwyczaj muszą mieścić się w oknie kontekstowym. Interfejsy API zgłaszają przyczynę zakończenia generowania. Interfejs API Chat Completions OpenAI zwraca przyczynę zakończenia, taką jak „stop” w przypadku naturalnego końca lub dopasowanej sekwencji zatrzymania, „długość”, gdy osiągnięty został limit wyjściowy, oraz „wywołania narzędzia”, gdy model chce wywołać narzędzie. Interfejs API wiadomości Anthropic zwraca powód zatrzymania, taki jak „koniec_zakrętu”, „max_tokens”, „sekwencja_zatrzymania” lub „użycie_narzędzia”. Anthropic wymaga max_tokens na każde żądanie. Do swoich modeli wnioskowania OpenAI wprowadził max_completion_tokens, który zlicza ukryte tokeny wnioskowania oraz widoczne dane wyjściowe. Sekwencje stop są przydatne w przypadku formatów strukturalnych: zakończenie po znaczniku zamykającym, zatrzymanie przed etykietą głośnika lub ucięcie po jednym elemencie listy. Dopasowany tekst zwykle nie jest uwzględniany w zwracanych wynikach, więc kod nie powinien się spodziewać, że go zobaczy. Najczęstszym błędem jest ignorowanie powodu zakończenia. Skrócona odpowiedź może wyglądać wiarygodnie, zwłaszcza prozą, podczas gdy ustrukturyzowany wynik po prostu się psuje. Innym błędnym przekonaniem jest to, że niska maksymalna liczba tokenów powoduje, że model pisze zwięźle. Tak nie jest; model pisze tak jak zwykle i zostaje obcięty. Poproś o zwięzłość w podpowiedzi i wykorzystaj limit jako górny limit bezpieczeństwa.
Podsumowanie ustawia maksymalną liczbę tokenów na 150, a niektóre podsumowania kończą się w połowie zdania; sprawdzenie powodu zakończenia pokazuje „długość” tych połączeń, więc aplikacja podnosi limit i zamiast tego prosi o krótsze podsumowania w monicie.
Skrypt wyodrębniający dane w formacie JSON nie analizuje mniej więcej jednej odpowiedzi na pięćdziesiąt; każda awaria osiągnęła limit wyjściowy, więc kod ponawia teraz próbę z wyższym limitem, gdy powód zakończenia wskazuje, że dane wyjściowe zostały obcięte.
Programista generujący jedną linię dialogu na raz używa sekwencji zatrzymującej „Użytkownik:”, aby model nie był kontynuowany i nie zapisywał także następnej linii użytkownika.
Zespół przechodzący na model rozumowania stwierdza, że odpowiedzi są puste, ponieważ ukryte rozumowanie wyczerpało limit wyników, więc podnosi limit, aby pozostawić miejsce zarówno na rozumowanie, jak i odpowiedź.
Limity wyników wzrosły, ponieważ modele obsługują dłuższe generacje, a ustrukturyzowane funkcje wyników, które ograniczają odpowiedzi na schemat, zmniejszają, ale nie eliminują, ryzyko obcięcia, ponieważ wystarczająco długa odpowiedź może nadal osiągnąć limit. Modele rozumowania sprawiły, że budżetowanie wyników stało się ważniejsze, ponieważ ukryte tokeny mają teraz ten sam limit. Nazwy parametrów i wartości przyczyny zakończenia różnią się w zależności od dostawcy i zmieniają się z biegiem czasu, dlatego rozsądnie jest sprawdzić aktualną dokumentację i umieścić te szczegóły w małej warstwie własnego kodu.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
Maksymalna liczba tokenów to ograniczenie liczby tokenów, które model może wygenerować w jednej odpowiedzi, a sekwencje zatrzymujące to ciągi, które kończą generowanie natychmiast po ich wygenerowaniu przez model. Razem z powodem zakończenia zwracanym przez API decydują, gdzie kończy się odpowiedź i informują, czy zakończyła się naturalnie, czy została ucięta. Prawidłowe ich wykonanie zapobiega skróceniu JSON, niedokończonym odpowiedziom i zmarnowanym wydatkom.
Maksymalna liczba tokenów ogranicza moc wyjściową dla jednego połączenia. Okno kontekstowe to oddzielny całkowity limit obejmujący dane wejściowe i wyjściowe.
„długość” oznacza, że generowanie zostało zatrzymane, ponieważ osiągnięto limit wyjściowy, więc odpowiedź może być niekompletna.
„end_turn” oznacza, że model zakończył się naturalnie. „max_tokens” oznacza, że został odcięty, a „stop_sequence” oznacza, że jeden z ciągów został dopasowany.
Limit jest twardym zatrzymaniem, a nie instrukcją. Poproś o zwięzłość w podpowiedzi i zachowaj limit jako górny limit bezpieczeństwa.
Sekwencje zatrzymujące kończą generowanie i zazwyczaj nie są uwzględniane w zwracanych danych wyjściowych, więc Twój kod nie powinien polegać na ich wyświetlaniu.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Szacowanie kosztów API LLM i budżetów tokenów
Techniczne