Opzioni di configurazione per le esperienze ibride nelle app web


Questa pagina descrive le seguenti opzioni di configurazione:

Puoi anche generare output strutturato, inclusi JSON ed enum.

Prima di iniziare

Assicurati di aver completato la guida introduttiva alla 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.

  • PREFER_ON_DEVICE: utilizza il modello sul dispositivo se disponibile; altrimenti, utilizza il modello ospitato sul cloud.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: utilizza il modello sul dispositivo se disponibile; altrimenti, genera un'eccezione.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: utilizza il modello ospitato sul cloud se disponibile; altrimenti, utilizza il modello sul dispositivo.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: utilizza il modello ospitato sul cloud se disponibile; altrimenti, genera un'eccezione.

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

Determinare 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 vengono fornite dalla proprietà inferenceSource di ogni risposta (disponibile a partire dalla versione 12.5.0 dell'SDK JavaScript).

Quando accedi a questa proprietà, il valore restituito sarà ON_DEVICE o IN_CLOUD.

// ...

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

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

Eseguire l'override del modello di riserva predefinito

Il modello ospitato sul cloud predefinito è gemini-2.5-flash-lite (a partire da JS SDK v12.8.0).

Questo modello è il modello di riserva ospitato sul cloud quando utilizzi la modalità PREFER_ON_DEVICE. È anche il modello predefinito quando utilizzi la modalità ONLY_IN_CLOUD o la modalità PREFER_IN_CLOUD.

Puoi utilizzare l'opzione di configurazione inCloudParams per specificare un modello alternativo predefinito ospitato sul cloud.

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

Trova i nomi dei modelli per tutti i modelli Gemini supportati.

Utilizzare la configurazione del modello per controllare le risposte

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 sul cloud e i modelli sul dispositivo offrono diverse opzioni di configurazione.

La configurazione viene mantenuta per l'intera durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza GenerativeModel con quella configurazione.

Configura il modello ospitato su cloud

Utilizza l'opzione inCloudParams per configurare un modello Gemini ospitato sul cloud. Scopri di più sui parametri disponibili.

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

Configurare il modello sul dispositivo

Tieni presente che l'inferenza che utilizza un modello sul dispositivo utilizza l'API Prompt di Chrome.

Utilizza l'opzione onDeviceParams per configurare un modello on-device. Scopri di più sui parametri disponibili.

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