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 des résultats structurés, y compris des fichiers 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 rapide 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, revenez au 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 les 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 remplacement par défaut

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

Il s'agit du modèle hébergé sur le cloud de secours 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'option de configuration inCloudParams 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"
  }
});

Trouvez 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 envoyée à un modèle, vous pouvez inclure 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 offrent 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'option inCloudParams 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 le 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'option onDeviceParams 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
    }
  }
});