Gemini API は、プロンプト入力とは別にメディア ファイルのアップロードをサポートしているため、複数のリクエストや複数のプロンプトでメディアを再利用できます。詳しくは、メディアを使用したプロンプトのガイドをご覧ください。
メソッド: media.upload
データを ragStore にアップロードし、前処理とチャンク化を行ってから RagStore ドキュメントに保存します。
エンドポイント
- アップロード URI(メディアのアップロード リクエストの場合):
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
- メタデータ URI(メタデータのみのリクエストの場合):
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
パスパラメータ
ragStoreName
string
必須。変更不可。ファイルをアップロードする RagStore
の名前。例: ragStores/my-rag-store-123
形式は ragStores/{ragstore}
です。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
displayName
string
省略可。作成されたドキュメントの表示名。
customMetadata[]
object (CustomMetadata
)
データに関連付けるカスタム メタデータ。
chunkingConfig
object (ChunkingConfig
)
省略可。サービスにデータのチャンク方法を指示する構成。指定しない場合、サービスはデフォルトのパラメータを使用します。
mimeType
string
省略可。データの MIME タイプ。指定されていない場合は、アップロードされたコンテンツから推測されます。
レスポンスの本文
これは google.longrunning.Operation のコピーです。scotty とやり取りするには、最上位の Operation proto に追加できない scotty 固有のフィールドを追加する必要があるため、コピーする必要があります。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
name
string
サーバーによって割り当てられる名前。最初にその名前を返すサービスと同じサービス内でのみ一意になります。デフォルトの HTTP マッピングを使用している場合は、name
を operations/{unique_id}
で終わるリソース名にします。
metadata
object
オペレーションに関連付けられているサービス固有のメタデータ。通常は進捗情報や、作成日時などの共通メタデータが含まれます。一部のサービスでは、このようなメタデータが提供されないこともあります。メタデータがある場合、長時間実行オペレーションを返すメソッドでは、メタデータの型をドキュメント化しておく必要があります。
任意の型のフィールドを含むオブジェクト。追加フィールドの "@type"
には、その型を識別する URI が含まれます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
値が false
の場合は、オペレーションが進行中であることを意味します。true
の場合、オペレーションは完了しており、error
または response
が利用可能です。
result
Union type
error
または有効な response
になります。done
== false
の場合、error
も response
も設定されません。done
== true
の場合、error
または response
のどちらか一つだけが設定されます。一部のサービスでは結果が返されない場合があります。result
は次のいずれかになります。error
object (Status
)
失敗またはキャンセルされた場合のオペレーションのエラー結果。
response
object
オペレーションの通常の成功レスポンス。元のメソッドで成功時にデータが返されない場合(Delete
など)、レスポンスは google.protobuf.Empty
になります。元のメソッドが標準の Get
/Create
/Update
である場合、レスポンスはリソースになります。他のメソッドについては、レスポンスの型が XxxResponse
(Xxx
は元のメソッド名)になります。たとえば、元のメソッド名が TakeSnapshot()
であれば、レスポンスの型は TakeSnapshotResponse
になると推測できます。
任意の型のフィールドを含むオブジェクト。追加フィールドの "@type"
には、その型を識別する URI が含まれます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 表現 |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig
ファイルをチャンクする方法をサービスに指示するパラメータ。google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto に基づいています。
config
Union type
config
は次のいずれかになります。whiteSpaceConfig
object (WhiteSpaceConfig
)
空白文字のチャンク化の構成。
JSON 表現 |
---|
{
// config
"whiteSpaceConfig": {
object ( |
WhiteSpaceConfig
空白文字チャンク アルゴリズムの構成 [空白文字区切り]。
maxTokensPerChunk
integer
チャンクあたりの最大トークン数。このチャンク アルゴリズムでは、トークンは単語として定義されます。注: ここでは、トークンはトークナイザーの出力ではなく、空白で区切られた単語として定義します。2025 年 4 月 17 日時点の最新の Gemini エンベディング モデルのコンテキスト ウィンドウは、現在 8,192 トークンです。平均的な単語は 5 文字であると仮定します。したがって、最悪の場合を想定して、上限を 2**9(512 語または 2,560 トークン)に設定します。これは、コンテキスト ウィンドウのオーバーフローを防ぐための控えめな見積もりです。
maxOverlapTokens
integer
隣接する 2 つのチャンク間で重複するトークンの最大数。
JSON 表現 |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
メソッド: files.get
指定された File
のメタデータを取得します。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
パスパラメータ
name
string
必須。取得する File
の名前。例: files/abc-123
形式は files/{file}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功した場合、レスポンスの本文には File
のインスタンスが含まれます。
メソッド: files.list
リクエスト元のプロジェクトが所有する File
のメタデータを一覧表示します。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /files
クエリ パラメータ
pageSize
integer
省略可。ページごとに返す File
の最大数。指定しない場合、デフォルトは 10 です。pageSize
の最大値は 100 です。
pageToken
string
省略可。前回の files.list
呼び出しのページトークン。
リクエストの本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
Node.js
Go
Shell
メソッド: files.delete
File
を削除します。
エンドポイント
削除https: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
パスパラメータ
name
string
必須。削除する File
の名前。例: files/abc-123
形式は files/{file}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
Node.js
Go
Shell
レスポンスの本文
成功した場合、レスポンスの本文は空の JSON オブジェクトになります。
REST リソース: ファイル
リソース: File
API にアップロードされたファイル。次の ID: 15
name
string
変更不可。ID。File
リソース名。ID(「files/」接頭辞を除く名前)には、小文字の英数字またはダッシュ(-)を最大 40 文字まで使用できます。ID の先頭または末尾にダッシュを使用することはできません。作成時に名前が空の場合、一意の名前が生成されます。例: files/123-456
displayName
string
省略可。File
の人が読める表示名。表示名は、スペースを含めて 512 文字以下にする必要があります。例: 「Welcome Image」
mimeType
string
出力専用。ファイルの MIME タイプ。
sizeBytes
string (int64 format)
出力専用。ファイルのサイズ(バイト単位)。
createTime
string (Timestamp
format)
出力専用。File
が作成されたときのタイムスタンプ。
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)
出力専用。File
が最後に更新されたときのタイムスタンプ。
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"
。
expirationTime
string (Timestamp
format)
出力専用。File
が削除されるタイムスタンプ。File
の有効期限が切れる予定の場合にのみ設定します。
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"
。
sha256Hash
string (bytes format)
出力専用。アップロードされたバイトの SHA-256 ハッシュ。
Base64 でエンコードされた文字列。
uri
string
出力専用。File
の URI。
downloadUri
string
出力専用。File
のダウンロード URI。
state
enum (State
)
出力専用。ファイルの処理ステータス。
source
enum (Source
)
ファイルのソース。
error
object (Status
)
出力専用。ファイルの処理が失敗した場合のエラー ステータス。
metadata
Union type
metadata
は次のいずれかになります。videoMetadata
object (VideoFileMetadata
)
出力専用。動画のメタデータ。
JSON 表現 |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
動画 File
のメタデータ。
videoDuration
string (Duration
format)
動画の長さ。
s
で終わる小数点以下 9 桁までの秒単位の期間。例: "3.5s"
。
JSON 表現 |
---|
{ "videoDuration": string } |
州
ファイルのライフサイクルの状態。
列挙型 | |
---|---|
STATE_UNSPECIFIED |
デフォルト値。この値は、状態が省略された場合に使用されます。 |
PROCESSING |
ファイルは処理中であり、まだ推論に使用できません。 |
ACTIVE |
ファイルが処理され、推論に使用できるようになりました。 |
FAILED |
ファイルの処理に失敗しました。 |
ソース
列挙型 | |
---|---|
SOURCE_UNSPECIFIED |
ソースが指定されていない場合に使用されます。 |
UPLOADED |
ファイルがユーザーによってアップロードされたことを示します。 |
GENERATED |
ファイルが Google によって生成されたことを示します。 |
REGISTERED |
ファイルが登録済み(Google Cloud Storage ファイル)であることを示します。 |
ステータス
Status
型は、REST API や RPC API など、さまざまなプログラミング環境に適した論理エラーモデルを定義します。gRPC により使用されます。各 Status
メッセージには、エラーコード、エラー メッセージ、エラーの詳細という 3 種類のデータが含まれます。
このエラーモデルと操作方法について詳しくは、API 設計ガイドをご覧ください。
code
integer
ステータス コード。google.rpc.Code
の列挙値である必要があります。
message
string
デベロッパー向けのエラー メッセージ。英語で記述します。ユーザー向けのエラー メッセージは、ローカライズして google.rpc.Status.details
フィールドで送信するか、クライアントでローカライズする必要があります。
details[]
object
エラーの詳細を保持するメッセージのリスト。API が使用する共通のメッセージ タイプのセットがあります。
任意の型のフィールドを含むオブジェクト。追加フィールドの "@type"
には、その型を識別する URI が含まれます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 表現 |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |