Options de configuration pour les expériences hybrides dans les applications Web


Cette page décrit les options de configuration suivantes :

Vous pouvez également générer une sortie structurée, y compris JSON et des énumérations.

Avant de commencer

Assurez-vous d'avoir suivi le guide de démarrage pour créer des expériences hybrides.

Définir un mode d'inférence

Les exemples du guide de démarrage utilisent le mode PREFER_ON_DEVICE, mais il ne s'agit que de l'un des quatre modes d'inférence disponibles .

  • PREFER_ON_DEVICE: utilisez le modèle sur l'appareil s'il est disponible. Sinon, utilisez le modèle hébergé dans le cloud.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: utilisez le modèle sur l'appareil s'il est disponible. Sinon, générez une exception.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: utilisez le modèle hébergé dans le cloud s'il est disponible. Sinon, utilisez le modèle sur l'appareil.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: utilisez le modèle hébergé dans le cloud s'il est disponible. Sinon, générez une exception.

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

Déterminer si l'inférence sur l'appareil ou dans le cloud a été utilisée

Si vous utilisez les modes d'inférence PREFER_ON_DEVICE ou PREFER_IN_CLOUD, il peut être utile de savoir quel mode a été utilisé pour des requêtes données. Ces informations sont fournies par la propriété inferenceSource de chaque réponse (disponible à partir du SDK JS v12.5.0).

Lorsque vous accédez à cette propriété, la valeur renvoyée est ON_DEVICE ou IN_CLOUD.

// ...

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

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

Remplacer le modèle de secours par défaut

Le modèle hébergé dans le cloud par défaut est gemini-2.5-flash-lite (à partir du SDK JS v12.8.0).

Ce modèle est le modèle de secours hébergé dans le cloud lorsque vous utilisez le mode PREFER_ON_DEVICE. Il s'agit également du modèle par défaut lorsque vous utilisez le mode ONLY_IN_CLOUD ou le mode PREFER_IN_CLOUD.

Vous pouvez utiliser l' inCloudParams option de configuration pour spécifier un autre modèle hébergé dans le cloud par défaut.

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

Recherchez les noms de modèles pour tous les modèles Gemini compatibles.

Utiliser la configuration du modèle pour contrôler les réponses

Dans chaque requête adressée à un modèle, vous pouvez envoyer une configuration de modèle pour contrôler la manière dont le modèle génère une réponse. Les modèles hébergés dans le cloud et les modèles sur l'appareil proposent différentes options de configuration.

La configuration est conservée pendant toute la durée de vie de l'instance. Si vous souhaitez utiliser une autre configuration, créez une instance GenerativeModel avec cette configuration.

Configurer un modèle hébergé dans le cloud

Utilisez l' inCloudParams option pour configurer un modèle Gemini hébergé dans le cloud. En savoir plus sur les paramètres disponibles.

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

Configurer un modèle sur l'appareil

Notez que l'inférence à l'aide d'un modèle sur l'appareil utilise l' API Prompt de Chrome.

Utilisez l' onDeviceParams option pour configurer un modèle sur l'appareil. En savoir plus sur les paramètres disponibles.

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