이 페이지에서는 하이브리드 환경의 다음 구성 옵션에 대해 설명합니다.
하이브리드 환경 구축 시작 가이드를 완료했는지 확인하세요.
추론 모드 설정
시작 가이드의 예에서는 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());
사용할 클라우드 호스팅 모델 지정
|
Gemini API 제공업체를 클릭하여 이 페이지에서 제공업체별 콘텐츠와 코드를 확인합니다. |
기본 또는 대체 추론이 클라우드 호스팅 모델에 의해 실행될 수 있는 경우 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 모델의 모델 이름을 찾습니다.
모델 구성을 사용하여 대답 제어
|
Gemini API 제공업체를 클릭하여 이 페이지에서 제공업체별 콘텐츠와 코드를 확인합니다. |
모델에 대한 각 요청에서 모델 구성을 함께 전송하여 모델의 대답 생성 방식을 제어할 수 있습니다. 클라우드 호스팅 모델과 온디바이스 모델은 다양한 구성 옵션(cloud 대 on-device 매개변수)을 제공합니다.
클라우드 호스팅 모델의 경우 모델의 구성에서 직접 구성을 설정합니다. 하지만 온디바이스 모델의 경우 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);