# Integracja z Tiktoken Estimator Szacowanie liczby tokenów dla tekstu przy użyciu biblioteki tiktoken, umożliwiając dokładne zliczanie tokenów dla modeli OpenAI . ## Funkcje - **Dokładne zliczanie tokenów**: Wykorzystuje oficjalną bibliotekę tiktoken, aby zapewnić precyzyjne szacunki tokenów - Obsługa wielu modeli**: Obsługuje różne modele OpenAI (gpt-3.5-turbo, gpt-4 itp.). - Limity bezpieczeństwa**: Opcjonalne sprawdzanie limitów bezpieczeństwa, aby zapobiec przekroczeniu limitu tokenów - Zero konfiguracji**: Nie wymaga konfiguracji - działa od razu po wyjęciu z pudełka - Obsługa błędów**: Łaskawa obsługa błędów z komunikatami opisowymi ## Użycie ### Szacowanie działania tokenów Integracja zapewnia pojedynczą akcję: `estimateTokens`. **Parametry wejściowe:** - `text` (wymagane): tekst do oszacowania tokenów - `model` (opcjonalne): model OpenAI , który ma być użyty do tokenizacji (domyślnie "gpt-3.5-turbo"). - `safetyLimit` (opcjonalnie): Limit bezpieczeństwa dla szacowania liczby tokenów. Jeśli pozostanie puste, limit nie zostanie zastosowany **Wyjście:** - `tokenCount`: Szacowana liczba tokenów w tekście. - `tokenizerName`: Nazwa użytego tokenizera - `model`: Model, na którym oparto tokenizację - `limitExceeded`: Wskazuje, czy szacowana liczba tokenów przekroczyła limit bezpieczeństwa (obecne tylko wtedy, gdy podano safetyLimit). ### Przykład użycia **Podstawowe użycie:** ``` Tekst: "Hello, world!" Model: "gpt-3.5-turbo" Wynik: - tokenCount: 4 - tokenizerName: "tiktoken" - model: "gpt-3.5-turbo" ``` **Z limitem bezpieczeństwa:** ``` Tekst: "To jest dłuższy tekst, który może przekroczyć nasz limit bezpieczeństwa...". Model: "gpt-3.5-turbo" SafetyLimit: 10 Wynik: - tokenCount: 15 - tokenizerName: "tiktoken" - model: "gpt-3.5-turbo" - limitExceeded: true ``` ## Obsługiwane modele - `gpt-3.5-turbo` - `gpt-4` - `gpt-4-turbo` - `text-davinci-003` - `text-davinci-002` - `code-davinci-002` - Oraz inne modele OpenAI obsługiwane przez tiktoken ## Zalecane limity bezpieczeństwa Przy ustalaniu limitów bezpieczeństwa należy wziąć pod uwagę, że rzeczywiste wywołania API będą zawierać dodatkowe tokeny dla podpowiedzi systemowych, historii konwersacji i generowania odpowiedzi. Oto konserwatywne zalecenia: ### GPT.5-Turbo (limit 4096 tokenów) - **Konserwatywne**: 2,500 tokenów (pozostawia ~1,600 na podpowiedzi systemowe + odpowiedź) - **Umiarkowany**: 3,000 tokenów (pozostawia ~1,100 na podpowiedzi systemu + odpowiedź) - **Agresywny**: 3 500 tokenów (pozostawia ~600 na podpowiedzi systemowe + odpowiedź) ### GPT(limit 8 192 tokenów) - **Konserwatywny**: 5,000 tokenów (pozostawia ~3,200 na podpowiedzi systemu + odpowiedź) - **Umiarkowany**: 6,000 tokenów (pozostawia ~2,200 na podpowiedzi systemu + odpowiedź) - **Agresywny**: 7,000 tokenów (pozostawia ~1,200 na podpowiedzi systemowe + odpowiedź) ### GPT Turbo (limit 128 000 tokenów) - **Konserwatywny**: 100 000 tokenów (pozostawia ~28 000 na podpowiedzi systemu + odpowiedź) - **Umiarkowany**: 110 000 tokenów (pozostawia ~18 000 na monity systemu + odpowiedź) - **Agresywny**: 120 000 tokenów (pozostawia ~8 000 na podpowiedzi systemowe + odpowiedź) **Uwaga**: Zalecenia te zakładają typowe rozmiary monitów systemowych (200-800 tokenów) i pożądane długości odpowiedzi (500-2000 tokenów). Dostosuj w oparciu o konkretny przypadek użycia. ## Obsługa błędów Integracja obsługuje różne scenariusze błędów: - **Invalid Input**: Zwraca jasne komunikaty o błędach dla brakującego lub nieprawidłowego tekstu. - Pusty tekst**: Zwraca 0 tokenów dla pustych ciągów znaków. - Nieobsługiwany model**: Zwraca błąd dla modeli nieobsługiwanych przez tiktoken. - Błędy tokenizacji**: obsługuje błędy biblioteki tiktoken z wdziękiem - **Safety Limit Warnings**: Rejestruje ostrzeżenia, gdy liczba tokenów przekracza limity bezpieczeństwa. ## Korzyści - **Optymalizacja kosztów**: Szacowanie kosztów tokenów przed wykonaniem wywołań API - Ograniczenie stawek**: Zarządzanie budżetami tokenów i zapobieganie przekroczeniu limitów bezpieczeństwa - Logika przepływu pracy**: Włącz logikę warunkową w oparciu o liczbę tokenów i progi bezpieczeństwa - Przejrzystość**: Zapewnienie wglądu we wzorce użycia tokenów - Aktywne monitorowanie**: Ustaw limity bezpieczeństwa, aby wcześnie wychwycić potencjalne przekroczenia liczby tokenów