Opções de configuração para experiências híbridas em apps da Web


Esta página descreve as seguintes opções de configuração:

Também é possível gerar saída estruturada, incluindo JSON e enums.

Antes de começar

Conclua o guia para iniciantes sobre como criar experiências híbridas.

Definir um modo de inferência

Os exemplos no guia para iniciantes usam o modo PREFER_ON_DEVICE, mas esse é apenas um dos quatro modos de inferência disponíveis .

  • PREFER_ON_DEVICE: use o modelo no dispositivo se ele estiver disponível. Caso contrário, faça o fallback para o modelo hospedado na nuvem.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: use o modelo no dispositivo se ele estiver disponível. Caso contrário, gerar uma exceção.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: use o modelo hospedado na nuvem se ele estiver disponível. Caso contrário, faça o fallback para o modelo no dispositivo.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: use o modelo hospedado na nuvem se ele estiver disponível. Caso contrário, gerar uma exceção.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_IN_CLOUD });
    

Determinar se a inferência no dispositivo ou na nuvem foi usada

Se você usar os modos de inferência PREFER_ON_DEVICE ou PREFER_IN_CLOUD, pode ser útil saber qual modo foi usado para determinadas solicitações. Essas informações são fornecidas pela propriedade inferenceSource de cada resposta (disponível a partir do SDK JS v12.5.0).

Ao acessar essa propriedade, o valor retornado será ON_DEVICE ou IN_CLOUD.

// ...

console.log('You used: ' + result.response.inferenceSource);

console.log(result.response.text());

Substituir o modelo de fallback padrão

O modelo padrão hospedado na nuvem é gemini-2.5-flash-lite (a partir do SDK JS v12.8.0).

Esse modelo é o modelo de fallback hospedado na nuvem quando você usa o modo PREFER_ON_DEVICE. Ele também é o modelo padrão quando você usa o modo ONLY_IN_CLOUD ou PREFER_IN_CLOUD.

É possível usar a inCloudParams opção de configuração para especificar um modelo padrão hospedado na nuvem alternativo.

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
  }
});

Encontre nomes de modelos para todos os modelos do Gemini com suporte.

Usar a configuração do modelo para controlar respostas

Em cada solicitação para um modelo, é possível enviar uma configuração de modelo para controlar como o modelo gera uma resposta. Os modelos hospedados na nuvem e os modelos no dispositivo oferecem opções de configuração diferentes.

A configuração é mantida durante o ciclo de vida da instância. Se você quiser usar uma configuração diferente, crie uma nova instância GenerativeModel com essa configuração.

Configurar o modelo hospedado na nuvem

Use a opção inCloudParams para configurar um modelo hospedado na nuvem Gemini. Saiba mais sobre os parâmetros disponíveis.

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
    temperature: 0.8,
    topK: 10
  }
});

Configurar o modelo no dispositivo

A inferência usando um modelo no dispositivo usa a API Prompt do Chrome.

Use a opção onDeviceParams para configurar um modelo no dispositivo. Saiba mais sobre os parâmetros disponíveis.

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  onDeviceParams: {
    createOptions: {
      temperature: 0.8,
      topK: 8
    }
  }
});