コンテキスト キャッシュ保存を使用すると、同じメディア ファイルについて異なる質問をする場合など、繰り返し使用する事前計算された入力トークンを保存して再利用できます。これにより、使用状況に応じて費用と速度を節約できます。詳細については、コンテキスト キャッシュ保存ガイドをご覧ください。
メソッド: 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)
このリソースの有効期限が切れたとみなされる、UTC 形式のタイムスタンプ。入力の送信内容にかかわらず、出力には必ず指定されます。
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)
入力専用。このリソースの新しい TTL(入力専用)。
s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"。
displayName
string
省略可。変更不可。キャッシュに保存されたコンテンツのユーザー作成のわかりやすい表示名。最大 128 個の Unicode 文字。
model
string
必須。変更不可。キャッシュに保存されたコンテンツに使用する Model の名前。形式: models/{model}
systemInstruction
object (Content)
省略可。入力専用。変更不可。デベロッパーがシステム指示を設定します。現在、テキストのみ。
toolConfig
object (ToolConfig)
省略可。入力専用。変更不可。ツール構成。この構成はすべてのツールで共有されます。
リクエスト例
基本
Python
Node.js
Go
Shell
送信者名
Python
Node.js
Go
チャットから
Python
Node.js
Go
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された CachedContent のインスタンスが含まれます。
メソッド: cachedContents.list
CachedContents を一覧表示します。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
クエリ パラメータ
pageSize
integer
省略可。返すキャッシュ コンテンツの最大数。サービスが返す値はこれよりも少ないことがあります。指定しない場合は、デフォルトの(最大数以下の)アイテム数が返されます。最大値は 1,000 です。1,000 を超える値は 1,000 に強制変換されます。
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
Shell
レスポンスの本文
成功した場合、レスポンスの本文には CachedContent のインスタンスが含まれます。
メソッド: cachedContents.patch
CachedContent リソースを更新します(更新できるのは有効期限のみです)。
エンドポイント
パッチhttps: / /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)
このリソースの有効期限が切れたとみなされる、UTC 形式のタイムスタンプ。入力の送信内容にかかわらず、出力には必ず指定されます。
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)
入力専用。このリソースの新しい TTL(入力専用)。
s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"。
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功した場合、レスポンスの本文には CachedContent のインスタンスが含まれます。
メソッド: cachedContents.delete
CachedContent リソースを削除します。
エンドポイント
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
パスパラメータ
name
string
必須。コンテンツ キャッシュ エントリを参照するリソース名。形式: cachedContents/{id}。cachedContents/{cachedcontent} の形式になります。
リクエストの本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功した場合、レスポンスの本文は空の 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)
出力専用。キャッシュ エントリが最後に更新された日時(UTC)。
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)
このリソースの有効期限が切れたとみなされる、UTC 形式のタイムスタンプ。入力の送信内容にかかわらず、出力には必ず指定されます。
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)
入力専用。このリソースの新しい TTL(入力専用)。
s で終わる小数 9 桁までの秒単位の期間。例: "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
enum (Mode)
省略可。関数呼び出しを実行するモードを指定します。指定しない場合、デフォルト値は AUTO に設定されます。
allowedFunctionNames[]
string
省略可。指定すると、モデルが呼び出す関数を制限する関数名のセット。
Mode が ANY または VALIDATED の場合にのみ設定する必要があります。関数名は [FunctionDeclaration.name] と一致する必要があります。設定すると、モデルは許可された関数名のみから関数呼び出しを予測します。
| JSON 表現 |
|---|
{
"mode": enum ( |
モード
実行モードを定義して、関数呼び出しの実行動作を定義します。
| 列挙型 | |
|---|---|
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 } |