پیش از ارسال یک رشته برای embedding، میتوانید با بهکارگیری کتابخانه توکنیزهکننده tiktoken متعلق به OpenAI تخمین بزنید که چند توکن مصرف خواهد کرد.
این موضوع بهویژه مفید است، چون مدلهای embedding (مانند text-embedding-3-small) محدودیتهای حداکثر توکن دارند که باید در آنها بمانید.
---
نحوه شمارش توکنها با Tiktoken
میتوانید از بسته پایتون tiktoken برای محاسبه تعداد توکنهایی که یک رشته تولید میکند استفاده کنید.
در اینجا یک قطعه کد نمونه آمده است:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""تعداد توکنهای موجود در یک رشته متنی را برمیگرداند."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# Example usage
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)مهم:
برای مدلهای embedding نسل سوم (مثلاً
text-embedding-3-smallیاtext-embedding-3-large)، باید از کدگذاری"cl100k_base"استفاده کنید.مدلهای مختلف ممکن است به کدگذاریهای متفاوتی نیاز داشته باشند — اگر مطمئن نیستید، همیشه به مستندات مدل مراجعه کنید.
---
چرا شمارش توکنها مهم است
اگر رشته شما از حداکثر اندازه ورودی مدل فراتر برود، درخواست API شما ناموفق خواهد شد.
شمارش دقیق توکنها از پیش، گردشکارهای embedding را روانتر میکند و از بروز خطا هنگام پردازش جلوگیری میکند.
---
