OpenAI
این صفحه به‌صورت ماشینی ترجمه شده است. مقاله اصلی انگلیسی را مشاهده کنید.

چطور قبل از امبد کردن یک رشته بفهمم چند توکن خواهد داشت؟

محاسبه/تخمین توکن‌ها برای یک embedding

به‌روزرسانی: 12 days ago

پیش از ارسال یک رشته برای 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 را روان‌تر می‌کند و از بروز خطا هنگام پردازش جلوگیری می‌کند.

---

آیا این مقاله مفید بود؟