您可以透過脈絡快取功能儲存並重複使用預先計算的輸入權杖,例如針對同一媒體檔案提出不同問題時。視使用情況而定,這可節省成本並加快速度。如需詳細介紹,請參閱「情境快取」指南。
方法:cachedContents.create
建立 CachedContent 資源。
端點
posthttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
要求主體
要求主體包含 CachedContent 的例項。
contents[]
object (Content)
(選用步驟) 僅供輸入。不可變動。要快取的內容。
tools[]
object (Tool)
(選用步驟) 僅供輸入。不可變動。Tools模型可能用來生成下一個回應的清單
expiration
Union type
expiration 只能是下列其中一項:expireTime
string (Timestamp format)
資源到期時間的時間戳記 (世界標準時間)。不論輸入什麼內容,這項資訊「一律」會顯示在輸出內容中。
使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
ttl
string (Duration format)
僅供輸入。這項資源的新存留時間,僅供輸入。
時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"。
displayName
string
(選用步驟) 不可變動。使用者為快取內容產生的有意義顯示名稱。最多 128 個 Unicode 字元。
model
string
必填。不可變動。用於快取內容的 Model 名稱。格式:models/{model}
systemInstruction
object (Content)
(選用步驟) 僅供輸入。不可變動。開發人員設定系統指令。目前僅支援文字。
toolConfig
object (ToolConfig)
(選用步驟) 僅供輸入。不可變動。工具設定。所有工具都會共用這項設定。
要求範例
基本
Python
Node.js
Go
貝殼
寄件者名稱
Python
Node.js
Go
來自即時通訊
Python
Node.js
Go
回應主體
如果成功,回應主體會包含新建立的 CachedContent 執行個體。
方法:cachedContents.list
列出 CachedContents。
端點
gethttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
查詢參數
pageSize
integer
(選用步驟) 要傳回的快取內容數量上限。服務傳回的產品數量可能會少於這個值。如未指定,系統會傳回預設 (上限以下) 數量的項目。許可的最大值為 1000;超出的數值將一律指定為 1000。
pageToken
string
(選用步驟) 屬於接收自前一個 cachedContents.list 呼叫的網頁權杖。提供此項目即可擷取後續網頁。
進行分頁時,提供至 cachedContents.list 的所有其他參數須與提供網頁權杖的呼叫相符。
要求主體
要求主體必須為空白。
回應主體
回應包含 CachedContents 清單。
如果成功,回應主體會含有以下結構的資料:
cachedContents[]
object (CachedContent)
快取內容清單。
nextPageToken
string
可做為 pageToken 傳送的權杖,用於擷取後續網頁。如果省略這個欄位,就不會有後續頁面。
| JSON 表示法 |
|---|
{
"cachedContents": [
{
object ( |
方法:cachedContents.get
讀取 CachedContent 資源。
端點
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
路徑參數
name
string
必填。參照內容快取項目的資源名稱。格式:cachedContents/{id} 格式為 cachedContents/{cachedcontent}。
要求主體
要求主體必須為空白。
要求範例
Python
Node.js
Go
貝殼
回應主體
如果成功,回應主體會包含 CachedContent 的執行個體。
方法:cachedContents.patch
更新 CachedContent 資源 (只能更新到期時間)。
端點
patchhttps: / /generativelanguage.googleapis.com /v1beta /{cachedContent.name=cachedContents /*}
PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
路徑參數
cachedContent.name
string
僅供輸出。ID。參照快取內容的資源名稱。格式:cachedContents/{id} 格式為 cachedContents/{cachedcontent}。
查詢參數
updateMask
string (FieldMask format)
要更新的欄位清單。
這是以半形逗號分隔的完整欄位名稱清單,範例:"user.displayName,photo"。
要求主體
要求主體包含 CachedContent 的例項。
expiration
Union type
expiration 只能是下列其中一項:expireTime
string (Timestamp format)
資源到期時間的時間戳記 (世界標準時間)。不論輸入什麼內容,這項資訊「一律」會顯示在輸出內容中。
使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
ttl
string (Duration format)
僅供輸入。這項資源的新存留時間,僅供輸入。
時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"。
要求範例
Python
Node.js
Go
貝殼
回應主體
如果成功,回應主體會包含 CachedContent 的執行個體。
方法:cachedContents.delete
刪除 CachedContent 資源。
端點
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
路徑參數
name
string
必填。參照內容快取項目的資源名稱。格式:cachedContents/{id}。格式為 cachedContents/{cachedcontent}。
要求主體
要求主體必須為空白。
要求範例
Python
Node.js
Go
貝殼
回應主體
如果成功,回應主體會是空白的 JSON 物件。
REST 資源:cachedContents
資源:CachedContent
已預先處理的內容,可用於後續對 GenerativeService 的要求。
快取內容只能搭配建立時使用的模型。
contents[]
object (Content)
(選用步驟) 僅供輸入。不可變動。要快取的內容。
tools[]
object (Tool)
(選用步驟) 僅供輸入。不可變動。Tools模型可能用來生成下一個回應的清單
createTime
string (Timestamp format)
僅供輸出。快取項目的建立時間。
使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
updateTime
string (Timestamp format)
僅供輸出。快取項目上次更新的時間 (世界標準時間)。
使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
usageMetadata
object (UsageMetadata)
僅供輸出。快取內容的使用中繼資料。
expiration
Union type
expiration 只能是下列其中一項:expireTime
string (Timestamp format)
資源到期時間的時間戳記 (世界標準時間)。不論輸入什麼內容,這項資訊「一律」會顯示在輸出內容中。
使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
ttl
string (Duration format)
僅供輸入。這項資源的新存留時間,僅供輸入。
時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"。
name
string
僅供輸出。ID。參照快取內容的資源名稱。格式:cachedContents/{id}
displayName
string
(選用步驟) 不可變動。使用者為快取內容產生的有意義顯示名稱。最多 128 個 Unicode 字元。
model
string
必填。不可變動。用於快取內容的 Model 名稱。格式:models/{model}
systemInstruction
object (Content)
(選用步驟) 僅供輸入。不可變動。開發人員設定系統指令。目前僅支援文字。
toolConfig
object (ToolConfig)
(選用步驟) 僅供輸入。不可變動。工具設定。所有工具都會共用這項設定。
| JSON 表示法 |
|---|
{ "contents": [ { object ( |
ToolConfig
工具設定,內含用於在要求中指定 Tool 使用情形的參數。
functionCallingConfig
object (FunctionCallingConfig)
(選用步驟) 函式呼叫設定。
retrievalConfig
object (RetrievalConfig)
(選用步驟) 擷取設定。
includeServerSideToolInvocations
boolean
(選用步驟) 如果設為 true,API 回應會在 Content 訊息中納入伺服器端工具呼叫和回應。這項功能可讓用戶端觀察伺服器的工具互動。
| JSON 表示法 |
|---|
{ "functionCallingConfig": { object ( |
FunctionCallingConfig
模式
定義執行模式,藉此定義函式呼叫的執行行為。
| 列舉 | |
|---|---|
MODE_UNSPECIFIED |
未指定函式呼叫模式。請勿使用這個值。 |
AUTO |
預設模型行為,模型會判斷要預測函式呼叫或自然語言回覆。 |
ANY |
模型會受到限制,一律只預測函式呼叫。如果設定了「allowedFunctionNames」,預測的函式呼叫會限制為「allowedFunctionNames」中的任一項;否則,預測的函式呼叫會是提供的「functionDeclarations」中的任一項。 |
NONE |
模型不會預測任何函式呼叫。模型行為與未傳遞任何函式宣告時相同。 |
VALIDATED |
模型會判斷要預測函式呼叫或自然語言回覆,但會使用受限解碼驗證函式呼叫。如果設定了「allowedFunctionNames」,預測的函式呼叫會限制為「allowedFunctionNames」中的任一函式;否則,預測的函式呼叫會是提供的「functionDeclarations」中的任一函式。 |
RetrievalConfig
LatLng
代表經緯度組合的物件。這個物件會同時指出經度和緯度的度數。除非另有指定,否則這個物件必須符合 WGS84 標準。此外,值必須在正規化範圍內。
latitude
number
緯度度數,必須介於 [-90.0, +90.0] 的範圍之間。
longitude
number
經度度數,必須介於 [-180.0, +180.0] 的範圍之間。
| JSON 表示法 |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
快取內容的使用中繼資料。
totalTokenCount
integer
快取內容消耗的權杖總數。
| JSON 表示法 |
|---|
{ "totalTokenCount": integer } |