當您擁有一小組輸入/輸出範例資料集時,Gemini API 的精細調整支援功能可提供一種機制,用於整理輸出內容。詳情請參閱模型調整指南和教學課程。
方法:tunedModels.create
建立經過調整的模型。透過 google.longrunning.Operations
服務查看中繼調校進度 (如有)。
透過「作業」服務存取狀態和結果。範例:GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222
端點
posthttps://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]
以上 (包含 [0.0,1.0]
)。值越接近 1.0
,產生的回覆就會越多樣化;值越接近 0.0
,模型產生的回覆就會越符合預期。
這個值會將預設值指定為基礎模型在建立模型時使用的值。
topP
number
選用設定。適用於 Nucleus 取樣。
Nucleus 取樣會考慮機率總和至少為 topP
的最小詞元集。
這個值會將預設值指定為基礎模型在建立模型時使用的值。
topK
integer
選用設定。適用於 Top-k 取樣。
Top-k 取樣會考量機率最高的 topK
符記組合。這個值會指定後端在呼叫模型時使用的預設值。
這個值會將預設值指定為基礎模型在建立模型時使用的值。
要求範例
回應主體
如果成功,回應主體會包含新建立的 Operation
例項。
方法:tunedModels.generateContent
根據輸入的 GenerateContentRequest
產生模型回應。如需詳細使用資訊,請參閱文字產生指南。輸入功能會因模型 (包括經過調整的模型) 而異。詳情請參閱模型指南和調整指南。
端點
posthttps://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
的情況下,從模型產生串流回應。
端點
posthttps://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 個經過調整的模型。這個方法每頁最多會傳回 1000 個模型,即使您傳遞較大的 pageSize 也一樣。
pageToken
string
選用設定。從先前 tunedModels.list
呼叫收到的網頁權杖。
將一個要求傳回的 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 =
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]
以上 (包含 [0.0,1.0]
)。值越接近 1.0
,產生的回覆就會越多樣化;值越接近 0.0
,模型產生的回覆就會越符合預期。
這個值會將預設值指定為基礎模型在建立模型時使用的值。
topP
number
選用設定。適用於 Nucleus 取樣。
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
使用 ModelService.CreateTunedModel 建立的微調模型。
name
string
僅供輸出。調整後模型的名稱。系統會在建立時產生專屬名稱。範例:tunedModels/az2mb0bpw6i
如果在建立時設定顯示名稱,系統會將顯示名稱的字詞連結起來,並加上隨機字串,以確保名稱的唯一性。
範例:
- 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]
以上 (包含 [0.0,1.0]
)。值越接近 1.0
,產生的回覆就會越多樣化;值越接近 0.0
,模型產生的回覆就會越符合預期。
這個值會將預設值指定為基礎模型在建立模型時使用的值。
topP
number
選用設定。適用於 Nucleus 取樣。
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
為單一調整步驟錄製。
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
單一調整示例。
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
選用設定。不可變動。學習率調節係數會根據預設 (建議) 值計算最終的 learningRate。實際學習率 := learningRateMultiplier * 預設學習率 預設學習率取決於基礎模型和資料集大小。如果未設定,系統會使用預設值 1.0。
epochCount
integer
不可變動。訓練週期數,訓練週期是指一次訓練資料的完整傳遞,如未設定,系統會使用預設值 5。
batchSize
integer
不可變動。要調整的批次大小超參數。如未設定,系統會根據訓練範例數量使用 4 或 16 的預設值。
JSON 表示法 |
---|
{ // learning_rate_option "learningRate": number, "learningRateMultiplier": number // Union type "epochCount": integer, "batchSize": integer } |