پیش از ارسال یک رشته برای تعبیهسازی، میتوانید با استفاده از کتابخانه توکنساز tiktoken متعلق به OpenAI، تعداد توکنهای مصرفی آن را تخمین بزنید.
این کار بهویژه مفید است، زیرا مدلهای تعبیهسازی (مانند 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)مهم:
برای مدلهای تعبیهسازی نسل سوم (مانند text-embedding-3-small یا text-embedding-3-large)، باید از رمزگذاری "cl100k_base" استفاده کنید.
مدلهای مختلف ممکن است به رمزگذاریهای متفاوتی نیاز داشته باشند؛ اگر مطمئن نیستید، همیشه به مستندات مدل مراجعه کنید.
---
چرا شمارش توکنها مهم است
اگر رشته شما از حداکثر اندازه ورودی مدل فراتر برود، درخواست API شما ناموفق خواهد شد.
شمارش دقیق توکنها از پیش، گردشکارهای embedding را روانتر میکند و از بروز خطا هنگام پردازش جلوگیری میکند.
---
