ก่อนส่งสตริงไปทำ embedding คุณสามารถประเมินได้ว่าจะใช้ Token กี่ตัว โดยใช้ ไลบรารี tokenizer tiktoken ของ OpenAI
สิ่งนี้มีประโยชน์อย่างยิ่ง เพราะโมเดล embedding (เช่น text-embedding-3-small) มีขีดจำกัด Token สูงสุดที่คุณต้องไม่ใช้เกิน
วิธีนับ Token ด้วย Tiktoken
คุณสามารถใช้แพ็กเกจ Python tiktoken เพื่อคำนวณจำนวน Token ที่สตริงจะสร้างขึ้น
นี่คือตัวอย่างโค้ด:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""คืนค่าจำนวน Token ในสตริงข้อความ"""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# ตัวอย่างการใช้งาน
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)สำคัญ:
สำหรับโมเดล embedding รุ่นที่สาม (เช่น
text-embedding-3-smallหรือtext-embedding-3-large) คุณควรใช้ encoding"cl100k_base"โมเดลแต่ละตัวอาจต้องใช้ encoding ต่างกัน — หากไม่แน่ใจ ให้ดูเอกสารของโมเดลเสมอ
ทำไมการนับ Token จึงสำคัญ
หากสตริงของคุณเกินขนาดอินพุตสูงสุดของโมเดล คำขอ API ของคุณจะล้มเหลว
การนับ Token อย่างแม่นยำล่วงหน้าจะช่วยให้เวิร์กโฟลว์ embedding ราบรื่นขึ้นและป้องกันข้อผิดพลาดระหว่างการประมวลผล
