Resource: CachedContent
A resource used in LLM queries for users to explicitly specify what to cache and how to cache.
name 
 
  string 
 
Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cachedContent}
displayName 
 
  string 
 
Optional. Immutable. The user-generated meaningful display name of the cached content.
model 
 
  string 
 
Immutable. The name of the Model 
to use for cached content. Currently, only the published Gemini base models are supported, in form of projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}
systemInstruction 
 
  object (  Content 
 
) 
 
Optional. Input only. Immutable. Developer set system instruction. Currently, text only
contents[] 
 
  object (  Content 
 
) 
 
Optional. Input only. Immutable. The content to cache
tools[] 
 
  object (  Tool 
 
) 
 
Optional. Input only. Immutable. A list of Tools 
the model may use to generate the next response
toolConfig 
 
  object (  ToolConfig 
 
) 
 
Optional. Input only. Immutable. Tool config. This config is shared for all tools
createTime 
 
  string (  Timestamp 
 
format) 
 
Output only. Creation time of the cache entry.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z" 
, "2014-10-02T15:01:23.045123456Z" 
or "2014-10-02T15:01:23+05:30" 
.
updateTime 
 
  string (  Timestamp 
 
format) 
 
Output only. When the cache entry was last updated in UTC time.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z" 
, "2014-10-02T15:01:23.045123456Z" 
or "2014-10-02T15:01:23+05:30" 
.
encryptionSpec 
 
  object (  EncryptionSpec 
 
) 
 
Input only. Immutable. Customer-managed encryption key spec for a CachedContent 
. If set, this CachedContent 
and all its sub-resources will be secured by this key.
expiration 
 
  Union type 
 
 expiration 
can be only one of the following:expireTime 
 
  string (  Timestamp 
 
format) 
 
timestamp of when this resource is considered expired. This is always provided on output, regardless of what was sent on input.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z" 
, "2014-10-02T15:01:23.045123456Z" 
or "2014-10-02T15:01:23+05:30" 
.
ttl 
 
  string (  Duration 
 
format) 
 
Input only. The TTL for this resource. The expiration time is computed: now + TTL.
A duration in seconds with up to nine fractional digits, ending with ' s 
'. Example: "3.5s" 
.
| JSON representation | 
|---|
| { "name" : string , "displayName" : string , "model" : string , "systemInstruction" : { object ( | 
Tool
Tool details that the model may use to generate response.
A Tool 
is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
functionDeclarations[] 
 
  object (  FunctionDeclaration 
 
) 
 
Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating  FunctionCall 
 
in the response. user should provide a  FunctionResponse 
 
for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
retrieval 
 
  object (  Retrieval 
 
) 
 
Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
googleSearch 
 
  object (  GoogleSearch 
 
) 
 
Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
googleSearchRetrieval
 (deprecated) 
 
 
  object (  GoogleSearchRetrieval 
 
) 
 
Optional. Specialized retrieval tool that is powered by Google Search.
googleMaps 
 
  object (  GoogleMaps 
 
) 
 
Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
enterpriseWebSearch 
 
  object (  EnterpriseWebSearch 
 
) 
 
Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
codeExecution 
 
  object (  CodeExecution 
 
) 
 
Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
urlContext 
 
  object (  UrlContext 
 
) 
 
Optional. Tool to support URL context retrieval.
computerUse 
 
  object (  ComputerUse 
 
) 
 
Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
| JSON representation | 
|---|
| { "functionDeclarations" : [ { object ( | 
Retrieval
Defines a retrieval tool that model can call to access external knowledge.
disableAttribution
 (deprecated) 
 
 
  boolean 
 
Optional. Deprecated. This option is no longer supported.
source 
 
  Union type 
 
 source 
can be only one of the following:vertexAiSearch 
 
  object (  VertexAISearch 
 
) 
 
Set to use data source powered by Vertex AI Search.
vertexRagStore 
 
  object (  VertexRagStore 
 
) 
 
Set to use data source powered by Vertex RAG store. user data is uploaded via the VertexRagDataService.
| JSON representation | 
|---|
| { "disableAttribution" : boolean , // source "vertexAiSearch" : { object ( | 
VertexAISearch
Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder
datastore 
 
  string 
 
Optional. Fully-qualified Vertex AI Search data store resource id. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore} 
engine 
 
  string 
 
Optional. Fully-qualified Vertex AI Search engine resource id. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine} 
maxResults 
 
  integer 
 
Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.
filter 
 
  string 
 
Optional. Filter strings to be passed to the search API.
dataStoreSpecs[] 
 
  object (  DataStoreSpec 
 
) 
 
Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.
| JSON representation | 
|---|
|  { 
 "datastore" 
 : 
 string 
 , 
 "engine" 
 : 
 string 
 , 
 "maxResults" 
 : 
 integer 
 , 
 "filter" 
 : 
 string 
 , 
 "dataStoreSpecs" 
 : 
 [ 
 { 
 object (  | 
DataStoreSpec
Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
dataStore 
 
  string 
 
Full resource name of DataStore, such as Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore} 
filter 
 
  string 
 
Optional. Filter specification to filter documents in the data store specified by dataStore field. For more information on filtering, see Filtering
| JSON representation | 
|---|
| { "dataStore" : string , "filter" : string } | 
VertexRagStore
Retrieve from Vertex RAG Store for grounding.
ragCorpora[]
 (deprecated) 
 
 
  string 
 
Optional. Deprecated. Please use ragResources instead.
ragResources[] 
 
  object (  RagResource 
 
) 
 
Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.
ragRetrievalConfig 
 
  object (  RagRetrievalConfig 
 
) 
 
Optional. The retrieval config for the Rag query.
storeContext 
 
  boolean 
 
Optional. Currently only supported for Gemini Multimodal Live API.
In Gemini Multimodal Live API, if storeContext 
bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.
similarityTopK
 (deprecated) 
 
 
  integer 
 
Optional. Number of top k results to return from the selected corpora.
vectorDistanceThreshold
 (deprecated) 
 
 
  number 
 
Optional. Only return results with vector distance smaller than the threshold.
| JSON representation | 
|---|
| { "ragCorpora" : [ string ] , "ragResources" : [ { object ( | 
RagResource
The definition of the Rag resource.
ragCorpus 
 
  string 
 
Optional. RagCorpora resource name. Format: projects/{project}/locations/{location}/ragCorpora/{ragCorpus} 
ragFileIds[] 
 
  string 
 
Optional. ragFileId. The files should be in the same ragCorpus set in ragCorpus field.
| JSON representation | 
|---|
| { "ragCorpus" : string , "ragFileIds" : [ string ] } | 
RagRetrievalConfig
Specifies the context retrieval config.
topK 
 
  integer 
 
Optional. The number of contexts to retrieve.
hybridSearch 
 
  object (  HybridSearch 
 
) 
 
Optional. Config for Hybrid Search.
filter 
 
  object (  Filter 
 
) 
 
Optional. Config for filters.
ranking 
 
  object (  Ranking 
 
) 
 
Optional. Config for ranking and reranking.
| JSON representation | 
|---|
| { "topK" : integer , "hybridSearch" : { object ( | 
HybridSearch
Config for Hybrid Search.
alpha 
 
  number 
 
Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.
| JSON representation | 
|---|
| { "alpha" : number } | 
Filter
Config for filters.
vector_db_threshold 
 
  Union type 
 
 vector_db_threshold 
can be only one of the following:vectorDistanceThreshold 
 
  number 
 
Optional. Only returns contexts with vector distance smaller than the threshold.
vectorSimilarityThreshold 
 
  number 
 
Optional. Only returns contexts with vector similarity larger than the threshold.
| JSON representation | 
|---|
| { "metadataFilter" : string , // vector_db_threshold "vectorDistanceThreshold" : number , "vectorSimilarityThreshold" : number // Union type } | 
Ranking
Config for ranking and reranking.
ranking_config 
 
  Union type 
 
 ranking_config 
can be only one of the following:rankService 
 
  object (  RankService 
 
) 
 
Optional. Config for Rank service.
llmRanker 
 
  object (  LlmRanker 
 
) 
 
Optional. Config for LlmRanker.
| JSON representation | 
|---|
| { // ranking_config "rankService" : { object ( | 
RankService
Config for Rank service.
modelName 
 
  string 
 
Optional. The model name of the rank service. Format: semantic-ranker-512@latest 
| JSON representation | 
|---|
| { "modelName" : string } | 
LlmRanker
Config for LlmRanker.
modelName 
 
  string 
 
Optional. The model name used for ranking. See Supported models .
| JSON representation | 
|---|
| { "modelName" : string } | 
GoogleSearch
GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
excludeDomains[] 
 
  string 
 
Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"].
blockingConfidence 
 
  enum (  PhishBlockThreshold 
 
) 
 
Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
| JSON representation | 
|---|
|  { 
 "excludeDomains" 
 : 
 [ 
 string 
 ] 
 , 
 "blockingConfidence" 
 : 
 enum (  | 
PhishBlockThreshold
These are available confidence level user can set to block malicious urls with chosen confidence and above. For understanding different confidence of webrisk, please refer to https://cloud.google.com/web-risk/docs/reference/rpc/google.cloud.webrisk.v1eap1#confidencelevel
| Enums | |
|---|---|
| PHISH_BLOCK_THRESHOLD_UNSPECIFIED | Defaults to unspecified. | 
| BLOCK_LOW_AND_ABOVE | Blocks Low and above confidence URL that is risky. | 
| BLOCK_MEDIUM_AND_ABOVE | Blocks Medium and above confidence URL that is risky. | 
| BLOCK_HIGH_AND_ABOVE | Blocks High and above confidence URL that is risky. | 
| BLOCK_HIGHER_AND_ABOVE | Blocks Higher and above confidence URL that is risky. | 
| BLOCK_VERY_HIGH_AND_ABOVE | Blocks Very high and above confidence URL that is risky. | 
| BLOCK_ONLY_EXTREMELY_HIGH | Blocks Extremely high confidence URL that is risky. | 
GoogleSearchRetrieval
Tool to retrieve public web data for grounding, powered by Google.
dynamicRetrievalConfig 
 
  object (  DynamicRetrievalConfig 
 
) 
 
Specifies the dynamic retrieval configuration for the given source.
| JSON representation | 
|---|
|  { 
 "dynamicRetrievalConfig" 
 : 
 { 
 object (  | 
DynamicRetrievalConfig
Describes the options to customize dynamic retrieval.
mode 
 
  enum (  Mode 
 
) 
 
The mode of the predictor to be used in dynamic retrieval.
dynamicThreshold 
 
  number 
 
Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.
| JSON representation | 
|---|
|  { 
 "mode" 
 : 
 enum (  | 
Mode
The mode of the predictor to be used in dynamic retrieval.
| Enums | |
|---|---|
| MODE_UNSPECIFIED | Always trigger retrieval. | 
| MODE_DYNAMIC | Run retrieval only when system decides it is necessary. | 
GoogleMaps
Tool to retrieve public maps data for grounding, powered by Google.
| JSON representation | 
|---|
| { "enableWidget" : boolean } | 
EnterpriseWebSearch
Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.
excludeDomains[] 
 
  string 
 
Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.
blockingConfidence 
 
  enum (  PhishBlockThreshold 
 
) 
 
Optional. Sites with confidence level chosen & above this value will be blocked from the search results.
| JSON representation | 
|---|
|  { 
 "excludeDomains" 
 : 
 [ 
 string 
 ] 
 , 
 "blockingConfidence" 
 : 
 enum (  | 
CodeExecution
This type has no fields.
Tool that executes code generated by the model, and automatically returns the result to the model.
See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.
UrlContext
This type has no fields.
Tool to support URL context.
ComputerUse
Tool to support computer use.
environment 
 
  enum (  Environment 
 
) 
 
Required. The environment being operated.
excludedPredefinedFunctions[] 
 
  string 
 
Optional. By default, predefined functions are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions.
| JSON representation | 
|---|
|  { 
 "environment" 
 : 
 enum (  | 
Environment
Represents the environment being operated, such as a web browser.
| Enums | |
|---|---|
| ENVIRONMENT_UNSPECIFIED | Defaults to browser. | 
| ENVIRONMENT_BROWSER | Operates in a web browser. | 
ToolConfig
Tool config. This config is shared for all tools provided in the request.
functionCallingConfig 
 
  object (  FunctionCallingConfig 
 
) 
 
Optional. Function calling config.
retrievalConfig 
 
  object (  RetrievalConfig 
 
) 
 
Optional. Retrieval config.
| JSON representation | 
|---|
| { "functionCallingConfig" : { object ( | 
FunctionCallingConfig
Function calling config.
mode 
 
  enum (  Mode 
 
) 
 
Optional. Function calling mode.
allowedFunctionNames[] 
 
  string 
 
Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.
| JSON representation | 
|---|
|  { 
 "mode" 
 : 
 enum (  | 
Mode
Function calling mode.
| Enums | |
|---|---|
| MODE_UNSPECIFIED | Unspecified function calling mode. This value should not be used. | 
| AUTO | Default model behavior, model decides to predict either function calls or natural language response. | 
| ANY | Model is constrained to always predicting function calls only. If "allowedFunctionNames" are set, the predicted function calls will be limited to any one of "allowedFunctionNames", else the predicted function calls will be any one of the provided "functionDeclarations". | 
| NONE | Model will not predict any function calls. Model behavior is same as when not passing any function declarations. | 
| VALIDATED | Model is constrained to predict either function calls or natural language response. If "allowedFunctionNames" are set, the predicted function calls will be limited to any one of "allowedFunctionNames", else the predicted function calls will be any one of the provided "functionDeclarations". | 
RetrievalConfig
UsageMetadata
metadata on the usage of the cached content.
totalTokenCount 
 
  integer 
 
Total number of tokens that the cached content consumes.
textCount 
 
  integer 
 
Number of text characters.
imageCount 
 
  integer 
 
Number of images.
videoDurationSeconds 
 
  integer 
 
Duration of video in seconds.
audioDurationSeconds 
 
  integer 
 
Duration of audio in seconds.
| JSON representation | 
|---|
| { "totalTokenCount" : integer , "textCount" : integer , "imageCount" : integer , "videoDurationSeconds" : integer , "audioDurationSeconds" : integer } | 
| Methods | |
|---|---|
|   | Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage. | 
|   | Deletes cached content | 
|   | Gets cached content configurations | 
|   | Lists cached contents in a project | 
|   | Updates cached content configurations | 

