Варианты конфигурации гибридных функций в веб-приложениях

На этой странице описаны следующие варианты конфигурации:

Вы также можете создавать структурированный вывод, в том числе в формате JSON и перечислений.

Подготовка

Убедитесь, что вы выполнили все инструкции из краткого руководства по началу работы над гибридными приложениями.

Как задать режим инференса

В примерах из руководства по началу работы используется режим PREFER_ON_DEVICE, но это лишь один из четырех доступных режимов логического вывода.

.
  • PREFER_ON_DEVICE – использовать модель на устройстве, если она доступна, в противном случае переходить на модель, размещенную в облаке.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE – использовать модель на устройстве, если она доступна; в противном случае выдать исключение.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: использовать облачную модель, если она доступна, в противном случае переключиться на модель на устройстве.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: использовать модель, размещенную в облаке, если она доступна; в противном случае вызвать исключение.

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

Определить, использовался ли вывод на устройстве или в облаке

Если вы используете режимы вывода PREFER_ON_DEVICE или PREFER_IN_CLOUD, вам может быть полезно знать, какой из них был использован для определенных запросов. Эта информация предоставляется в свойстве inferenceSource каждого ответа (доступно в JS SDK версии 12.5.0 и более поздних).

При обращении к этому свойству возвращается значение ON_DEVICE или IN_CLOUD.

// ...

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

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

Как переопределить модель по умолчанию

Модель, размещенная в облаке по умолчанию, – gemini-2.5-flash-lite (начиная с JS SDK версии 12.8.0).

Эта модель используется в качестве резервной облачной модели, когда вы используете режим PREFER_ON_DEVICE. Эта модель также используется по умолчанию в режиме ONLY_IN_CLOUD и режиме PREFER_IN_CLOUD.

Вы можете использовать параметр конфигурации inCloudParams, чтобы указать альтернативную модель, размещенную в облаке по умолчанию.

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

Узнайте названия всех поддерживаемых моделей Gemini.

Как управлять ответами с помощью конфигурации модели

В каждом запросе к модели можно отправлять конфигурацию модели, чтобы контролировать, как она генерирует ответ. Модели, размещенные в облаке, и модели на устройстве предлагают разные варианты конфигурации.

Конфигурация сохраняется на протяжении всего времени существования экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр GenerativeModel с этой конфигурацией.

Как настроить модель, размещенную в облаке

Чтобы настроить модель Gemini, размещенную в облаке, используйте параметр inCloudParams. Подробнее о доступных параметрах…

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

Как настроить локальную модель

Обратите внимание, что для инференса с помощью локальной модели используется Prompt API из Chrome.

Чтобы настроить модель на устройстве, используйте параметр onDeviceParams. Подробнее о доступных параметрах…

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


Оставить отзыв о работе Firebase AI Logic