Gemini API のファインチューニング サポートは、入力/出力例の小さなデータセットがある場合に出力をキュレートするためのメカニズムを提供します。詳細については、モデルのチューニング ガイドとチュートリアルをご覧ください。
メソッド: tunedModels.create
チューニング済みモデルを作成します。google.longrunning.Operations
サービスで中間チューニングの進行状況(ある場合)を確認します。
Operations サービスを使用して、ステータスと結果にアクセスします。例: GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222
エンドポイント
投稿https://generativelanguage.googleapis.com/v1beta/tunedModels
クエリ パラメータ
tunedModelId
string
省略可。チューニング済みモデルの一意の ID(指定されている場合)。この値は最大 40 文字で、最初の文字は英字にする必要があります。最後の文字は英字または数字にできます。ID は正規表現 [a-z]([a-z0-9-]{0,38}[a-z0-9])?
と一致する必要があります。
リクエストの本文
リクエストの本文には TunedModel
のインスタンスが含まれます。
displayName
string
省略可。ユーザー インターフェースでこのモデルに表示する名前。表示名はスペースを含めて 40 文字以内にする必要があります。
description
string
省略可。このモデルの簡単な説明。
tuningTask
object (TuningTask
)
必須。チューニングされたモデルを作成するチューニング タスク。
readerProjectNumbers[]
string (int64 format)
省略可。チューニング済みモデルへの読み取りアクセス権を持つプロジェクト番号のリスト。
source_model
Union type
source_model
は次のいずれかになります。tunedModelSource
object (TunedModelSource
)
省略可。新しいモデルのトレーニングの出発点として使用する TunedModel。
baseModel
string
変更不可。チューニングする Model
の名前。例: models/gemini-1.5-flash-001
temperature
number
省略可。出力のランダム性を制御します。
値の範囲は [0.0,1.0]
です。1.0
に近い値を指定すると、より多様なレスポンスが生成されます。一方、0.0
に近い値を指定すると、通常、モデルからのレスポンスの驚き度が低くなります。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topP
number
省略可。Nucleus サンプリングの場合。
核サンプリングでは、確率の合計が topP
以上の最小のトークンセットが検討されます。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topK
integer
省略可。Top-K サンプリングの場合。
Top-k サンプリングでは、最も確率の高い topK
個のトークンのセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
リクエスト例
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された Operation
のインスタンスが含まれます。
メソッド: tunedModels.generateContent
入力 GenerateContentRequest
に基づいてモデルのレスポンスを生成します。使用方法の詳細については、テキスト生成ガイドをご覧ください。入力機能は、チューニング済みモデルを含むモデルによって異なります。詳細については、モデルガイドとチューニング ガイドをご覧ください。
エンドポイント
投稿https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:generateContent
パスパラメータ
model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。形式は tunedModels/{tunedmodel}
です。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
toolConfig
object (ToolConfig
)
省略可。リクエストで指定された Tool
のツール構成。使用例については、関数呼び出しガイドをご覧ください。
safetySettings[]
object (SafetySetting
)
省略可。安全でないコンテンツをブロックするための一意の SafetySetting
インスタンスのリスト。
これは GenerateContentRequest.contents
と GenerateContentResponse.candidates
に適用されます。SafetyCategory
タイプごとに設定が複数あることはできません。API は、これらの設定で設定されたしきい値を満たさないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory
のデフォルト設定をオーバーライドします。リストに指定された特定の SafetyCategory
に SafetySetting
がない場合、API はそのカテゴリのデフォルトの安全性設定を使用します。有害カテゴリ HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT、HARM_CATEGORY_CIVIC_INTEGRITY がサポートされています。利用可能な安全設定の詳細については、ガイドをご覧ください。また、安全に関するガイダンスで、AI アプリケーションに安全上の考慮事項を組み込む方法を確認してください。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するためにコンテキストとして使用する、キャッシュに保存されたコンテンツの名前。形式: cachedContents/{cachedContent}
リクエスト例
レスポンスの本文
成功した場合、レスポンスの本文には GenerateContentResponse
のインスタンスが含まれます。
メソッド: tunedModels.streamGenerateContent
入力 GenerateContentRequest
を指定して、モデルからストリーミング レスポンスを生成します。
エンドポイント
投稿https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:streamGenerateContent
パスパラメータ
model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。形式は tunedModels/{tunedmodel}
です。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
toolConfig
object (ToolConfig
)
省略可。リクエストで指定された Tool
のツール構成。使用例については、関数呼び出しガイドをご覧ください。
safetySettings[]
object (SafetySetting
)
省略可。安全でないコンテンツをブロックするための一意の SafetySetting
インスタンスのリスト。
これは GenerateContentRequest.contents
と GenerateContentResponse.candidates
に適用されます。SafetyCategory
タイプごとに設定が複数あることはできません。API は、これらの設定で設定されたしきい値を満たさないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory
のデフォルト設定をオーバーライドします。リストに指定された特定の SafetyCategory
に SafetySetting
がない場合、API はそのカテゴリのデフォルトの安全性設定を使用します。有害カテゴリ HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT、HARM_CATEGORY_CIVIC_INTEGRITY がサポートされています。利用可能な安全設定の詳細については、ガイドをご覧ください。また、安全に関するガイダンスで、AI アプリケーションに安全上の考慮事項を組み込む方法を確認してください。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するためにコンテキストとして使用する、キャッシュに保存されたコンテンツの名前。形式: cachedContents/{cachedContent}
レスポンスの本文
成功した場合、レスポンスの本文には GenerateContentResponse
インスタンスのストリームが含まれます。
メソッド: tunedModels.get
特定の TunedModel に関する情報を取得します。
エンドポイント
gethttps://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}
パスパラメータ
name
string
必須。モデルのリソース名。
形式: tunedModels/my-model-id
形式は tunedModels/{tunedmodel}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
リクエスト例
レスポンスの本文
成功した場合、レスポンスの本文には TunedModel
のインスタンスが含まれます。
メソッド: tunedModels.list
作成されたチューニング済みモデルを一覧表示します。
エンドポイント
gethttps://generativelanguage.googleapis.com/v1beta/tunedModels
クエリ パラメータ
pageSize
integer
省略可。返される TunedModels
の最大数(ページあたり)。サービスが返すチューニング済みモデルが少ないことがあります。
指定されていない場合は、最大で 10 個のチューニング済みモデルが返されます。このメソッドは、大きな pageSize を渡しても、ページあたり最大 1, 000 個のモデルを返します。
pageToken
string
省略可。前回の tunedModels.list
呼び出しから受け取ったページトークン。
1 つのリクエストで返された pageToken
を次のリクエストの引数として指定して、次のページを取得します。
ページ分割を行う場合、tunedModels.list
に指定する他のすべてのパラメータは、ページトークンを提供した呼び出しと一致する必要があります。
filter
string
省略可。フィルタは、チューニング済みモデルの説明と表示名に対する全文検索です。デフォルトでは、結果に全ユーザーと共有されているチューニング済みモデルは含まれません。
その他の演算子: - owner:me - writers:me - readers:me - readers:everyone
例: 「owner:me」は、呼び出し元がオーナーロールを持つすべてのチューニング済みモデルを返します。「readers:me」は、呼び出し元が読み取りロールを持つすべてのチューニング済みモデルを返します。「readers:everyone」は、すべてのユーザーと共有されているすべてのチューニング済みモデルを返します。
リクエストの本文
リクエストの本文は空にする必要があります。
リクエスト例
レスポンスの本文
tunedModels.list
からのレスポンス。モデルのページネーション リストが含まれます。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
tunedModels[]
object (TunedModel
)
返されたモデル。
nextPageToken
string
次のページを取得するために pageToken
として送信できるトークン。
このフィールドを省略すると、それ以上ページはありません。
JSON 表現 |
---|
{
"tunedModels": [
{
object ( |
メソッド: tunedModels.patch
チューニング済みモデルを更新します。
エンドポイント
パッチhttps://generativelanguage.googleapis.com/v1beta/{tunedModel.name=tunedModels/*}
PATCH https://generativelanguage.googleapis.com/v1beta/{tunedModel.name=tunedModels/*}
パスパラメータ
tunedModel.name
string
出力専用。チューニング済みモデル名。作成時に一意の名前が生成されます。例: tunedModels/az2mb0bpw6i
作成時に displayName が設定されている場合、名前の ID 部分は、displayName の単語をハイフンで連結し、一意にするためにランダムな部分を追加することで設定されます。
例:
- displayName =
Sentence Translator
- name =
tunedModels/sentence-translator-u3b7m
形式はtunedModels/{tunedmodel}
です。
クエリ パラメータ
updateMask
string (FieldMask
format)
省略可。更新するフィールドのリスト。
完全修飾フィールド名のカンマ区切りリスト。例: "user.displayName,photo"
。
リクエストの本文
リクエストの本文には TunedModel
のインスタンスが含まれます。
displayName
string
省略可。ユーザー インターフェースでこのモデルに表示する名前。表示名はスペースを含めて 40 文字以内にする必要があります。
description
string
省略可。このモデルの簡単な説明。
tuningTask
object (TuningTask
)
必須。チューニングされたモデルを作成するチューニング タスク。
readerProjectNumbers[]
string (int64 format)
省略可。チューニング済みモデルへの読み取りアクセス権を持つプロジェクト番号のリスト。
source_model
Union type
source_model
は次のいずれかになります。tunedModelSource
object (TunedModelSource
)
省略可。新しいモデルのトレーニングの出発点として使用する TunedModel。
temperature
number
省略可。出力のランダム性を制御します。
値の範囲は [0.0,1.0]
です。1.0
に近い値を指定すると、より多様なレスポンスが生成されます。一方、0.0
に近い値を指定すると、通常、モデルからのレスポンスの驚き度が低くなります。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topP
number
省略可。Nucleus サンプリングの場合。
核サンプリングでは、確率の合計が topP
以上の最小のトークンセットが検討されます。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topK
integer
省略可。Top-K サンプリングの場合。
Top-k サンプリングでは、最も確率の高い topK
個のトークンのセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
レスポンスの本文
成功した場合、レスポンスの本文には TunedModel
のインスタンスが含まれます。
メソッド: tunedModels.delete
チューニング済みモデルを削除します。
エンドポイント
削除https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}
パスパラメータ
name
string
必須。モデルのリソース名。形式: tunedModels/my-model-id
形式は tunedModels/{tunedmodel}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は空の JSON オブジェクトになります。
REST リソース: tunedModels
- リソース: TunedModel
- TunedModelSource
- 州名
- TuningTask
- TuningSnapshot
- データセット
- TuningExamples
- TuningExample
- ハイパーパラメータ
- メソッド
リソース: TunedModel
ModelService.CreateTunedModel を使用して作成されたファインチューニングされたモデル。
name
string
出力専用。チューニング済みモデル名。作成時に一意の名前が生成されます。例: tunedModels/az2mb0bpw6i
作成時に displayName が設定されている場合、名前の ID 部分は、displayName の単語をハイフンで連結し、一意にするためにランダムな部分を追加することで設定されます。
例:
- displayName =
Sentence Translator
- name =
tunedModels/sentence-translator-u3b7m
displayName
string
省略可。ユーザー インターフェースでこのモデルに表示する名前。表示名はスペースを含めて 40 文字以内にする必要があります。
description
string
省略可。このモデルの簡単な説明。
state
enum (State
)
出力専用。チューニング済みモデルの状態。
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)
出力専用。このモデルが更新されたときのタイムスタンプ。
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"
。
tuningTask
object (TuningTask
)
必須。チューニングされたモデルを作成するチューニング タスク。
readerProjectNumbers[]
string (int64 format)
省略可。チューニング済みモデルへの読み取りアクセス権を持つプロジェクト番号のリスト。
source_model
Union type
source_model
は次のいずれかになります。tunedModelSource
object (TunedModelSource
)
省略可。新しいモデルのトレーニングの出発点として使用する TunedModel。
baseModel
string
変更不可。チューニングする Model
の名前。例: models/gemini-1.5-flash-001
temperature
number
省略可。出力のランダム性を制御します。
値の範囲は [0.0,1.0]
です。1.0
に近い値を指定すると、より多様なレスポンスが生成されます。一方、0.0
に近い値を指定すると、通常、モデルからのレスポンスの驚き度が低くなります。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topP
number
省略可。Nucleus サンプリングの場合。
核サンプリングでは、確率の合計が topP
以上の最小のトークンセットが検討されます。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topK
integer
省略可。Top-K サンプリングの場合。
Top-k サンプリングでは、最も確率の高い topK
個のトークンのセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
JSON 表現 |
---|
{ "name": string, "displayName": string, "description": string, "state": enum ( |
TunedModelSource
新しいモデルのトレーニング ソースとしてチューニング済みモデル。
tunedModel
string
変更不可。新しいモデルのトレーニングの出発点として使用する TunedModel
の名前。例: tunedModels/my-tuned-model
baseModel
string
出力専用。この TunedModel
がチューニングされたベース Model
の名前。例: models/gemini-1.5-flash-001
JSON 表現 |
---|
{ "tunedModel": string, "baseModel": string } |
州
チューニング済みモデルの状態。
列挙型 | |
---|---|
STATE_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
CREATING |
モデルを作成しています。 |
ACTIVE |
モデルを使用できるようになりました。 |
FAILED |
モデルを作成できませんでした。 |
TuningTask
チューニングされたモデルを作成するチューニング タスク。
startTime
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"
。
completeTime
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"
。
snapshots[]
object (TuningSnapshot
)
出力専用。チューニング中に収集された指標。
trainingData
object (Dataset
)
必須。入力のみの変更不可。モデルのトレーニング データ。
hyperparameters
object (Hyperparameters
)
変更不可。チューニング プロセスを制御するハイパーパラメータ。指定しない場合、デフォルト値が使用されます。
JSON 表現 |
---|
{ "startTime": string, "completeTime": string, "snapshots": [ { object ( |
TuningSnapshot
1 回のチューニング ステップのレコード。
step
integer
出力専用。チューニング ステップ。
epoch
integer
出力専用。このステップが属するエポック。
meanLoss
number
出力専用。このステップのトレーニング サンプルの平均損失。
computeTime
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"
。
JSON 表現 |
---|
{ "step": integer, "epoch": integer, "meanLoss": number, "computeTime": string } |
データセット
トレーニングまたは検証用のデータセット。
dataset
Union type
dataset
は次のいずれかになります。examples
object (TuningExamples
)
省略可。簡単な入力/出力テキストを含むインラインの例。
JSON 表現 |
---|
{
// dataset
"examples": {
object ( |
TuningExamples
チューニング例のセット。トレーニング データまたは検証データのいずれかです。
examples[]
object (TuningExample
)
例入力例はテキストまたはディスカッションのいずれかになりますが、セット内のすべての例は同じタイプにする必要があります。
JSON 表現 |
---|
{
"examples": [
{
object ( |
TuningExample
チューニングの例を 1 つ示します。
output
string
必須。想定されるモデル出力。
model_input
Union type
model_input
は次のいずれかになります。textInput
string
省略可。テキストモデル入力。
JSON 表現 |
---|
{ "output": string, // model_input "textInput": string // Union type } |
ハイパーパラメータ
チューニング プロセスを制御するハイパーパラメータ。詳細については、https://ai.google.dev/docs/model_tuning_guidance をご覧ください。
learning_rate_option
Union type
learning_rate_option
は次のいずれかになります。learningRate
number
省略可。変更不可。チューニング用の学習率ハイパーパラメータ。設定しない場合、トレーニング例の数に基づいてデフォルトの 0.001 または 0.0002 が計算されます。
learningRateMultiplier
number
省略可。変更不可。学習率の乗数は、デフォルト(推奨)値に基づいて最終的な学習率を計算するために使用されます。実際の学習率 := learningRateMultiplier * デフォルトの学習率 デフォルトの学習率は、ベースモデルとデータセットのサイズによって異なります。設定しない場合、デフォルトの 1.0 が使用されます。
epochCount
integer
変更不可。トレーニング エポックの数。エポックとは、トレーニング データを 1 回学習することです。設定しない場合、デフォルトの 5 が使用されます。
batchSize
integer
変更不可。チューニングのバッチサイズ ハイパーパラメータ。設定しない場合、トレーニング サンプルの数に基づいてデフォルトの 4 または 16 が使用されます。
JSON 表現 |
---|
{ // learning_rate_option "learningRate": number, "learningRateMultiplier": number // Union type "epochCount": integer, "batchSize": integer } |