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

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

Вы также можете генерировать структурированные выходные данные, включая 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-3.5-flash-lite (начиная с JS SDK версии 13.0.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",
    generationConfig: {
      maxOutputTokens: 200,
      stopSequences: ["red"]
    }
  }
});

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

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

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

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." }] }
      ]
    }
  }
});


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