Context Caching이란 무엇인가?
동일한 500,000 토큰 분량의 사내 매뉴얼이나 소스코드를 대상으로 반복 질문을 던질 때, 질문마다 50만 토큰의 프롬프트 비용을 내는 것은 비효율적입니다.
Gemini 1.5의 Context Caching 기술을 사용하면 대용량 토큰 데이터를 Gemini 서버 메모리에 임시 캐싱해 두고, 질문 시 오직 신규 질문 토큰에 대해서만 최소 과금을 내게 됩니다. (비용 90% 절감)
Python Context Caching 구현 예시
import google.generativeai as genai
from google.generativeai import caching
import datetime
# 1. 대용량 문서 업로드 및 캐시 생성 (1시간 유효)
large_file = genai.upload_file("huge_codebase.zip")
cache = caching.CachedContent.create(
model="models/gemini-1.5-pro-001",
display_name="codebase_cache",
contents=[large_file],
ttl=datetime.timedelta(hours=1),
)
# 2. 캐시된 콘텐츠 기반 모델 생성 (토큰 비용 90% 할인 적용)
model = genai.GenerativeModel.from_cached_content(cached_content=cache)
# 3. 질문 수행 (속도 5배 향상 & 초저렴 비용)
response = model.generate_content("이 코드베이스에서 인증 로직 흐름을 설명해줘.")
print(response.text)
💡 핵심 Gemini AI 용어 사전 (Glossary)
- Context Caching (문맥 캐싱): 자주 재사용되는 대용량 토큰 데이터(코드, PDF, 비디오)를 Gemini 메모리에 저장해두고 재활용하여 비용과 지연시간을 획기적으로 낮추는 기능.
- TTL (Time To Live): 캐시된 데이터가 메모리에 유지되는 유효 수명 시간 (예: 1시간, 24시간).
- Cached Input Tokens: 일반 입력 토큰 비용 대비 최대 75~90% 할인된 가격으로 제공되는 캐시 토큰 과금 요금제.
Context Caching 체크리스트
- [ ] 최소 캐싱 모수 기준(32,000 토큰 이상)을 충족하는가?
- [ ] 캐시의 TTL 유효시간이 작업 시간과 부합하게 설정되었는가?