การแคชบริบท

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

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

การแคชบริบทรองรับทั้ง Gemini 1.5 Pro และ Gemini 1.5 Flash

กรณีที่ควรใช้การแคชบริบท

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

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

การแคชช่วยลดต้นทุนได้อย่างไร

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

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

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

วิธีใช้การแคชบริบท

ส่วนนี้จะถือว่าคุณติดตั้ง Gemini SDK และกำหนดค่าคีย์ API แล้วดังที่แสดงในquickstart

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

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

  • จำนวนโทเค็นอินพุตขั้นต่ำสำหรับการแคชบริบทคือ 32,768 และสูงสุดเท่ากับจำนวนสูงสุดสำหรับโมเดลที่ระบุ (โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับโทเค็นการนับที่คำแนะนำเกี่ยวกับโทเค็น)
  • คุณตั้งค่า Time to Live (TTL) สำหรับแคชได้ ดังที่แสดงในโค้ดตัวอย่าง หากไม่ได้ตั้งค่า TTL จะใช้ค่าเริ่มต้นเป็น 1 ชั่วโมง
  • โมเดลนี้ไม่ได้แยกความแตกต่างระหว่างโทเค็นที่แคชไว้กับโทเค็นอินพุตปกติ เนื้อหาที่แคชไว้เป็นเพียงคำนำหน้าของข้อความแจ้ง
  • บริการแคชมีการดำเนินการลบเพื่อนำเนื้อหาออกจากแคชด้วยตนเอง โปรดดูรายละเอียดในเอกสารประกอบเกี่ยวกับ SDK ที่คุณเลือก
  • สำหรับระดับแบบชำระเงิน จะไม่มีการจำกัดอัตราหรือการใช้งานพิเศษในการแคชบริบท โดยจะมีการจำกัดอัตรามาตรฐานสำหรับ GenerateContent และขีดจำกัดของโทเค็นจะรวมถึงโทเค็นที่แคชไว้ด้วย สำหรับระดับที่ไม่มีค่าใช้จ่าย จะมีโทเค็นจำกัดพื้นที่เก็บข้อมูลไว้ที่ 1 ล้านโทเค็นสำหรับ Gemini 1.5 Flash และการแคชไม่พร้อมใช้งานสำหรับ Gemini 1.5 Pro
  • คุณจะเรียกหรือดูเนื้อหาที่แคชไว้ไม่ได้ แต่จะดึงข้อมูลเมตาได้ (เวลา name, display_name, model รวมถึงเวลาสร้าง อัปเดต และหมดอายุ)
  • คุณจะตั้งค่า ttl หรือ expire_time ใหม่ได้ เราไม่สนับสนุนการเปลี่ยนแปลงอื่นๆ เกี่ยวกับเนื้อหา ที่แคชไว้
  • ระบบจะแสดงผลจำนวนโทเค็นที่แคชไว้ใน usage_metadata จากการดำเนินการสร้าง รับ และแสดงรายการของบริการแคช รวมถึงใน GenerateContent เมื่อใช้แคช