Gemini API のファインチューニング サポートは、入力 / 出力例の小さなデータセットがある場合に出力をキュレートするためのメカニズムを提供します。詳細については、モデル チューニング ガイドとチュートリアルをご覧ください。
メソッド: tunedModels.create
チューニング済みモデルを作成します。中間チューニングの進捗状況(存在する場合)を google.longrunning.Operations
サービスで確認します。
オペレーション サービスを介してステータスと結果にアクセスします。例: GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222
エンドポイント
<ph type="x-smartling-placeholder"></ph> 投稿 <ph type="x-smartling-placeholder"></ph> 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
。チューニングの開始点として使用されるモデル。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 サンプリングの場合。
トップ K サンプリングでは、最も確率が高い topK
のトークンのセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
リクエスト例
Python
レスポンスの本文
このリソースは、ネットワーク API 呼び出しの結果である長時間実行オペレーションを表します。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
name
string
サーバーによって割り当てられる名前。最初にその名前を返すサービスと同じサービス内でのみ一意になります。デフォルトの HTTP マッピングを使用している場合は、name
を operations/{unique_id}
で終わるリソース名にします。
metadata
object
オペレーションに関連付けられているサービス固有のメタデータ。通常は進捗情報や、作成日時などの共通メタデータが含まれます。一部のサービスでは、このようなメタデータが提供されないこともあります。メタデータがある場合、長時間実行オペレーションを返すメソッドでは、メタデータの型をドキュメント化しておく必要があります。
任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type"
を追加できます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
値が false
の場合は、オペレーションが進行中であることを意味します。true
の場合、オペレーションは完了しており、error
または response
が利用可能です。
result
。オペレーションの結果。error
または有効な response
になります。done
== false
の場合、error
も response
も設定されません。done
== true
の場合、error
または response
のどちらか 1 つだけが設定されます。一部のサービスでは結果が返されない場合があります。result
は次のいずれかになります。
error
object (Status
)
失敗またはキャンセルされた場合のオペレーションのエラー結果。
response
object
オペレーションの通常の成功レスポンス。元のメソッドで成功時にデータが返されない場合(Delete
など)、レスポンスは google.protobuf.Empty
になります。元のメソッドが標準の Get
/Create
/Update
である場合、レスポンスはリソースになります。他のメソッドについては、レスポンスの型が XxxResponse
(Xxx
は元のメソッド名)になります。たとえば、元のメソッド名が TakeSnapshot()
であれば、レスポンスの型は TakeSnapshotResponse
になると推測できます。
任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type"
を追加できます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 表現 |
---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
メソッド: tunedModels.generateContent
- エンドポイント
- パスパラメータ
- リクエスト本文
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- レスポンスの本文
- 認可スコープ
- リクエストの例 <ph type="x-smartling-placeholder">
入力 GenerateContentRequest
に基づいてモデルのレスポンスを生成します。使用方法の詳細については、テキスト生成ガイドをご覧ください。入力機能は、チューニング済みモデルを含め、モデルによって異なります。詳細については、モデルガイドとチューニング ガイドをご覧ください。
エンドポイント
post https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:generateContentパスパラメータ
model
string
必須。コンプリーションの生成に使用する Model
の名前。
形式: name=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 がサポートされています。利用可能な安全設定の詳細については、ガイドをご覧ください。また、AI アプリケーションに安全に関する考慮事項を組み込む方法については、安全に関するガイダンスをご覧ください。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測の提供のコンテキストとして使用するキャッシュに保存されたコンテンツの名前。形式: cachedContents/{cachedContent}
リクエスト例
テキスト
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
画像
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
音声
Python
Node.js
Shell
動画
Python
Node.js
Go
Shell
Python
Shell
チャット
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
キャッシュ
Python
Node.js
チューニング済みモデル
Python
JSON モード
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
コード実行
Python
Kotlin
Java
関数呼び出し
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
生成構成
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
安全性設定
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
システム指示
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
レスポンスの本文
成功した場合、レスポンスの本文には GenerateContentResponse
のインスタンスが含まれます。
メソッド: tunedModels.get
特定の TunedModel に関する情報を取得します。
エンドポイント
<ph type="x-smartling-placeholder"></ph> 入手 <ph type="x-smartling-placeholder"></ph> https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}パスパラメータ
name
string
必須。モデルのリソース名。
形式: tunedModels/my-model-id
。tunedModels/{tunedmodel}
の形式になります。
リクエスト本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
レスポンスの本文
成功した場合、レスポンスの本文には TunedModel
のインスタンスが含まれます。
メソッド: tuningModels.list
作成されたチューニング済みモデルを一覧表示します。
エンドポイント
get https://generativelanguage.googleapis.com/v1beta/tunedModelsクエリ パラメータ
pageSize
integer
省略可。返される TunedModels
の最大数(1 ページあたり)。サービスが返すチューニング済みモデルが少ないことがあります。
指定されていない場合は、最大で 10 個のチューニング済みモデルが返されます。このメソッドは、大きな pageSize を渡しても、ページあたり最大 1,000 個のモデルを返します。
pageToken
string
省略可。前回の tunedModels.list
呼び出しから受け取ったページトークン。
次のページを取得するには、あるリクエストで返された pageToken
を次のリクエストの引数として指定します。
ページ分割を行う場合、tunedModels.list
に指定する他のすべてのパラメータは、ページトークンを提供した呼び出しと一致する必要があります。
filter
string
省略可。フィルタは、チューニング済みモデルの説明と表示名に対する全文検索です。デフォルトでは、すべてのユーザーと共有されているチューニング済みモデルは結果に含まれません。
その他の演算子: - owner:me - writers:me - readers:me - readers:everyone
例: 「owner:me」呼び出し元がオーナーロール「readers:me」を持つすべてのチューニング済みモデルを返す呼び出し元が読み取りロール「readers:everyone」を持つすべてのチューニング済みモデルを返すすべてのユーザーと共有されているすべてのチューニング済みモデルを返す
リクエスト本文
リクエストの本文は空にする必要があります。
リクエスト例
Python
レスポンスの本文
ページ分けされたモデルのリストを含む 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
。チューニングの開始点として使用されるモデル。source_model
は次のいずれかになります。
tunedModelSource
object (TunedModelSource
)
省略可。新しいモデルをトレーニングするための出発点として使用する TunedModel。
temperature
number
省略可。出力のランダム性を制御します。
値の範囲は [0.0,1.0]
です。値が 1.0
に近いほどレスポンスのばらつきが大きくなり、0.0
に近い値ほど、モデルからの予想外のレスポンスが少なくなります。
この値は、モデルの作成時にベースモデルで使用されるデフォルト値を指定します。
topP
number
省略可。Nucleus サンプリングの場合。
核サンプリングでは、確率合計が topP
以上の最小のトークンセットが考慮されます。
この値により、モデルの作成時にベースモデルで使用されるデフォルト値が指定されます。
topK
integer
省略可。Top-K サンプリングの場合。
トップ K サンプリングでは、最も確率が高い topK
のトークンのセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。
この値により、モデルの作成時にベースモデルで使用されるデフォルト値が指定されます。
レスポンスの本文
成功した場合、レスポンスの本文には TunedModel
のインスタンスが含まれます。
メソッド: tunedModels.delete
チューニング済みモデルを削除します。
エンドポイント
<ph type="x-smartling-placeholder"></ph> 削除 <ph type="x-smartling-placeholder"></ph> https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}パスパラメータ
name
string
必須。モデルのリソース名。形式: tunedModels/my-model-id
。tunedModels/{tunedmodel}
の形式になります。
リクエスト本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は空になります。
REST リソース: tuningModels
- リソース: TunedModel
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- TunedModelSource
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 州名
- TuningTask
- TuningSnapshot
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- データセット
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- TuningExamples
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- TuningExample
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- ハイパーパラメータ
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- メソッド
リソース: TunedModel
ModelService.CreateTunedModel を使用して作成されたファインチューニング済みモデル。
name
string
出力専用。チューニング済みモデル名。作成時に一意の名前が生成されます。例: tunedModels/az2mb0bpw6i
作成時に displayName が設定されている場合、名前の ID 部分は、displayName の単語をハイフンで連結し、一意にするためにランダムな部分を追加することで設定されます。
例:
- displayName =
Sentence Translator
- 名前 =
tunedModels/sentence-translator-u3b7m
displayName
string
省略可。ユーザー インターフェースでこのモデルに表示する名前。表示名はスペースを含めて 40 文字以内で指定してください。
description
string
省略可。このモデルの簡単な説明。
state
enum (State
)
出力専用。チューニング済みモデルの状態。
createTime
string (Timestamp
format)
出力専用。このモデルが作成されたときのタイムスタンプ。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
updateTime
string (Timestamp
format)
出力専用。このモデルが更新されたときのタイムスタンプ。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
tuningTask
object (TuningTask
)
必須。チューニングされたモデルを作成するチューニング タスク。
readerProjectNumbers[]
string (int64 format)
省略可。チューニング済みモデルへの読み取りアクセス権を持つプロジェクト番号のリスト。
source_model
。チューニングの開始点として使用されるモデル。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 サンプリングの場合。
トップ 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)
出力専用。このモデルのチューニングが開始されたときのタイムスタンプ。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
completeTime
string (Timestamp
format)
出力専用。このモデルのチューニングが完了したときのタイムスタンプ。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
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)
出力専用。この指標が計算されたときのタイムスタンプ。
RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
。
JSON 表現 |
---|
{ "step": integer, "epoch": integer, "meanLoss": number, "computeTime": string } |
データセット
トレーニングまたは検証用のデータセット。
dataset
。インライン データ、またはデータへの参照。dataset
は次のいずれかになります。
examples
object (TuningExamples
)
省略可。インラインの例。
JSON 表現 |
---|
{ // Union field |
TuningExamples
チューニングの例のセット。トレーニング データまたは検証データのいずれかです。
examples[]
object (TuningExample
)
必須。例:入力例はテキストまたはディスカッションのいずれかになりますが、セット内のすべての例は同じタイプにする必要があります。
JSON 表現 |
---|
{
"examples": [
{
object ( |
TuningExample
チューニングの単一の例。
output
string
必須。想定されるモデル出力。
model_input
。この例のモデルへの入力。model_input
は次のいずれかになります。textInput
string
省略可。テキストモデル入力。
JSON 表現 |
---|
{ "output": string, // Union field |
ハイパーパラメータ
チューニング プロセスを制御するハイパーパラメータ。詳しくは、https://ai.google.dev/docs/model_tuning_guidance をご覧ください。
learning_rate_option
。チューニング中に学習率を指定するオプション。learning_rate_option
は次のいずれかになります。
learningRate
number
省略可。変更不可。チューニング用の学習率のハイパーパラメータ。設定しない場合、トレーニングのサンプル数に基づいてデフォルトの 0.001 または 0.0002 が計算されます。
learningRateMultiplier
number
省略可。変更不可。学習率の乗数は、デフォルト(推奨)値に基づいて最終的な学習率を計算するために使用されます。実際の学習率 := learningRateMultiplier * デフォルトの学習率 デフォルトの学習率は、ベースモデルとデータセットのサイズによって異なります。設定しない場合、デフォルトの 1.0 が使用されます。
epochCount
integer
変更不可。トレーニング エポックの数。エポックとは、トレーニング データを 1 回学習することです。設定しない場合、デフォルトの 5 が使用されます。
batchSize
integer
変更不可。チューニング用のバッチサイズのハイパーパラメータ。設定しない場合、トレーニング サンプルの数に基づいてデフォルトの 4 または 16 が使用されます。
JSON 表現 |
---|
{ // Union field |