การแคชบริบท

ในเวิร์กโฟลว์ AI ทั่วไป คุณอาจส่งโทเค็นอินพุตเดียวกันซ้ำๆ ไปยังโมเดล Gemini API มีกลไกการแคช 2 แบบที่แตกต่างกัน ดังนี้

  • การแคชโดยนัย (เปิดใช้โดยอัตโนมัติในโมเดล Gemini 2.5 ไม่มีการรับประกันการประหยัดค่าใช้จ่าย)
  • การแคชอย่างชัดเจน (เปิดใช้ด้วยตนเองได้ในโมเดลส่วนใหญ่ รับประกันการประหยัดค่าใช้จ่าย)

การแคชอย่างชัดเจนมีประโยชน์ในกรณีที่คุณต้องการรับประกันการประหยัดค่าใช้จ่าย แต่ต้องมีการทำงานของนักพัฒนาซอฟต์แวร์เพิ่มเติม

การแคชโดยนัย

ระบบจะเปิดใช้การแคชโดยนัยโดยค่าเริ่มต้นสำหรับโมเดล Gemini 2.5 ทั้งหมด เราจะส่งต่อส่วนลดค่าใช้จ่ายโดยอัตโนมัติ หากคำขอของคุณเข้าถึงแคช คุณไม่จำเป็นต้องดำเนินการใดๆ เพื่อเปิดใช้ฟีเจอร์นี้ โดยจะมีผลตั้งแต่วันที่ 8 พฤษภาคม 2025 จำนวนโทเค็นอินพุตขั้นต่ำสำหรับการแคชบริบทคือ 1,024 สำหรับ 2.5 Flash และ 4,096 สำหรับ 2.5 Pro

วิธีเพิ่มโอกาสในการเข้าถึงแคชโดยนัย

  • ลองวางเนื้อหาขนาดใหญ่และเนื้อหาทั่วไปไว้ที่จุดเริ่มต้นของพรอมต์
  • ลองส่งคำขอที่มีคำนำหน้าที่คล้ายกันในช่วงเวลาสั้นๆ

คุณดูจำนวนโทเค็นที่แคชตรงได้ในฟิลด์ usage_metadata ของออบเจ็กต์การตอบกลับ

การแคชที่ชัดเจน

การใช้ฟีเจอร์การแคชอย่างชัดเจนของ Gemini API ช่วยให้คุณส่งเนื้อหาบางอย่างไปยังโมเดลได้เพียงครั้งเดียว แคชโทเค็นอินพุต แล้วอ้างอิงโทเค็นที่แคชไว้สำหรับคำขอที่ตามมา เมื่อมีปริมาณการใช้งานในระดับหนึ่ง การใช้โทเค็นที่แคชไว้จะมีต้นทุนต่ำกว่า การส่งโทเค็นชุดเดียวกันซ้ำๆ

เมื่อแคชชุดโทเค็น คุณสามารถเลือกระยะเวลาที่ต้องการให้แคช อยู่ก่อนที่ระบบจะลบโทเค็นโดยอัตโนมัติ ระยะเวลาการแคชนี้เรียกว่า Time to Live (TTL) หากไม่ได้ตั้งค่า ระบบจะใช้ TTL เป็นค่าเริ่มต้นที่ 1 ชั่วโมง ค่าใช้จ่ายในการแคชขึ้นอยู่กับขนาดโทเค็นอินพุตและระยะเวลาที่คุณต้องการให้โทเค็น คงอยู่

ส่วนนี้ถือว่าคุณได้ติดตั้ง Gemini SDK (หรือติดตั้ง curl) แล้ว และได้กำหนดค่าคีย์ API ตามที่แสดงในคู่มือเริ่มต้นฉบับย่อแล้ว

การแคชอย่างชัดเจนโดยใช้ไลบรารี OpenAI

หากใช้ไลบรารี OpenAI คุณจะเปิดใช้ การแคชอย่างชัดแจ้งได้โดยใช้พร็อพเพอร์ตี้ cached_content ใน extra_body

กรณีที่ควรใช้การแคชที่ชัดเจน

การแคชบริบทเหมาะอย่างยิ่งกับสถานการณ์ที่คำขอที่สั้นกว่าอ้างอิงบริบทเริ่มต้นที่สำคัญซ้ำๆ พิจารณาใช้ การแคชบริบทสำหรับกรณีการใช้งานต่อไปนี้

  • แชทบ็อตที่มีคำสั่งของระบบจำนวนมาก
  • การวิเคราะห์ไฟล์วิดีโอขนาดยาวซ้ำๆ
  • การค้นหาที่เกิดซ้ำกับชุดเอกสารขนาดใหญ่
  • การวิเคราะห์ที่เก็บโค้ดหรือการแก้ไขข้อบกพร่องบ่อยๆ

การแคชที่ชัดเจนช่วยลดค่าใช้จ่ายได้อย่างไร

การแคชบริบทเป็นฟีเจอร์แบบชำระเงินที่ออกแบบมาเพื่อลดต้นทุนในการดำเนินงานโดยรวม การเรียกเก็บเงินจะอิงตามปัจจัยต่อไปนี้

  1. จำนวนโทเค็นแคช: จำนวนโทเค็นอินพุตที่แคชไว้ ซึ่งจะเรียกเก็บเงินใน อัตราที่ลดลงเมื่อรวมไว้ในพรอมต์ที่ตามมา
  2. ระยะเวลาการจัดเก็บ: ระยะเวลาที่จัดเก็บโทเค็นที่แคชไว้ (TTL) เรียกเก็บเงินตามระยะเวลา TTL ของจำนวนโทเค็นที่แคชไว้ ไม่มีขีดจำกัดขั้นต่ำ หรือสูงสุดสำหรับ TTL
  3. ปัจจัยอื่นๆ: มีการเรียกเก็บเงินอื่นๆ เช่น สำหรับโทเค็นอินพุตและโทเค็นเอาต์พุตที่ไม่ได้แคช

ดูรายละเอียดราคาล่าสุดได้ที่หน้าการกำหนดราคาของ Gemini API ดูวิธีนับโทเค็นได้ที่คำแนะนำเกี่ยวกับโทเค็น

ข้อควรพิจารณาเพิ่มเติม

โปรดคำนึงถึงข้อควรพิจารณาต่อไปนี้เมื่อใช้แคชบริบท

  • จำนวนโทเค็นอินพุตขั้นต่ำสำหรับการแคชบริบทคือ 1,024 สำหรับ 2.5 Flash และ 2,048 สำหรับ 2.5 Pro สูงสุดจะเท่ากับค่าสูงสุดสำหรับโมเดลที่ระบุ (ดูข้อมูลเพิ่มเติมเกี่ยวกับการนับโทเค็นได้ที่คู่มือโทเค็น)
  • โมเดลไม่ได้แยกความแตกต่างระหว่างโทเค็นที่แคชไว้กับโทเค็นอินพุตปกติ เนื้อหาที่แคชไว้จะเป็นคำนำหน้าของพรอมต์
  • ไม่มีขีดจำกัดอัตราหรือการใช้งานพิเศษสำหรับการแคชบริบท โดยจะใช้ขีดจำกัดอัตรามาตรฐานสำหรับ GenerateContent และขีดจำกัดโทเค็นจะรวมโทเค็นที่แคชไว้
  • ระบบจะแสดงจำนวนโทเค็นที่แคชไว้ใน usage_metadata จากการดำเนินการสร้าง รับ และแสดงของบริการแคช รวมถึงใน GenerateContent เมื่อใช้แคช