OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

ฉันจะรู้ได้อย่างไรว่าสตริงหนึ่งจะมี Token กี่ตัวก่อนลองทำ embedding?

การคำนวณ/ประมาณจำนวน Token สำหรับ embedding

อัปเดตล่าสุด: 55 minutes ago

ก่อนส่งสตริงไปทำ 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 ราบรื่นขึ้นและป้องกันข้อผิดพลาดระหว่างการประมวลผล


ลิงก์ที่มีประโยชน์

บทความนี้มีประโยชน์หรือไม่