Cette page décrit les options de configuration suivantes pour les expériences hybrides :
Déterminez si l'inférence sur l'appareil ou dans le cloud a été utilisée.
Utilisez la configuration du modèle pour contrôler les réponses (comme la température).
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.
Voici les modes d'inférence disponibles :
PREFER_ON_DEVICE: tente d'utiliser le modèle sur l'appareil s'il est disponible et compatible avec le type de requête. Sinon, enregistrez une erreur sur l'appareil, puis revenez automatiquement au modèle hébergé dans le cloud.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)Java
InferenceMode mode = InferenceMode.PREFER_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_ON_DEVICE: tente d'utiliser le modèle sur l'appareil s'il est disponible et compatible avec le type de requête. Sinon, générez une exception.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_ON_DEVICE)Java
InferenceMode mode = InferenceMode.ONLY_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);PREFER_IN_CLOUD: tente d'utiliser le modèle hébergé dans le cloud si l'appareil est en ligne et si le modèle est disponible. Si l'appareil est hors connexion, repasser au modèle sur l'appareil. Dans tous les autres cas d'échec, générez une exception.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_IN_CLOUD)Java
InferenceMode mode = InferenceMode.PREFER_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_IN_CLOUD: tente d'utiliser le modèle hébergé dans le cloud si l'appareil est en ligne et si le modèle est disponible. Sinon, générez une exception.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_IN_CLOUD)Java
InferenceMode mode = InferenceMode.ONLY_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);
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.
Lorsque vous accédez à cette propriété, la valeur renvoyée est ON_DEVICE ou IN_CLOUD.
Kotlin
// ...
print("You used: ${result.response.inferenceSource}")
print(result.response.text)
Java
// ...
System.out.println("You used: " + result.getResponse().getInferenceSource());
System.out.println(result.getResponse().getText());
Spécifier un modèle hébergé dans le cloud à utiliser
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques à ce fournisseur sur cette page. |
Si votre inférence principale ou de secours peut être effectuée par un modèle hébergé dans le cloud, vous devez spécifier explicitement un modèle cloud à utiliser lorsque vous créez l'instance generativeModel.
Kotlin
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel(
modelName = "MODEL_NAME",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
)
Java
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"MODEL_NAME",
new OnDeviceConfig(InferenceMode.PREFER_ON_DEVICE)
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
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
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques à ce fournisseur sur cette page. |
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 (paramètres cloud et on-device).
Pour les modèles hébergés dans le cloud, définissez leur configuration directement dans la configuration du modèle. Toutefois, pour les modèles sur l'appareil, définissez leur configuration dans un onDeviceConfig.
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.
Voici un exemple qui définit les configurations pour les modèles hébergés dans le cloud et sur l'appareil qui pourraient être utilisés si le mode d'inférence PREFER_ON_DEVICE est défini :
Kotlin
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("MODEL_NAME",
// Config for cloud-hosted model
generationConfig = generationConfig {
temperature = 0.8f,
topK = 10
},
// Config for on-device model
onDeviceConfig = onDeviceConfig {
mode = InferenceMode.PREFER_ON_DEVICE,
temperature = 0.8f,
topK = 5
})
Java
// Config for cloud-hosted model
GenerationConfig generationConfig = new GenerationConfig.Builder()
.setTemperature(0.8f)
.setTopK(10)
.build();
// Config for on-device model
OnDeviceConfig onDeviceConfig = new OnDeviceConfig.Builder()
.setMode(InferenceMode.PREFER_ON_DEVICE)
.setTemperature(0.8f)
.setTopK(5)
.build();
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"MODEL_NAME",
generationConfig,
onDeviceConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);