Opzioni di configurazione per le esperienze ibride nelle app web

In questa pagina vengono descritte le seguenti opzioni di configurazione:

Puoi anche generare output strutturati, 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 on-device, se disponibile; altrimenti, utilizza il modello ospitato nel cloud.

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

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

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

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

Determinare se è stata utilizzata l'inferenza on-device o in-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 JS).

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());

Esegui l'override del modello di riserva predefinito

Il modello predefinito ospitato nel cloud è gemini-3.5-flash-lite (a partire dall'SDK JS v13.0.0).

Questo modello è il modello di riserva ospitato nel 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 nel 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.

Utilizza 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 nel cloud e quelli on-device offrono diverse opzioni di configurazione.

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

Configura il modello ospitato nel cloud

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

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME",
    generationConfig: {
      maxOutputTokens: 200,
      stopSequences: ["red"]
    }
  }
});

Configura il modello on-device

Tieni presente che l'inferenza che utilizza un modello on-device 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: {
      expectedInputs: [{ type: "text", languages: ["en"] }],
      expectedOutputs: [{ type: "text", languages: ["en"] }],
      initialPrompts: [
        { role: "system", content: [{ type: "text", value: "You are a helpful and concise assistant." }] }
      ]
    }
  }
});


Invia un feedback sulla tua esperienza con Firebase AI Logic