当您拥有一小部分输入/输出示例数据集时,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
可选。对于核采样。
核采样会考虑概率总和至少为 topP
的最小 token 集。
此值指定默认值为基础模型在创建模型时使用的值。
topK
integer
可选。对于 Top-k 采样。
Top-k 抽样会考虑一组概率最高的 topK
个 token。此值指定后端在调用模型时要使用的默认值。
此值指定默认值为基础模型在创建模型时使用的值。
示例请求
响应正文
如果成功,响应正文将包含一个新创建的 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 个经过调优的模型。此方法每页最多返回 1, 000 个模型,即使您传递较大的 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,系统会将 displayName 中的字词用连字符串联起来,并添加一个随机部分以确保唯一性,从而设置名称的 ID 部分。
示例:
- 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
可选。对于核采样。
核采样会考虑概率总和至少为 topP
的最小 token 集。
此值指定默认值为基础模型在创建模型时使用的值。
topK
integer
可选。对于 Top-k 采样。
Top-k 抽样会考虑一组概率最高的 topK
个 token。此值指定后端在调用模型时要使用的默认值。
此值指定默认值为基础模型在创建模型时使用的值。
响应正文
如果成功,则响应正文包含一个 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,系统会将 displayName 中的字词用连字符串联起来,并添加一个随机部分以确保唯一性,从而设置名称的 ID 部分。
示例:
- 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
可选。对于核采样。
核采样会考虑概率总和至少为 topP
的最小 token 集。
此值指定默认值为基础模型在创建模型时使用的值。
topK
integer
可选。对于 Top-k 采样。
Top-k 抽样会考虑一组概率最高的 topK
个 token。此值指定后端在调用模型时要使用的默认值。
此值指定默认值为基础模型在创建模型时使用的值。
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 } |