REST Resource: cachedContents

リソース: CachedContent

前処理され、GenerativeService への後続のリクエストで使用できるコンテンツ。

キャッシュに保存されたコンテンツは、作成されたモデルでのみ使用できます。

JSON 表現
{
  "contents": [
    {
      object (Content)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "usageMetadata": {
    object (UsageMetadata)
  },

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
  "name": string,
  "displayName": string,
  "model": string,
  "systemInstruction": {
    object (Content)
  },
  "toolConfig": {
    object (ToolConfig)
  }
}
フィールド
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)

省略可。入力のみの変更不可。ツール構成。この構成はすべてのツールで共有されます。

コンテンツ

メッセージのマルチパート コンテンツを含む基本構造化データタイプ。

Content には、Content のプロデューサーを指定する role フィールドと、メッセージ ターンのコンテンツを含むマルチパート データを含む parts フィールドが含まれます。

JSON 表現
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
フィールド
parts[]

object (Part)

順序付けされた Parts で、単一のメッセージを構成します。パーツによって MIME タイプが異なる場合があります。

role

string

省略可。コンテンツの制作者。「user」または「model」のいずれかを指定します。

マルチターンの会話を設定する場合に便利です。それ以外の場合は、空白または未設定のままにできます。

パーツ

マルチパート Content メッセージの一部であるメディアを含むデータ型。

Part は、関連するデータ型を持つデータで構成されます。Part には、Part.data で受け入れられる型のいずれか 1 つのみを含めることができます。

inlineData フィールドに RAW バイトが入力されている場合、Part にはメディアのタイプとサブタイプを識別する固定の IANA MIME タイプが必要です。

JSON 表現
{

  // Union field data can be only one of the following:
  "text": string,
  "inlineData": {
    object (Blob)
  },
  "functionCall": {
    object (FunctionCall)
  },
  "functionResponse": {
    object (FunctionResponse)
  },
  "fileData": {
    object (FileData)
  }
  // End of list of possible types for union field data.
}
フィールド

共用体フィールド data

data は次のいずれかになります。

text

string

インライン テキスト。

inlineData

object (Blob)

インライン メディア バイト。

functionCall

object (FunctionCall)

モデルから返された予測された FunctionCall。引数とその値を含む FunctionDeclaration.name を表す文字列を含みます。

functionResponse

object (FunctionResponse)

FunctionDeclaration.name を表す文字列と、関数からの出力を含む構造化 JSON オブジェクトを含む FunctionCall の結果出力が、モデルのコンテキストとして使用されます。

fileData

object (FileData)

URI ベースのデータ。

Blob

未加工メディアのバイト数。

テキストは RAW バイトとして送信しないでください。「text」フィールドを使用してください。

JSON 表現
{
  "mimeType": string,
  "data": string
}
フィールド
mimeType

string

ソースデータの IANA 標準 MIME タイプ。例: - image/png - image/jpeg サポートされていない MIME タイプを指定すると、エラーが返されます。サポートされている種類の一覧については、サポートされているファイル形式をご覧ください。

data

string (bytes format)

メディア形式の未加工のバイトです。

Base64 でエンコードされた文字列。

FunctionCall

モデルから返された予測された FunctionCall。引数とその値を含む FunctionDeclaration.name を表す文字列を含みます。

JSON 表現
{
  "name": string,
  "args": {
    object
  }
}
フィールド
name

string

必須。呼び出す関数の名前。a ~ z、A ~ Z、0 ~ 9 にする必要があり、アンダースコアとダッシュを含めることができます。最大長は 63 です。

args

object (Struct format)

省略可。JSON オブジェクト形式の関数パラメータと値。

FunctionResponse

FunctionDeclaration.name を表す文字列と、関数からの出力を含む構造化 JSON オブジェクトを含む FunctionCall からの出力が、モデルのコンテキストとして使用されます。これには、モデルの予測に基づいて作成された FunctionCall の結果が含まれます。

JSON 表現
{
  "name": string,
  "response": {
    object
  }
}
フィールド
name

string

必須。呼び出す関数の名前。a ~ z、A ~ Z、0 ~ 9 にする必要があり、アンダースコアとダッシュを含めることができます。最大長は 63 です。

response

object (Struct format)

必須。JSON オブジェクト形式の関数のレスポンス。

FileData

URI ベースのデータ。

JSON 表現
{
  "mimeType": string,
  "fileUri": string
}
フィールド
mimeType

string

省略可。ソースデータの IANA 標準 MIME タイプ。

fileUri

string

必須。URI です。

ツール

モデルが回答を生成するために使用できるツールの詳細。

Tool は、システムが外部システムとやり取りして、モデルの知識や範囲外のアクションまたは一連のアクションを実行できるようにするコードです。

JSON 表現
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
フィールド
functionDeclarations[]

object (FunctionDeclaration)

省略可。モデルで使用可能な FunctionDeclarations のリスト。関数の呼び出しに使用できます。

モデルまたはシステムが関数を実行しません。代わりに、定義された関数は、実行のためにクライアント側への引数を含む [FunctionCall][content.part.function_call] として返される場合があります。モデルは、レスポンスに [FunctionCall][content.part.function_call] を入力することで、これらの関数のサブセットを呼び出すことができます。次の会話ターンには、次のモデルターンのための [content.role]「function」生成コンテキストを持つ [FunctionResponse][content.part.function_response] が含まれる場合があります。

FunctionDeclaration

OpenAPI 3.03 仕様で定義されている関数宣言の構造化表現。この宣言には、関数名とパラメータが含まれます。この FunctionDeclaration は、モデルが Tool として使用し、クライアントによって実行できるコードブロックの表現です。

JSON 表現
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
フィールド
name

string

必須。関数の名前。a ~ z、A ~ Z、0 ~ 9 にする必要があり、アンダースコアとダッシュを含めることができます。最大長は 63 です。

description

string

必須。関数の簡単な説明。

parameters

object (Schema)

省略可。この関数のパラメータを記述します。Open API 3.03 パラメータ オブジェクト文字列を反映します。キー: パラメータの名前。パラメータ名では大文字と小文字が区別されます。Schema Value: パラメータに使用される型を定義するスキーマ。

スキーマ

Schema オブジェクトを使用すると、入力データ型と出力データ型を定義できます。これらの型はオブジェクトだけでなく、プリミティブや配列にすることもできます。OpenAPI 3.0 スキーマ オブジェクトの選択サブセットを表します。

JSON 表現
{
  "type": enum (Type),
  "format": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "items": {
    object (Schema)
  }
}
フィールド
type

enum (Type)

必須。データ型。

format

string

省略可。データの形式。これはプリミティブ データ型にのみ使用されます。サポートされている形式: NUMBER 型の場合: float、INTEGER 型の場合 double: int32、int64

description

string

省略可。パラメータの簡単な説明。これには使用例が含まれる場合があります。パラメータの説明はマークダウンの形式にできます。

nullable

boolean

省略可。値が null の可能性があるかどうかを示します。

enum[]

string

省略可。Type.STRING の要素に可能な値(列挙型形式)。たとえば、列挙型の方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} として定義できます。

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 オブジェクト タイプ。

ToolConfig

リクエストでの Tool の使用を指定するためのパラメータを含むツール構成。

JSON 表現
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
フィールド
functionCallingConfig

object (FunctionCallingConfig)

省略可。関数呼び出しの構成。

FunctionCallingConfig

関数呼び出しの動作を指定するための構成。

JSON 表現
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
フィールド
mode

enum (Mode)

省略可。関数呼び出しを実行するモードを指定します。指定しない場合、デフォルト値が AUTO に設定されます。

allowedFunctionNames[]

string

省略可。指定すると、モデルが呼び出す関数を制限する関数名のセット。

Mode が ANY の場合にのみ設定する必要があります。関数名は [FunctionDeclaration.name] と一致する必要があります。モードを ANY に設定すると、モデルは指定された関数名のセットから関数呼び出しを予測します。

モード

実行モードを定義して、関数呼び出しの実行動作を定義します。

列挙型
MODE_UNSPECIFIED 関数呼び出しモードが指定されていません。この値は使用しないでください。
AUTO デフォルトのモデルの動作では、モデルは関数呼び出しまたは自然言語によるレスポンスのどちらを予測するかを決定します。
ANY モデルは常に関数呼び出しのみを予測するように制約されています。「allowedFunctionNames」が設定されている場合、予測された関数呼び出しは「allowedFunctionNames」のいずれかに限定されます。それ以外の場合、予測された関数呼び出しは、指定された「functionDeclarations」のいずれかになります。
NONE モデルは関数呼び出しを予測しません。モデルの動作は、関数宣言を渡さない場合と同じです。

UsageMetadata

キャッシュに保存されたコンテンツの使用に関するメタデータ。

JSON 表現
{
  "totalTokenCount": integer
}
フィールド
totalTokenCount

integer

キャッシュに保存されたコンテンツが消費するトークンの合計数。

メソッド

create

CachedContent リソースを作成します。

delete

CachedContent リソースを削除します。

get

CachedContent リソースを読み取ります。

list

CachedContents を一覧表示します。

patch

CachedContent リソースを更新します(有効期限のみ更新可能)。