일반적인 AI 워크플로에서는 동일한 입력 토큰을 모델에 반복해서 전달할 수 있습니다. Gemini API 컨텍스트 캐싱 기능을 사용하면 일부 콘텐츠를 모델에 한 번 전달하고 입력 토큰을 캐시한 다음 후속 요청에 캐시된 토큰을 참조할 수 있습니다. 특정 볼륨에서는 캐시된 토큰을 사용하는 것이 동일한 토큰 자료 집합을 반복적으로 전달하는 것보다 비용이 적게 듭니다.
토큰 세트를 캐시할 때 토큰이 자동으로 삭제되기 전에 캐시가 존재할 시간을 선택할 수 있습니다. 이 캐싱 기간을 TTL (수명)이라고 합니다. 설정하지 않으면 TTL은 기본적으로 1시간으로 설정됩니다. 캐싱 비용은 입력 토큰 크기와 토큰을 유지하려는 기간에 따라 다릅니다.
컨텍스트 캐싱은 Gemini 1.5 및 2.0 안정화 모델 시리즈에서 지원됩니다.
컨텍스트 캐싱을 사용하는 경우
컨텍스트 캐싱은 짧은 요청에서 상당한 양의 초기 컨텍스트를 반복적으로 참조하는 시나리오에 특히 적합합니다. 다음과 같은 사용 사례에 컨텍스트 캐싱을 사용하는 것이 좋습니다.
- 광범위한 시스템 안내를 제공하는 챗봇
- 긴 동영상 파일 반복 분석
- 대규모 문서 세트에 대해 반복 쿼리
- 빈번한 코드 저장소 분석 또는 버그 수정
캐싱으로 비용을 절감하는 방법
컨텍스트 캐싱은 전반적인 운영 비용을 줄이기 위해 설계된 유료 기능입니다. 다음 요소를 기준으로 결제가 청구됩니다.
- 캐시 토큰 수: 캐시된 입력 토큰 수로, 후속 프롬프트에 포함될 경우 할인된 요율로 청구됩니다.
- 저장 기간: 캐시된 토큰이 저장되는 시간 (TTL)으로, 캐시된 토큰 수의 TTL 기간을 기준으로 청구됩니다. TTL에는 최솟값 또는 최댓값이 없습니다.
- 기타 요인: 캐시되지 않은 입력 토큰 및 출력 토큰과 같은 기타 요인에 다른 요금이 청구됩니다.
최신 가격 책정 세부정보는 Gemini API 가격 책정 페이지를 참고하세요. 토큰 수를 집계하는 방법을 알아보려면 토큰 가이드를 참고하세요.
컨텍스트 캐싱을 사용하는 방법
이 섹션에서는 빠른 시작에 설명된 대로 Gemini SDK를 설치했거나 curl을 설치했으며 API 키를 구성했다고 가정합니다.
추가 고려사항
컨텍스트 캐싱을 사용할 때는 다음 사항을 고려하세요.
- 컨텍스트 캐싱의 최소 입력 토큰 수는 32,768개이고 최대는 지정된 모델의 최대값과 같습니다. 토큰 집계에 관한 자세한 내용은 토큰 가이드를 참고하세요.
- 모델은 캐시된 토큰과 일반 입력 토큰을 구분하지 않습니다. 캐시된 콘텐츠는 프롬프트의 접두사일 뿐입니다.
- 컨텍스트 캐싱에는 특별한 비율 또는 사용량 제한이 없습니다.
GenerateContent
의 표준 비율 제한이 적용되며 캐시된 토큰이 토큰 한도에 포함됩니다. - 캐시된 토큰 수는 캐시 서비스의 만들기, 가져오기, 목록 작업에서
usage_metadata
로 반환되며 캐시를 사용할 때는GenerateContent
에서도 반환됩니다.