На этой странице описаны следующие параметры конфигурации для гибридных сред:
Определите, использовался ли вывод данных на устройстве или в облаке.
Используйте конфигурацию модели для управления реакциями (например, температурой).
Убедитесь, что вы завершили руководство по началу работы с созданием гибридных приложений .
Установить режим вывода
В примерах руководства по началу работы используется режим PREFER_ON_DEVICE , но это лишь один из четырех доступных режимов вывода .
Вот доступные режимы вывода:
PREFER_ON_DEVICE: Попытаться использовать модель, размещенную на устройстве, если она доступна и поддерживает данный тип запроса. В противном случае, зарегистрировать ошибку на устройстве и автоматически переключиться на облачную модель .Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)Java
InferenceMode mode = InferenceMode.PREFER_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_ON_DEVICE: Попытаться использовать модель, доступную на устройстве, если она доступна и поддерживает данный тип запроса. В противном случае сгенерировать исключение .Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_ON_DEVICE)Java
InferenceMode mode = InferenceMode.ONLY_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);PREFER_IN_CLOUD: Если устройство подключено к сети и модель доступна, попытайтесь использовать облачную модель. Если устройство находится в автономном режиме, используйте модель, размещенную на устройстве . Во всех остальных случаях сбоя сгенерируйте исключение .Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_IN_CLOUD)Java
InferenceMode mode = InferenceMode.PREFER_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_IN_CLOUD: Попытаться использовать облачную модель, если устройство подключено к сети и модель доступна. В противном случае сгенерировать исключение .Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_IN_CLOUD)Java
InferenceMode mode = InferenceMode.ONLY_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);
Определите, использовался ли вывод данных на устройстве или в облаке.
Если вы используете режимы вывода PREFER_ON_DEVICE или PREFER_IN_CLOUD , то может быть полезно знать, какой режим использовался для конкретных запросов. Эта информация предоставляется свойством inferenceSource каждого ответа.
При обращении к этому свойству возвращаемое значение будет либо ON_DEVICE , либо IN_CLOUD .
Kotlin
// ...
print("You used: ${result.response.inferenceSource}")
print(result.response.text)
Java
// ...
System.out.println("You used: " + result.getResponse().getInferenceSource());
System.out.println(result.getResponse().getText());
Укажите модель облачного размещения для использования.
Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него. |
Если основной или резервный вывод может выполняться с помощью облачной модели, то при создании экземпляра generativeModel необходимо явно указать используемую облачную модель.
Kotlin
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel(
modelName = "MODEL_NAME",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
)
Java
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"MODEL_NAME",
new OnDeviceConfig(InferenceMode.PREFER_ON_DEVICE)
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Найдите названия моделей для всех поддерживаемых моделей Gemini .
Используйте конфигурацию модели для управления ответами.
Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него. |
В каждом запросе к модели можно передать конфигурацию модели, чтобы управлять тем, как модель генерирует ответ. Модели, размещенные в облаке, и модели, размещенные на устройстве, предлагают разные варианты конфигурации (параметры облака и параметры, заданные на устройстве ).
Для моделей, размещенных в облаке, их конфигурацию следует задавать непосредственно в конфигурации модели. Однако для моделей, размещенных на устройстве, конфигурацию следует задавать в объекте onDeviceConfig .
Данная конфигурация сохраняется на протяжении всего срока службы экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр GenerativeModel с этой конфигурацией.
Вот пример, определяющий конфигурацию для облачных и локальных моделей, которые могут использоваться, если установлен режим вывода PREFER_ON_DEVICE :
Kotlin
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("MODEL_NAME",
// Config for cloud-hosted model
generationConfig = generationConfig {
temperature = 0.8f,
topK = 10
},
// Config for on-device model
onDeviceConfig = onDeviceConfig {
mode = InferenceMode.PREFER_ON_DEVICE,
temperature = 0.8f,
topK = 5
})
Java
// Config for cloud-hosted model
GenerationConfig generationConfig = new GenerationConfig.Builder()
.setTemperature(0.8f)
.setTopK(10)
.build();
// Config for on-device model
OnDeviceConfig onDeviceConfig = new OnDeviceConfig.Builder()
.setMode(InferenceMode.PREFER_ON_DEVICE)
.setTemperature(0.8f)
.setTopK(5)
.build();
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"MODEL_NAME",
generationConfig,
onDeviceConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);