Opciones de configuración para experiencias híbridas en apps web

En esta página, se describen las siguientes opciones de configuración:

También puedes generar resultados estructurados, incluidos JSON y enums.

Antes de comenzar

Asegúrate de haber completado la guía de introducción para crear experiencias híbridas.

Establece un modo de inferencia

En los ejemplos de la guía de introducción, se usa el modo PREFER_ON_DEVICE, pero este es solo uno de los cuatro modos de inferencia disponibles .

  • PREFER_ON_DEVICE: Usa el modelo integrado en el dispositivo si está disponible; de lo contrario, vuelve al modelo alojado en la nube.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: Usa el modelo integrado en el dispositivo si está disponible; de lo contrario, arroja una excepción.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: Usa el modelo alojado en la nube si está disponible; de lo contrario, vuelve al modelo integrado en el dispositivo.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: Usa el modelo alojado en la nube si está disponible; de lo contrario, arroja una excepción.

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

Determina si se usó la inferencia integrado en el dispositivo o en la nube

Si usas los modos de inferencia PREFER_ON_DEVICE o PREFER_IN_CLOUD, puede ser útil saber qué modo se usó para las solicitudes determinadas. Esta información la proporciona la propiedad inferenceSource de cada respuesta (disponible a partir de la versión 12.5.0 del SDK de JS).

Cuando accedas a esta propiedad, el valor que se mostrará será ON_DEVICE o IN_CLOUD.

// ...

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

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

Anula el modelo de resguardo predeterminado

El modelo predeterminado alojado en la nube es gemini-2.5-flash-lite (a partir de la versión 12.8.0 del SDK de JS).

Este modelo es el modelo de resguardo alojado en la nube cuando usas el modo PREFER_ON_DEVICE. También es el modelo predeterminado cuando usas el modo ONLY_IN_CLOUD o el modo PREFER_IN_CLOUD.

Puedes usar la inCloudParams opción de configuración para especificar un modelo predeterminado alternativo alojado en la nube.

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

Encuentra los nombres de los modelos para todos los modelos de Gemini compatibles.

Usa la configuración del modelo para controlar las respuestas

En cada solicitud a un modelo, puedes enviar una configuración del modelo para controlar cómo el modelo genera una respuesta. Los modelos alojados en la nube y los modelos integrados en el dispositivo ofrecen diferentes opciones de configuración.

La configuración se mantiene durante la vida útil de la instancia. Si quieres usar una configuración diferente, crea una instancia nueva de GenerativeModel con esa configuración.

Configura el modelo alojado en la nube

Usa la inCloudParams opción para configurar un modelo de Gemini alojado en la nube. Obtén información sobre los parámetros disponibles.

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

Configura el modelo integrado en el dispositivo

Ten en cuenta que la inferencia con un modelo integrado en el dispositivo usa la API de Prompt de Chrome.

Usa la onDeviceParams opción para configurar un modelo integrado en el dispositivo. Obtén información sobre los parámetros disponibles.

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