ในเวิร์กโฟลว์ AI ทั่วไป คุณอาจส่งโทเค็นอินพุตเดียวกันซ้ำแล้วซ้ำอีกให้กับโมเดล เมื่อใช้ฟีเจอร์การแคชบริบทของ Gemini API คุณจะสามารถส่งเนื้อหาบางส่วนไปยังโมเดลครั้งเดียว แคชโทเค็นอินพุต และดูโทเค็นที่แคชไว้สำหรับคำขอถัดไป ในบางวอลุ่ม การใช้โทเค็นที่แคชไว้จะมีต้นทุนต่ำกว่า (และอาจมีเวลาในการตอบสนองต่ำกว่า) กว่าการส่งผ่านคลังโทเค็นเดียวกันซ้ำๆ
เมื่อแคชชุดโทเค็น คุณจะเลือกระยะเวลาที่ต้องการให้มีแคชอยู่ก่อนที่โทเค็นจะถูกลบโดยอัตโนมัติได้ ระยะเวลาการแคชนี้เรียกว่า Time to Live (TTL) ต้นทุนสำหรับการแคชขึ้นอยู่กับขนาดโทเค็นอินพุตและระยะเวลาที่คุณต้องการให้โทเค็นคงอยู่
การแคชบริบทรองรับทั้ง Gemini 1.5 Pro และ Gemini 1.5 Flash
กรณีที่ควรใช้การแคชบริบท
การแคชบริบทเหมาะสมอย่างยิ่งกับสถานการณ์ที่การอ้างถึงบริบทเริ่มต้นที่สำคัญซ้ำๆ โดยใช้คำขอที่สั้นกว่า ลองใช้การแคชบริบทสำหรับกรณีการใช้งานต่างๆ เช่น
- แชทบ็อตที่มี คำแนะนำของระบบที่ครอบคลุม
- การวิเคราะห์ไฟล์วิดีโอยาวๆ ซ้ำ
- การค้นหาที่เกิดซ้ำสำหรับชุดเอกสารขนาดใหญ่
- การวิเคราะห์ที่เก็บโค้ดหรือการแก้ไขข้อบกพร่องบ่อยครั้ง
การแคชช่วยลดต้นทุนได้อย่างไร
การแคชบริบทเป็นฟีเจอร์แบบชำระเงินที่ออกแบบมาเพื่อลดต้นทุนในการดำเนินการโดยรวม การเรียกเก็บเงินจะขึ้นอยู่กับปัจจัยต่อไปนี้
- จำนวนโทเค็นแคช: จำนวนโทเค็นอินพุตที่แคชไว้ ซึ่งจะเรียกเก็บเงินในอัตราที่ลดลงเมื่อรวมอยู่ในข้อความแจ้งที่ตามมา
- ระยะเวลาพื้นที่เก็บข้อมูล: ระยะเวลาที่ระบบจัดเก็บโทเค็นที่แคชไว้ (TTL) ซึ่งเรียกเก็บเป็นรายชั่วโมง ไม่มีขอบเขตต่ำสุดหรือสูงสุดใน TTL
- ปัจจัยอื่นๆ: จะมีค่าใช้จ่ายอื่นๆ เช่น โทเค็นอินพุตที่ไม่ได้แคชและโทเค็นเอาต์พุต
ดูรายละเอียดราคาล่าสุดได้ที่หน้าราคาของ 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
เมื่อใช้แคช