コンテキスト キャッシュを使用すると、計算済みの入力トークンを保存して再利用できます。たとえば、同じメディア ファイルについて異なる質問をする場合などに、繰り返し使用できます。これにより、使用状況に応じて費用と速度を節約できます。詳細な概要については、コンテキストのキャッシュ保存ガイドをご覧ください。
メソッド: cachedContents.create
CachedContent リソースを作成します。
エンドポイント
post https://generativelanguage.googleapis.com/v1beta/cachedContentsリクエスト本文
リクエストの本文には CachedContent
のインスタンスが含まれます。
contents[]
object (Content
)
省略可。入力のみの変更不可。キャッシュに保存するコンテンツ。
tools[]
object (Tool
)
省略可。入力のみの変更不可。モデルが次のレスポンスを生成するために使用する可能性がある Tools
のリスト
expiration
。このリソースの有効期限を指定します。expiration
は次のいずれかになります。expireTime
string (Timestamp
format)
このリソースの有効期限が切れたとみなされる、UTC 形式のタイムスタンプ。入力の送信内容にかかわらず、出力には常に指定されます。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
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
)
省略可。入力のみの変更不可。ツールの設定。この構成はすべてのツールで共有されます。
リクエスト例
基本
Python
Node.js
Go
Shell
送信者名
Python
Node.js
Go
チャットから
Python
Node.js
Go
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された CachedContent
のインスタンスが含まれます。
メソッド: cacheContents.list
CachedContents を一覧表示します。
エンドポイント
<ph type="x-smartling-placeholder"></ph> 入手 <ph type="x-smartling-placeholder"></ph> https://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 リソースを読み取ります。
エンドポイント
<ph type="x-smartling-placeholder"></ph> 入手 <ph type="x-smartling-placeholder"></ph> https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}パスパラメータ
name
string
必須。コンテンツ キャッシュ エントリを参照するリソース名。形式: cachedContents/{id}
。cachedContents/{cachedcontent}
の形式になります。
リクエスト本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功した場合、レスポンスの本文には CachedContent
のインスタンスが含まれます。
メソッド: cacheContents.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
。このリソースの有効期限を指定します。expiration
は次のいずれかになります。expireTime
string (Timestamp
format)
このリソースの有効期限が切れたとみなされる、UTC 形式のタイムスタンプ。入力の送信内容にかかわらず、出力には常に指定されます。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
ttl
string (Duration
format)
入力のみのこのリソースの新しい TTL(入力のみ)。
s
で終わる小数 9 桁までの秒単位の期間。例: "3.5s"
。
name
string
省略可。ID。キャッシュに保存されたコンテンツを参照するリソース名。形式: cachedContents/{id}
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功した場合、レスポンスの本文には CachedContent
のインスタンスが含まれます。
メソッド: cacheContents.delete
CachedContent リソースを削除します。
エンドポイント
削除 https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}パスパラメータ
name
string
必須。コンテンツ キャッシュ エントリを参照するリソース名。形式: cachedContents/{id}
cachedContents/{cachedcontent}
の形式になります。
リクエスト本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功すると、レスポンスの本文は空になります。
REST リソース: cacheContents
- リソース: CachedContent
- コンテンツ
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- パート
- blob
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- FunctionCall
- FunctionResponse
- FileData
- ExecutableCode
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 言語
- CodeExecutionResult
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 成果
- ツール
- FunctionDeclaration
- スキーマ
- 型
- CodeExecution
- ToolConfig
- FunctionCallingConfig
- Mode
- UsageMetadata
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- メソッド
リソース: CachedContent
前処理が完了し、GenerativeService への後続のリクエストで使用できるコンテンツ。
キャッシュに保存されたコンテンツは、作成されたモデルでのみ使用できます。
contents[]
object (Content
)
省略可。入力のみの変更不可。キャッシュに保存するコンテンツ。
tools[]
object (Tool
)
省略可。入力のみの変更不可。モデルが次のレスポンスを生成するために使用できる Tools
のリスト
createTime
string (Timestamp
format)
出力専用。キャッシュ エントリの作成日時。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
updateTime
string (Timestamp
format)
出力専用。キャッシュ エントリが最後に更新された日時(UTC)。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
usageMetadata
object (UsageMetadata
)
出力専用。キャッシュに保存されたコンテンツの使用に関するメタデータ。
expiration
。このリソースの有効期限を指定します。expiration
は次のいずれかになります。expireTime
string (Timestamp
format)
このリソースの有効期限が切れたとみなされる、UTC 形式のタイムスタンプ。入力の送信内容にかかわらず、出力には常に指定されます。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
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 ( |
コンテンツ
メッセージのマルチパート コンテンツを含む基本構造化データタイプ。
Content
には、Content
のプロデューサーを指定するための role
フィールドと、メッセージ ターンのコンテンツを含むマルチパート データを含む parts
フィールドが含まれます。
parts[]
object (Part
)
順序付けされた Parts
で、単一のメッセージを構成します。パーツによって MIME タイプが異なる場合があります。
role
string
省略可。コンテンツの制作者。「user」または「model」のいずれかを指定する必要があります。
マルチターンの会話を設定する場合に便利です。それ以外の場合は、空白または未設定のままにできます。
JSON 表現 |
---|
{
"parts": [
{
object ( |
パーツ
マルチパート Content
メッセージの一部であるメディアを含むデータ型。
Part
は、関連付けられたデータ型を持つデータで構成されます。Part
には、Part.data
で受け入れられる型のいずれか 1 つのみを含めることができます。
inlineData
フィールドに RAW バイトが入力されている場合、Part
にはメディアのタイプとサブタイプを識別する固定の IANA MIME タイプが必要です。
共用体フィールド data
。
data
は次のいずれかになります。
text
string
インライン テキスト。
inlineData
object (Blob
)
インライン メディアのバイト数。
functionCall
object (FunctionCall
)
引数とその値を含む FunctionDeclaration.name
を表す文字列を含む、モデルから返された予測 FunctionCall
。
functionResponse
object (FunctionResponse
)
FunctionDeclaration.name
を表す文字列と、関数からの出力を含む構造化 JSON オブジェクトを含む FunctionCall
の結果の出力が、モデルのコンテキストとして使用されます。
fileData
object (FileData
)
URI ベースのデータ。
executableCode
object (ExecutableCode
)
実行される予定のモデルによって生成されたコード。
codeExecutionResult
object (CodeExecutionResult
)
ExecutableCode
の実行結果。
JSON 表現 |
---|
{ // Union field |
Blob
未加工メディアのバイト数。
テキストは RAW バイトとして送信しないでください。'text' [テキスト] を使用してください。表示されます。
mimeType
string
ソースデータの IANA 標準 MIME タイプ。例: - image/png - image/jpeg サポートされていない MIME タイプを指定すると、エラーが返されます。サポートされている種類の一覧については、サポートされているファイル形式をご覧ください。
data
string (bytes format)
メディア形式の未加工のバイトです。
Base64 でエンコードされた文字列。
JSON 表現 |
---|
{ "mimeType": string, "data": string } |
FunctionCall
モデルから返された予測された FunctionCall
。引数とその値を含む FunctionDeclaration.name
を表す文字列を含みます。
name
string
必須。呼び出す関数の名前。a~z、A~Z、0~9 にする必要があり、アンダースコアとダッシュを含めることができます。最大長は 63 文字です。
args
object (Struct
format)
省略可。JSON オブジェクト形式の関数パラメータと値。
JSON 表現 |
---|
{ "name": string, "args": { object } } |
FunctionResponse
FunctionDeclaration.name
を表す文字列と、関数からの出力を含む構造化 JSON オブジェクトを含む FunctionCall
の結果の出力は、モデルのコンテキストとして使用されます。これには、モデルの予測に基づいて作成された FunctionCall
の結果が含まれている必要があります。
name
string
必須。呼び出す関数の名前。a ~ z、A ~ Z、0 ~ 9 にする必要があり、アンダースコアとダッシュを含めることができます。最大長は 63 です。
response
object (Struct
format)
必須。JSON オブジェクト形式の関数のレスポンス。
JSON 表現 |
---|
{ "name": string, "response": { object } } |
FileData
URI ベースのデータ。
mimeType
string
省略可。ソースデータの IANA 標準 MIME タイプ。
fileUri
string
必須。URI。
JSON 表現 |
---|
{ "mimeType": string, "fileUri": string } |
ExecutableCode
実行されるようにモデルによって生成されたコードと、モデルに返される結果。
CodeExecution
ツールを使用した場合にのみ生成されます。このツールではコードが自動的に実行され、対応する CodeExecutionResult
も生成されます。
language
enum (Language
)
必須。code
のプログラミング言語。
code
string
必須。実行するコード。
JSON 表現 |
---|
{
"language": enum ( |
言語
生成されるコードでサポートされているプログラミング言語。
列挙型 | |
---|---|
LANGUAGE_UNSPECIFIED |
言語が指定されていません。この値は使用しないでください。 |
PYTHON |
Python 3.10 以降(numpy と simpy が利用可能)。 |
CodeExecutionResult
結果
コード実行の可能な結果を列挙します。
列挙型 | |
---|---|
OUTCOME_UNSPECIFIED |
未指定のステータス。この値は使用しないでください。 |
OUTCOME_OK |
コードの実行が正常に完了しました。 |
OUTCOME_FAILED |
コードの実行は完了しましたが、エラーが発生しました。stderr に理由を入力します。 |
OUTCOME_DEADLINE_EXCEEDED |
コードの実行時間が長すぎたため、キャンセルされました。部分的な出力が表示される場合と表示されない場合があります。 |
ツール
モデルが回答を生成するために使用できるツールの詳細。
Tool
は、システムが外部システムと対話して、モデルの知識や範囲外のアクションまたは一連のアクションを実行できるようにするコードです。
functionDeclarations[]
object (FunctionDeclaration
)
省略可。モデルで使用可能な FunctionDeclarations
のリスト。関数の呼び出しに使用できます。
モデルまたはシステムが関数を実行しません。代わりに、定義された関数は、実行のためにクライアント側に引数を含む FunctionCall
として返すことができます。モデルは、レスポンスに FunctionCall
を入力することで、これらの関数のサブセットを呼び出すことを決定する場合があります。次の会話ターンには、次のモデルターンの Content.role
「関数」生成コンテキストを含む FunctionResponse
が含まれる場合があります。
codeExecution
object (CodeExecution
)
省略可。モデルが生成の一部としてコードを実行できるようにします。
JSON 表現 |
---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
OpenAPI 3.03 仕様で定義されている関数宣言の構造化表現。この宣言には、関数名とパラメータが含まれます。この FunctionDeclaration は、モデルで Tool
として使用され、クライアントによって実行されるコードブロックを表します。
name
string
必須。関数の名前。a~z、A~Z、0~9 にする必要があり、アンダースコアとダッシュを含めることができます。最大長は 63 文字です。
description
string
必須。関数の簡単な説明。
parameters
object (Schema
)
省略可。この関数のパラメータについて説明します。Open API 3.03 パラメータ オブジェクトの文字列 Key: パラメータの名前を反映します。パラメータ名では大文字と小文字が区別されます。スキーマ値: パラメータに使用されるタイプを定義するスキーマ。
JSON 表現 |
---|
{
"name": string,
"description": string,
"parameters": {
object ( |
スキーマ
Schema
オブジェクトを使用すると、入力データ型と出力データ型を定義できます。これらの型はオブジェクトだけでなく、プリミティブや配列にもできます。OpenAPI 3.0 スキーマ オブジェクトの選択したサブセットを表します。
type
enum (Type
)
必須。データ型。
format
string
省略可。データの形式。これはプリミティブ データ型にのみ使用されます。サポートされている形式: NUMBER 型: float、double INTEGER 型: int32、int64 STRING 型: enum
description
string
省略可。パラメータの簡単な説明。使用例を含めることができます。パラメータの説明はマークダウンの形式にできます。
nullable
boolean
省略可。値が null の可能性があるかどうかを示します。
enum[]
string
省略可。Type.STRING の要素の可能な値(列挙型形式)。たとえば、列挙型の方向を次のように定義できます。{type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems
string (int64 format)
省略可。Type.ARRAY の要素の最大数。
minItems
string (int64 format)
省略可。Type.ARRAY の要素の最小数。
properties
map (key: string, value: object (Schema
))
省略可。Type.OBJECT のプロパティ。
"key": value
ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }
required[]
string
省略可。Type.OBJECT の必須プロパティ。
items
object (Schema
)
省略可。Type.ARRAY の要素のスキーマ。
タイプ
Type には、https://spec.openapis.org/oas/v3.0.3#data-types で定義されている OpenAPI データ型のリストが含まれます。
列挙型 | |
---|---|
TYPE_UNSPECIFIED |
未指定。使用しないでください。 |
STRING |
文字列型。 |
NUMBER |
数値の型。 |
INTEGER |
整数型。 |
BOOLEAN |
ブール値型。 |
ARRAY |
配列型。 |
OBJECT |
オブジェクト タイプ。 |
CodeExecution
この型にはフィールドがありません。
モデルによって生成されたコードを実行し、結果をモデルに自動的に返すツール。
このツールを使用した場合にのみ生成される ExecutableCode
と CodeExecutionResult
もご覧ください。
ToolConfig
リクエストでの Tool
の使用を指定するためのパラメータを含むツール構成。
functionCallingConfig
object (FunctionCallingConfig
)
省略可。関数呼び出しの構成。
JSON 表現 |
---|
{
"functionCallingConfig": {
object ( |
FunctionCallingConfig
関数呼び出しの動作を指定する構成。
mode
enum (Mode
)
省略可。関数呼び出しを実行するモードを指定します。指定しない場合、デフォルト値が AUTO に設定されます。
allowedFunctionNames[]
string
省略可。指定すると、モデルが呼び出す関数を制限する関数名のセット。
Mode が ANY の場合にのみ設定する必要があります。関数名は [FunctionDeclaration.name] と一致する必要があります。モードを ANY に設定すると、モデルは指定された関数名のセットから関数呼び出しを予測します。
JSON 表現 |
---|
{
"mode": enum ( |
モード
実行モードを定義して、関数呼び出しの実行動作を定義します。
列挙型 | |
---|---|
MODE_UNSPECIFIED |
関数呼び出しモードが指定されていません。この値は使用しないでください。 |
AUTO |
デフォルトのモデルの動作では、モデルは関数呼び出しまたは自然言語によるレスポンスのどちらを予測するかを決定します。 |
ANY |
モデルは、常に関数呼び出しのみを予測するように制約されています。"allowedFunctionNames" の場合:が設定されている場合、予測された関数呼び出しは「allowedFunctionNames」のいずれかに限定されます。それ以外の場合、予測された関数呼び出しは、指定された「functionDeclarations」のいずれかになります。 |
NONE |
モデルは関数呼び出しを予測しません。モデルの動作は、関数宣言を渡さない場合と同じです。 |
UsageMetadata
キャッシュに保存されたコンテンツの使用に関するメタデータ。
totalTokenCount
integer
キャッシュに保存されたコンテンツが消費するトークンの合計数。
JSON 表現 |
---|
{ "totalTokenCount": integer } |