Questa pagina descrive le seguenti opzioni di configurazione per le esperienze ibride:
Determina se è stata utilizzata l'inferenza sul dispositivo o nel cloud.
Utilizza la configurazione del modello per controllare le risposte (ad esempio la temperatura).
Assicurati di aver completato la guida introduttiva per la creazione di esperienze ibride.
Imposta una modalità di inferenza
Gli esempi nella guida introduttiva utilizzano la modalità PREFER_ON_DEVICE, ma
questa è solo una delle quattro modalità di inferenza disponibili
.
Ecco le modalità di inferenza disponibili:
PREFER_ON_DEVICE: tenta di utilizzare il modello sul dispositivo se è disponibile e supporta il tipo di richiesta. In caso contrario, registra un errore sul dispositivo e poi esegui automaticamente il fallback al modello ospitato su 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: tenta di utilizzare il modello sul dispositivo se è disponibile e supporta il tipo di richiesta. In caso contrario, genera un'eccezione.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_ON_DEVICE)Java
InferenceMode mode = InferenceMode.ONLY_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);PREFER_IN_CLOUD: tenta di utilizzare il modello ospitato su cloud se il dispositivo è online e se il modello è disponibile. Se il dispositivo è offline, esegui il fallback al modello sul dispositivo. In tutti gli altri casi di errore, genera un'eccezione.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_IN_CLOUD)Java
InferenceMode mode = InferenceMode.PREFER_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_IN_CLOUD: tenta di utilizzare il modello ospitato su cloud se il dispositivo è online e se il modello è disponibile. In caso contrario, genera un'eccezione.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_IN_CLOUD)Java
InferenceMode mode = InferenceMode.ONLY_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);
Determina se è stata utilizzata l'inferenza sul dispositivo o nel cloud
Se utilizzi le modalità di inferenza PREFER_ON_DEVICE o PREFER_IN_CLOUD, potrebbe essere utile sapere quale modalità è stata utilizzata per determinate richieste. Queste informazioni sono fornite dalla proprietà inferenceSource di ogni risposta.
Quando accedi a questa proprietà, il valore restituito sarà ON_DEVICE o 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());
Specifica un modello ospitato su cloud da utilizzare
|
Fai clic sul tuo fornitore Gemini API per visualizzare contenuti specifici del fornitore e codice in questa pagina. |
Se l'inferenza principale o di fallback potrebbe essere eseguita da un modello ospitato su cloud, devi specificare esplicitamente un modello cloud da utilizzare quando crei
l'
generativeModel
istanza.
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);
Trova i nomi dei modelli per tutti i modelli Gemini supportati.
Utilizza la configurazione del modello per controllare le risposte
|
Fai clic sul tuo fornitore Gemini API per visualizzare contenuti specifici del fornitore e codice in questa pagina. |
In ogni richiesta a un modello, puoi inviare una configurazione del modello per controllare il modo in cui il modello genera una risposta. I modelli ospitati su cloud e i modelli sul dispositivo offrono opzioni di configurazione diverse (parametri cloud e sul dispositivo ).
Per i modelli ospitati su cloud, imposta la configurazione direttamente nella configurazione del modello. Tuttavia, per i modelli sul dispositivo, imposta la configurazione all'interno di
un
onDeviceConfig.
La configurazione viene mantenuta per la durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza GenerativeModel con quella configurazione.
Di seguito è riportato un esempio che imposta le configurazioni per i modelli ospitati su cloud e sul dispositivo che potrebbero essere utilizzati se è impostata la modalità di inferenza PREFER_ON_DEVICE:
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);