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

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

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

อัปเดตล่าสุด: 22 days ago

ก่อนส่งสตริงเพื่อฝังข้อมูล คุณสามารถประมาณจำนวน Token ที่จะใช้ได้ด้วยไลบรารีโทเคไนเซอร์ tiktoken ของ OpenAI

วิธีนี้มีประโยชน์อย่างยิ่ง เพราะโมเดลการฝังข้อมูล (เช่น 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)

สำคัญ:

  • สำหรับโมเดลการฝังข้อมูลรุ่นที่ 3 (เช่น text-embedding-3-small หรือ text-embedding-3-large) ควรใช้การเข้ารหัส "cl100k_base"

  • โมเดลแต่ละแบบอาจต้องใช้การเข้ารหัสต่างกัน หากไม่แน่ใจ โปรดตรวจสอบเอกสารประกอบของโมเดลเสมอ

---

เหตุใดการนับ Token จึงสำคัญ

  • หากสตริงของคุณเกินขนาดอินพุตสูงสุดของโมเดล คำขอ API ของคุณจะล้มเหลว

  • การนับ Token ล่วงหน้าอย่างแม่นยำช่วยให้เวิร์กโฟลว์ embedding ราบรื่นขึ้น และป้องกันข้อผิดพลาดระหว่างการประมวลผล

---

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