Gemini モデルには、REST API とともに OpenAI ライブラリ(Python と TypeScript / Javascript)を使用してアクセスできます。3 行のコードを更新し、Gemini API キーを使用します。この機能について詳しくは、互換性ガイドをご覧ください。
メソッド: chatCompletions
チャット履歴の入力に基づいて、モデルから一連のレスポンスを生成します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta:chatCompletions
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
model
string
必須。補完の生成に使用する Model
の名前。モデル名にスラッシュが含まれていない場合、モデル名の前に「models/」が付加されます。
messages[]
object (Struct
format)
必須。補完の生成に使用するチャット履歴。単一ターンとマルチターンのクエリをサポートします。注: これはポリモーフィック フィールドで、InternalChatMessage に逆シリアル化されます。
stream
boolean
省略可。レスポンスをストリーミングするか、1 つのレスポンスを返すか。
true の場合、レスポンスの「object」フィールドは「chat.completion.chunk」になります。それ以外の場合は「chat.completion」になります。
streamOptions
object (StreamOptions
)
省略可。ストリーミング リクエストのオプション。
tools[]
object (ChatTool
)
省略可。モデルが呼び出しを生成できるツールセット。各ツールは署名を宣言します。
toolChoice
value (Value
format)
省略可。モデルがツールを使用するかどうか、使用するツールを制御します。次のいずれかになります。- ツールを無効にするには、文字列「none」を指定します。- 文字列「auto」: モデルに決定を任せます。- 文字列「required」: モデルにツールの使用を強制します。- 使用するツールを指定する関数名記述子オブジェクト。最後のオプションは次のスキーマに従います。{ "type": "function", "function": {"name" : "the_function_name"} }
n
integer
省略可。生成する候補の完了数。正の整数で指定する必要があります。設定しない場合、デフォルトで 1 になります。
stop
value (Value
format)
省略可。出力の生成を停止する一連の文字シーケンス。注: これはポリモーフィック フィールドです。文字列または繰り返し文字列を含めるようにします。
maxCompletionTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。正の整数で指定する必要があります。
maxTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。正の整数で指定する必要があります。このフィールドは SDK で非推奨になりました。
temperature
number
省略可。出力のランダム性を制御します。
topP
number
省略可。サンプリングの際に考慮するトークンの累積確率の最大値。
responseFormat
object (ResponseFormat
)
省略可。レスポンスの形式を定義します。設定しない場合、レスポンスはテキスト形式になります。
レスポンスの本文
成功した場合、レスポンスはメソッドによって定義された形式の汎用 HTTP レスポンスになります。
メソッド: embeddings
入力されたモデルからエンベディングを生成します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /embeddings
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
input
value (Value
format)
必須。エンベディングを生成する入力。文字列または文字列のリストにできます。SDK は数値のリストと数値リストのリストをサポートしていますが、これはまだ実装されていません。
model
string
必須。エンベディングを生成するモデル。
encodingFormat
string
省略可。エンコードの形式。「float」または「base64」のいずれかを指定してください。
dimensions
integer
省略可。生成されるエンベディングのディメンション サイズ。
レスポンスの本文
成功した場合、レスポンスの本文には GenerateEmbeddingsResponse
のインスタンスが含まれます。
メソッド: listModels
現在利用可能なモデルを一覧表示します。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には SdkListModelsResponse
のインスタンスが含まれます。
メソッド: chat.completions
チャット履歴の入力に基づいて、モデルから一連のレスポンスを生成します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /chat /completions
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
model
string
必須。補完の生成に使用する Model
の名前。モデル名にスラッシュが含まれていない場合、モデル名の前に「models/」が付加されます。
messages[]
object (Struct
format)
必須。補完の生成に使用するチャット履歴。単一ターンとマルチターンのクエリをサポートします。注: これはポリモーフィック フィールドで、InternalChatMessage に逆シリアル化されます。
stream
boolean
省略可。レスポンスをストリーミングするか、1 つのレスポンスを返すか。
true の場合、レスポンスの「object」フィールドは「chat.completion.chunk」になります。それ以外の場合は「chat.completion」になります。
streamOptions
object (StreamOptions
)
省略可。ストリーミング リクエストのオプション。
tools[]
object (ChatTool
)
省略可。モデルが呼び出しを生成できるツールセット。各ツールは署名を宣言します。
toolChoice
value (Value
format)
省略可。モデルがツールを使用するかどうか、使用するツールを制御します。次のいずれかになります。- ツールを無効にするには、文字列「none」を指定します。- 文字列「auto」: モデルに決定を任せます。- 文字列「required」: モデルにツールの使用を強制します。- 使用するツールを指定する関数名記述子オブジェクト。最後のオプションは次のスキーマに従います。{ "type": "function", "function": {"name" : "the_function_name"} }
n
integer
省略可。生成する候補の完了数。正の整数で指定する必要があります。設定しない場合、デフォルトで 1 になります。
stop
value (Value
format)
省略可。出力の生成を停止する一連の文字シーケンス。注: これはポリモーフィック フィールドです。文字列または繰り返し文字列を含めるようにします。
maxCompletionTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。正の整数で指定する必要があります。
maxTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。正の整数で指定する必要があります。このフィールドは SDK で非推奨になりました。
temperature
number
省略可。出力のランダム性を制御します。
topP
number
省略可。サンプリングの際に考慮するトークンの累積確率の最大値。
responseFormat
object (ResponseFormat
)
省略可。レスポンスの形式を定義します。設定しない場合、レスポンスはテキスト形式になります。
レスポンスの本文
成功した場合、レスポンスはメソッドによって定義された形式の汎用 HTTP レスポンスになります。
メソッド: embeddings.generate
入力されたモデルからエンベディングを生成します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
input
value (Value
format)
必須。エンベディングを生成する入力。文字列または文字列のリストにできます。SDK は数値のリストと数値リストのリストをサポートしていますが、これはまだ実装されていません。
model
string
必須。エンベディングを生成するモデル。
encodingFormat
string
省略可。エンコードの形式。「float」または「base64」のいずれかを指定してください。
dimensions
integer
省略可。生成されるエンベディングのディメンション サイズ。
レスポンスの本文
成功した場合、レスポンスの本文には GenerateEmbeddingsResponse
のインスタンスが含まれます。
メソッド: openai.chat.completions
チャット履歴の入力に基づいて、モデルから一連のレスポンスを生成します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
model
string
必須。補完の生成に使用する Model
の名前。モデル名にスラッシュが含まれていない場合、モデル名の前に「models/」が付加されます。
messages[]
object (Struct
format)
必須。補完の生成に使用するチャット履歴。単一ターンとマルチターンのクエリをサポートします。注: これはポリモーフィック フィールドで、InternalChatMessage に逆シリアル化されます。
stream
boolean
省略可。レスポンスをストリーミングするか、1 つのレスポンスを返すか。
true の場合、レスポンスの「object」フィールドは「chat.completion.chunk」になります。それ以外の場合は「chat.completion」になります。
streamOptions
object (StreamOptions
)
省略可。ストリーミング リクエストのオプション。
tools[]
object (ChatTool
)
省略可。モデルが呼び出しを生成できるツールセット。各ツールは署名を宣言します。
toolChoice
value (Value
format)
省略可。モデルがツールを使用するかどうか、使用するツールを制御します。次のいずれかになります。- ツールを無効にするには、文字列「none」を指定します。- 文字列「auto」: モデルに決定を任せます。- 文字列「required」: モデルにツールの使用を強制します。- 使用するツールを指定する関数名記述子オブジェクト。最後のオプションは次のスキーマに従います。{ "type": "function", "function": {"name" : "the_function_name"} }
n
integer
省略可。生成する候補の完了数。正の整数で指定する必要があります。設定しない場合、デフォルトで 1 になります。
stop
value (Value
format)
省略可。出力の生成を停止する一連の文字シーケンス。注: これはポリモーフィック フィールドです。文字列または繰り返し文字列を含めるようにします。
maxCompletionTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。正の整数で指定する必要があります。
maxTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。正の整数で指定する必要があります。このフィールドは SDK で非推奨になりました。
temperature
number
省略可。出力のランダム性を制御します。
topP
number
省略可。サンプリングの際に考慮するトークンの累積確率の最大値。
responseFormat
object (ResponseFormat
)
省略可。レスポンスの形式を定義します。設定しない場合、レスポンスはテキスト形式になります。
レスポンスの本文
成功した場合、レスポンスはメソッドによって定義された形式の汎用 HTTP レスポンスになります。
メソッド: openai.embeddings
入力されたモデルからエンベディングを生成します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
input
value (Value
format)
必須。エンベディングを生成する入力。文字列または文字列のリストにできます。SDK は数値のリストと数値リストのリストをサポートしていますが、これはまだ実装されていません。
model
string
必須。エンベディングを生成するモデル。
encodingFormat
string
省略可。エンコードの形式。「float」または「base64」のいずれかを指定してください。
dimensions
integer
省略可。生成されるエンベディングのディメンション サイズ。
レスポンスの本文
成功した場合、レスポンスの本文には GenerateEmbeddingsResponse
のインスタンスが含まれます。
メソッド: openai.models
現在利用可能なモデルを一覧表示します。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には SdkListModelsResponse
のインスタンスが含まれます。
ChatTool
モデルが呼び出しを生成できるツール。
function
object (ChatFunction
)
必須。ツールの名前。
type
string
必須。必須。値は「function」にする必要があります。
JSON 表現 |
---|
{
"function": {
object ( |
ChatFunction
モデルが呼び出しを生成できる関数。
name
string
必須。関数名。
description
string
省略可。関数の説明。
parameters
object (Struct
format)
省略可。関数のパラメータ。
strict
boolean
省略可。スキーマ検証が厳格かどうか。true の場合、スキーマが有効でない場合、モデルは失敗します。注: このパラメータは現在無視されます。
JSON 表現 |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
エンベディング生成のレスポンス。
object
string
出力専用。常に「埋め込み」で、SDK で必要とされます。
data[]
object (GenerateEmbeddingsEmbedding
)
出力専用。リクエストされたエンベディングのリスト。
model
string
出力専用。エンベディングの生成に使用されるモデル。
JSON 表現 |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
モデルによって生成されたエンベディング ベクトル。
object
string
出力専用。常に「埋め込み」で、SDK で必要とされます。
index
integer
出力専用。エンベディングのリスト内のエンベディングのインデックス。
embedding
value (Value
format)
出力専用。入力に対して生成されたエンベディング ベクトル。浮動小数点数のリスト、または C スタイルのレイアウト(Numpy 互換)で浮動小数点数のリストをエンコードした Base64 文字列のいずれかです。
JSON 表現 |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
任意の HTTP 本文を表すメッセージ。RAW バイナリや HTML ページなど、JSON として表現できないペイロード形式にのみ使用する必要があります。
このメッセージは、リクエストとレスポンスのストリーミングと非ストリーミング両方の API メソッドで使用できます。
最上位レベルのリクエスト フィールドとして使用でき、URL または HTTP テンプレートからリクエスト フィールドにパラメータを抽出する場合や、RAW HTTP 本文にアクセスする場合にも便利です。
例:
message GetResourceRequest {
// A unique request id.
string requestId = 1;
// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;
}
service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);
}
ストリーミング メソッドの例:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
このタイプを使用すると、リクエストとレスポンスの本文の処理方法のみ変更され、他のすべての機能は未変更のまま動作を継続します。
contentType
string
本文のコンテンツ タイプを指定する HTTP Content-Type ヘッダー値。
data
string (bytes format)
未加工のバイナリとしての HTTP リクエスト / レスポンスの本文。
base64 でエンコードされた文字列。
extensions[]
object
アプリケーション固有のレスポンス メタデータ。ストリーミング API の最初のレスポンスで設定する必要があります。
任意のデータ型のフィールドを含むオブジェクト。追加フィールドの "@type"
には、その型を識別する URI が含まれます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 表現 |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
レスポンスの形式を定義します。
type
string
必須。レスポンスのタイプ。次のいずれかです。- "text": レスポンスをテキストとしてフォーマットします。- "json_object": レスポンスを JSON オブジェクトとしてフォーマットします。- "jsonSchema": 指定されたスキーマに従ってレスポンスを JSON オブジェクトとしてフォーマットします。
jsonSchema
object (ResponseFormatSchema
)
省略可。遵守する JSON スキーマ。type が「jsonSchema」の場合にのみ使用されます。
JSON 表現 |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
レスポンスのスキーマ。
description
string
省略可。スキーマで表されるオブジェクトの説明。
name
string
必須。スキーマで表されるオブジェクト タイプの名前。
strict
boolean
省略可。スキーマ検証が厳格かどうか。true の場合、スキーマが有効でない場合、モデルは失敗します。注: このパラメータは現在無視されます。
schema
object (Struct
format)
省略可。準拠する JSON スキーマ。
JSON 表現 |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
モデルのリストのレスポンス。
object
string
出力専用。常に「list」で、SDK で必須です。
data[]
object (SdkModel
)
出力専用。リクエストされたエンベディングのリスト。
JSON 表現 |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
モデル オブジェクト。
id
string
出力専用。モデルの ID。
object
string
出力専用。常に「model」です。SDK で必須です。
created
string (int64 format)
出力専用。モデルが作成されたときの Unix タイムスタンプ(秒単位)。
owned_by
string
出力専用。モデルを所有する組織。
JSON 表現 |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |