O suporte de ajuste fino da API Gemini oferece um mecanismo para selecionar a saída quando você tem um pequeno conjunto de dados de exemplos de entrada/saída. Para mais detalhes, confira o Guia de ajuste de modelos e o tutorial.
Método: tuningModels.create
- Endpoint
- Parâmetros de consulta
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Exemplo de solicitação
Cria um modelo ajustado. Verifique o progresso da sintonização intermediária (se houver) pelo serviço google.longrunning.Operations
.
Acessar o status e os resultados por meio do serviço de operações. Exemplo: GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222
Endpoint
post https://generativelanguage.googleapis.com/v1beta/tunedModelsParâmetros de consulta
tunedModelId
string
Opcional. O ID exclusivo do modelo ajustado, se especificado. Esse valor precisa ter até 40 caracteres, o primeiro precisa ser uma letra e o último pode ser uma letra ou um número. O ID precisa corresponder à expressão regular [a-z]([a-z0-9-]{0,38}[a-z0-9])?
.
Corpo da solicitação
O corpo da solicitação contém uma instância de TunedModel
.
displayName
string
Opcional. O nome a ser exibido para este modelo nas interfaces do usuário. O nome de exibição precisa ter até 40 caracteres, incluindo espaços.
description
string
Opcional. Uma breve descrição deste modelo.
tuningTask
object (TuningTask
)
Obrigatório. A tarefa de ajuste que cria o modelo ajustado.
readerProjectNumbers[]
string (int64 format)
Opcional. Lista de números de projeto que têm acesso de leitura ao modelo ajustado.
source_model
. O modelo usado como ponto de partida para o ajuste. source_model
pode ser apenas de um dos tipos a seguir:
tunedModelSource
object (TunedModelSource
)
Opcional. TunedModel para usar como ponto de partida para treinar o novo modelo.
baseModel
string
Imutável. O nome do Model
a ser ajustado. Exemplo: models/gemini-1.5-flash-001
temperature
number
Opcional. Controla a aleatoriedade da saída.
Os valores podem variar acima de [0.0,1.0]
, inclusive. Um valor mais próximo de 1.0
produz respostas mais variadas, enquanto um valor mais próximo de 0.0
normalmente resulta em respostas menos surpreendentes do modelo.
Esse valor especifica o padrão usado pelo modelo base durante a criação.
topP
number
Opcional. Para a amostragem de núcleos.
A amostragem de núcleos considera o menor conjunto de tokens cuja soma de probabilidade é de pelo menos topP
.
Esse valor especifica que o padrão é aquele usado pelo modelo base ao criar o modelo.
topK
integer
Opcional. Para amostragem de Top-K.
A amostragem top-k considera o conjunto de topK
tokens mais prováveis. Esse valor especifica o padrão a ser usado pelo back-end ao fazer a chamada para o modelo.
Esse valor especifica que o padrão é aquele usado pelo modelo base ao criar o modelo.
Exemplo de solicitação
Python
Corpo da resposta
Este recurso representa uma operação de longa duração resultante de uma chamada à API de rede.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
name
string
O nome atribuído pelo servidor, que é exclusivo somente no mesmo serviço que o retorna originalmente. Se você usar o mapeamento padrão de HTTP, name
precisa ser um nome de recurso que termine com operations/{unique_id}
.
metadata
object
Metadados específicos do serviço associados à operação. Eles geralmente contêm informações sobre o progresso e metadados comuns, como a hora da criação. Em alguns serviços, esses metadados talvez não sejam fornecidos. Em qualquer método que retorna uma operação de longa duração, o tipo de metadados, se houver, deve ser documentado.
Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type"
contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }
.
done
boolean
Se o valor for false
, significa que a operação ainda está em andamento. Se for true
, a operação será concluída e error
ou response
estarão disponíveis.
result
. O resultado da operação, que pode ser um error
ou uma response
válida. Se done
== false
, nem error
ou response
estão definidos. Se done
== true
, será possível definir exatamente um entre error
ou response
. Alguns serviços podem não fornecer o resultado. result
pode ser apenas de um dos tipos a seguir:
error
object (Status
)
Resultado do erro da operação em caso de falha ou cancelamento.
response
object
A resposta normal e bem-sucedida da operação. Se o método original não retornar dados em caso de êxito, como Delete
, a resposta será google.protobuf.Empty
. Se o método original for Get
/Create
/Update
padrão, a resposta será o recurso. Para outros métodos, a resposta precisa ser do tipo XxxResponse
, em que Xxx
é o nome do método original. Por exemplo, se o nome do método original for TakeSnapshot()
, o tipo inferido de resposta será TakeSnapshotResponse
.
Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type"
contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Representação JSON |
---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
Método: tuneModels.generateContent
- Endpoint
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Exemplo de solicitação
Gera uma resposta de modelo conforme uma entrada GenerateContentRequest
. Consulte o guia de geração de texto para informações de uso detalhadas. Os recursos de entrada diferem entre os modelos, incluindo os ajustados. Consulte o guia do modelo e o guia de ajuste para mais detalhes.
Endpoint
postar https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:generateContentParâmetros de caminho
model
string
Obrigatório. O nome do Model
a ser usado para gerar a conclusão.
Formato: name=models/{model}
. Ele tem o formato tunedModels/{tunedmodel}
.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
tools[]
object (Tool
)
Opcional. Uma lista de Tools
que a Model
pode usar para gerar a próxima resposta.
Um Tool
é um código que permite ao sistema interagir com sistemas externos para realizar uma ação ou conjunto de ações fora do conhecimento e do escopo do Model
. Os Tool
s aceitos são Function
e codeExecution
. Consulte os guias Chamada de função e Execução de código para saber mais.
toolConfig
object (ToolConfig
)
Opcional. Configuração de ferramenta para qualquer Tool
especificado na solicitação. Consulte o guia sobre chamadas de função para conferir um exemplo de uso.
safetySettings[]
object (SafetySetting
)
Opcional. Uma lista de instâncias SafetySetting
exclusivas para bloquear conteúdo não seguro.
Isso será aplicado em GenerateContentRequest.contents
e GenerateContentResponse.candidates
. Não pode haver mais de uma configuração para cada tipo de SafetyCategory
. A API vai bloquear todos os conteúdos e respostas que não atingirem os limites definidos por essas configurações. Essa lista substitui as configurações padrão de cada SafetyCategory
especificada em safetySettings. Se não houver SafetySetting
para um determinado SafetyCategory
fornecido na lista, a API vai usar a configuração de segurança padrão para essa categoria. As categorias de dano HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT e HARM_CATEGORY_HARASSMENT são compatíveis. Consulte o guia para ver informações detalhadas sobre as configurações de segurança disponíveis. Consulte também as orientações de segurança para saber como incorporar considerações de segurança nos seus aplicativos de IA.
systemInstruction
object (Content
)
Opcional. O desenvolvedor definiu instruções do sistema. No momento, somente texto.
generationConfig
object (GenerationConfig
)
Opcional. Opções de configuração para geração de modelos e saídas.
cachedContent
string
Opcional. O nome do conteúdo armazenado em cache para usar como contexto e disponibilizar a previsão. Formato: cachedContents/{cachedContent}
Exemplo de solicitação
Texto
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Imagem
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Áudio
Python
Node.js
Concha
Vídeo
Python
Node.js
Go
Concha
Python
Concha
Chat
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Cache
Python
Node.js
Modelo ajustado
Python
Modo JSON
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Execução de código
Python
Kotlin
Java
Chamada de função
Python
Node.js
Concha
Kotlin
Swift
Dart
Java
Configuração de geração
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Configurações de segurança
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Instrução do sistema
Python
Node.js
Go
Concha
Kotlin
Swift
Dart
Java
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de GenerateContentResponse
.
Método: tunedModels.get
- Endpoint
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Exemplo de solicitação
Recebe informações sobre um TunedModel específico.
Endpoint
recebe https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}Parâmetros de caminho
name
string
Obrigatório. O nome do recurso do modelo.
Formato: tunedModels/my-model-id
. Tem o formato tunedModels/{tunedmodel}
.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Exemplo de solicitação
Python
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de TunedModel
.
Método: tunedModels.list
- Endpoint
- Parâmetros de consulta
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Exemplo de solicitação
Lista os modelos ajustados criados.
Endpoint
get https://generativelanguage.googleapis.com/v1beta/tunedModelsParâmetros de consulta
pageSize
integer
Opcional. O número máximo de TunedModels
a serem retornados (por página). O serviço pode retornar menos modelos ajustados.
Se não for especificado, serão retornados no máximo 10 modelos ajustados. Esse método retorna no máximo 1.000 modelos por página, mesmo que você transmita um pageSize maior.
pageToken
string
Opcional. Um token de página recebido de uma chamada tunedModels.list
anterior.
Forneça o pageToken
retornado por uma solicitação como um argumento para a próxima solicitação para recuperar a próxima página.
Ao paginar, todos os outros parâmetros fornecidos para tunedModels.list
precisam corresponder à chamada que forneceu o token da página.
filter
string
Opcional. Um filtro é uma pesquisa de texto completo sobre a descrição e o nome de exibição do modelo ajustado. Por padrão, os resultados não incluem modelos ajustados e compartilhados com todos.
Operadores adicionais: -owner:me - writers:me - reader:me - reader:everyone
Exemplos: "owner:me" retorna todos os modelos ajustados em que o autor da chamada tem a função de proprietário "readers:me" retorna todos os modelos ajustados em que o autor da chamada tem a função de leitor "readers:everyone" retorna todos os modelos ajustados que são compartilhados com todos
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Exemplo de solicitação
Python
Corpo da resposta
Resposta de tunedModels.list
contendo uma lista paginada de modelos.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
tunedModels[]
object (TunedModel
)
Os modelos retornados.
nextPageToken
string
Um token, que pode ser enviado como pageToken
para recuperar a próxima página.
Se esse campo for omitido, não haverá mais páginas.
Representação JSON |
---|
{
"tunedModels": [
{
object ( |
Método: tunedModels.patch
- Endpoint
- Parâmetros de caminho
- Parâmetros de consulta
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
Atualiza um modelo ajustado.
Endpoint
patch https://generativelanguage.googleapis.com/v1beta/{tunedModel.name=tunedModels/*}PATCH https://generativelanguage.googleapis.com/v1beta/{tunedModel.name=tunedModels/*}
Parâmetros de caminho
tunedModel.name
string
Apenas saída. O nome do modelo ajustado. Um nome exclusivo será gerado na criação. Exemplo: tunedModels/az2mb0bpw6i
se displayName for definido na criação, a parte do ID do nome será definida concatenando as palavras de displayName com hífens e adicionando uma parte aleatória para exclusividade.
Exemplo:
- displayName =
Sentence Translator
- name =
tunedModels/sentence-translator-u3b7m
. Ela assume o formatotunedModels/{tunedmodel}
.
Parâmetros de consulta
updateMask
string (FieldMask
format)
Obrigatório. Lista de campos a serem atualizados.
É uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: "user.displayName,photo"
.
Corpo da solicitação
O corpo da solicitação contém uma instância de TunedModel
.
displayName
string
Opcional. O nome a ser exibido para este modelo nas interfaces do usuário. O nome de exibição precisa ter até 40 caracteres, incluindo espaços.
description
string
Opcional. Uma breve descrição deste modelo.
tuningTask
object (TuningTask
)
Obrigatório. A tarefa de ajuste que cria o modelo ajustado.
readerProjectNumbers[]
string (int64 format)
Opcional. Lista de números de projeto que têm acesso de leitura ao modelo ajustado.
source_model
. O modelo usado como ponto de partida para o ajuste. source_model
pode ser apenas de um dos tipos a seguir:
tunedModelSource
object (TunedModelSource
)
Opcional. TunedModel para usar como ponto de partida para treinar o novo modelo.
temperature
number
Opcional. Controla a aleatoriedade da saída.
Os valores podem variar acima de [0.0,1.0]
, inclusive. Um valor mais próximo de 1.0
produz respostas mais variadas, enquanto um valor mais próximo de 0.0
normalmente resulta em respostas menos surpreendentes do modelo.
Esse valor especifica o padrão usado pelo modelo base durante a criação.
topP
number
Opcional. Para a amostragem de núcleos.
A amostragem de núcleos considera o menor conjunto de tokens cuja soma de probabilidade é de pelo menos topP
.
Esse valor especifica que o padrão é aquele usado pelo modelo base ao criar o modelo.
topK
integer
Opcional. Para amostragem de Top-K.
A amostragem top-k considera o conjunto de topK
tokens mais prováveis. Esse valor especifica o padrão a ser usado pelo back-end ao fazer a chamada para o modelo.
Esse valor especifica o padrão usado pelo modelo base durante a criação.
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de TunedModel
.
Método: tuningModels.delete
Exclui um modelo ajustado.
Endpoint
excluir https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}Parâmetros de caminho
name
string
Obrigatório. O nome de recurso do modelo. Formato: tunedModels/my-model-id
. Tem o formato tunedModels/{tunedmodel}
.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Corpo da resposta
Se a solicitação for concluída, o corpo da resposta estará vazio.
Recurso REST: TuneModels
- Recurso: TunedModel
- TunedModelSource
- Estado
- TuningTask
- TuningSnapshot
- Conjunto de dados
- TuningExamples
- TuningExample
- Hiperparâmetros
- Métodos
Recurso: TunedModel
Um modelo ajustado criado usando ModelService.CreateTunedModel.
name
string
Apenas saída. O nome do modelo ajustado. Um nome exclusivo será gerado na criação. Exemplo: tunedModels/az2mb0bpw6i
Se o displayName for definido na criação, a parte do ID do nome será definida concatenando as palavras do displayName com hifens e adicionando uma parte aleatória para gerar exclusividade.
Exemplo:
- displayName =
Sentence Translator
- name =
tunedModels/sentence-translator-u3b7m
displayName
string
Opcional. O nome a ser exibido para esse modelo nas interfaces do usuário. O nome de exibição precisa ter até 40 caracteres, incluindo espaços.
description
string
Opcional. Uma breve descrição desse modelo.
state
enum (State
)
Apenas saída. O estado do modelo ajustado.
createTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora em que o modelo foi criado.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
updateTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora em que esse modelo foi atualizado.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
tuningTask
object (TuningTask
)
Obrigatório. A tarefa de ajuste que cria o modelo ajustado.
readerProjectNumbers[]
string (int64 format)
Opcional. Lista de números de projeto que têm acesso de leitura ao modelo ajustado.
source_model
. O modelo usado como ponto de partida para o ajuste. source_model
pode ser apenas de um dos tipos a seguir:
tunedModelSource
object (TunedModelSource
)
Opcional. TunedModel para usar como ponto de partida para treinar o novo modelo.
baseModel
string
Imutável. O nome do Model
a ser ajustado. Exemplo: models/gemini-1.5-flash-001
temperature
number
Opcional. Controla a aleatoriedade da saída.
Os valores podem variar acima de [0.0,1.0]
, inclusive. Um valor mais próximo de 1.0
produz respostas mais variadas, enquanto um valor mais próximo de 0.0
normalmente resulta em respostas menos surpreendentes do modelo.
Esse valor especifica o padrão usado pelo modelo base durante a criação.
topP
number
Opcional. Para a amostragem de núcleos.
A amostragem de núcleos considera o menor conjunto de tokens cuja soma de probabilidade é de pelo menos topP
.
Esse valor especifica que o padrão é aquele usado pelo modelo base ao criar o modelo.
topK
integer
Opcional. Para amostragem de Top-K.
A amostragem top-k considera o conjunto de topK
tokens mais prováveis. Esse valor especifica o padrão a ser usado pelo back-end ao fazer a chamada para o modelo.
Esse valor especifica que o padrão é aquele usado pelo modelo base ao criar o modelo.
Representação JSON |
---|
{ "name": string, "displayName": string, "description": string, "state": enum ( |
TunedModelSource
Modelo ajustado como fonte para treinar um novo modelo.
tunedModel
string
Imutável. O nome do TunedModel
que será usado como ponto de partida para treinar o novo modelo. Exemplo: tunedModels/my-tuned-model
baseModel
string
Apenas saída. O nome da base Model
em que este TunedModel
foi ajustado. Exemplo: models/gemini-1.5-flash-001
Representação JSON |
---|
{ "tunedModel": string, "baseModel": string } |
Estado
O estado do modelo ajustado.
Enums | |
---|---|
STATE_UNSPECIFIED |
O valor padrão. Esse valor não é usado. |
CREATING |
O modelo está sendo criado. |
ACTIVE |
O modelo está pronto para uso. |
FAILED |
Não foi possível criar o modelo. |
TuningTask
Ajuste de tarefas que criam modelos ajustados.
startTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora em que o ajuste deste modelo foi iniciado.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
completeTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora quando o ajuste do modelo foi concluído.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
snapshots[]
object (TuningSnapshot
)
Apenas saída. Métricas coletadas durante o ajuste.
trainingData
object (Dataset
)
Obrigatório. Somente entrada. Imutável. Os dados de treinamento do modelo.
hyperparameters
object (Hyperparameters
)
Imutável. Hiperparâmetros que controlam o processo de ajuste. Se não forem informados, os valores padrão serão usados.
Representação JSON |
---|
{ "startTime": string, "completeTime": string, "snapshots": [ { object ( |
TuningSnapshot
Gravação para uma única etapa de ajuste.
step
integer
Apenas saída. A etapa de ajuste.
epoch
integer
Apenas saída. A época em que essa etapa ocorreu.
meanLoss
number
Apenas saída. A perda média dos exemplos de treinamento para esta etapa.
computeTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora em que essa métrica foi calculada.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
Representação JSON |
---|
{ "step": integer, "epoch": integer, "meanLoss": number, "computeTime": string } |
Conjunto de dados
Conjunto de dados para treinamento ou validação.
dataset
. Dados inline ou uma referência aos dados. dataset
pode ser apenas de um dos tipos a seguir:
examples
object (TuningExamples
)
Opcional. Exemplos inline.
Representação JSON |
---|
{ // Union field |
TuningExamples
Um conjunto de exemplos de ajuste. Podem ser dados de treinamento ou de validação.
examples[]
object (TuningExample
)
Obrigatório. Os exemplos. A entrada de exemplo pode ser texto ou discussão, mas todos os exemplos em um conjunto precisam ser do mesmo tipo.
Representação JSON |
---|
{
"examples": [
{
object ( |
TuningExample
Um único exemplo de ajuste.
output
string
Obrigatório. A saída esperada do modelo.
model_input
. A entrada do modelo para este exemplo. model_input
pode ser apenas de um dos tipos a seguir:
textInput
string
Opcional. Entrada de modelo de texto.
Representação JSON |
---|
{ "output": string, // Union field |
Hiperparâmetros
Hiperparâmetros que controlam o processo de ajuste. Leia mais em https://ai.google.dev/docs/model_tuning_guidance
learning_rate_option
. Opções para especificar a taxa de aprendizado durante o ajuste. learning_rate_option
pode ser apenas de um dos tipos a seguir:
learningRate
number
Opcional. Imutável. O hiperparâmetro da taxa de aprendizado para ajuste. Se não for definido, um valor padrão de 0,001 ou 0,0002 será calculado com base no número de exemplos de treinamento.
learningRateMultiplier
number
Opcional. Imutável. O multiplicador da taxa de aprendizado é usado para calcular uma taxa de aprendizado final com base no valor padrão (recomendado). Taxa de aprendizado real := learningRateMultiplier * taxa de aprendizado padrão A taxa de aprendizado padrão depende do modelo base e do tamanho do conjunto de dados. Se não for definido, o padrão 1,0 será usado.
epochCount
integer
Imutável. O número de períodos de treinamento. Uma época é uma passagem pelos dados de treinamento. Se não for definido, o padrão será 5.
batchSize
integer
Imutável. O hiperparâmetro de tamanho do lote para ajuste. Se não for definido, o padrão de 4 ou 16 será usado com base no número de exemplos de treinamento.
Representação JSON |
---|
{ // Union field |