Opcje konfiguracji środowisk hybrydowych w aplikacjach internetowych


Na tej stronie opisujemy te opcje konfiguracji:

Możesz też generować uporządkowane dane wyjściowe, w tym JSON i wyliczenia.

Zanim zaczniesz

Upewnij się, że masz za sobą przewodnik dla początkujących dotyczący tworzenia hybrydowych aplikacji.

Ustawianie trybu wnioskowania

Przykłady w przewodniku dla początkujących używają trybu PREFER_ON_DEVICE, ale jest to tylko jeden z 4 dostępnych trybów wnioskowania.

  • PREFER_ON_DEVICE: użyj modelu na urządzeniu, jeśli jest dostępny. W przeciwnym razie wróć do modelu hostowanego w chmurze.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: użyj modelu na urządzeniu, jeśli jest dostępny. W przeciwnym razie zgłoś wyjątek.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: użyj modelu hostowanego w chmurze, jeśli jest dostępny. W przeciwnym razie wróć do modelu na urządzeniu.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: użyj modelu hostowanego w chmurze, jeśli jest dostępny. W przeciwnym razie zgłoś wyjątek.

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

Określanie, czy użyto wnioskowania na urządzeniu czy w chmurze

Jeśli używasz trybów wnioskowania PREFER_ON_DEVICE lub PREFER_IN_CLOUD, może się przydać informacja o tym, który tryb został użyty w przypadku danego żądania. Te informacje są dostępne w przypadku każdej odpowiedzi w postaci właściwości inferenceSource (dostępnej od wersji 12.5.0 pakietu SDK JS).

Gdy uzyskasz dostęp do tej właściwości, zwrócona wartość będzie ON_DEVICE lub IN_CLOUD.

// ...

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

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

Zastępowanie domyślnego modelu rezerwowego

Domyślny model hostowany w chmurze to gemini-2.5-flash-lite (od wersji 12.8.0 pakietu SDK JS).

Ten model jest rezerwowym modelem hostowanym w chmurze, gdy używasz trybu PREFER_ON_DEVICE. Jest to też model domyślny, gdy używasz trybu ONLY_IN_CLOUD lub PREFER_IN_CLOUD.

Aby określić alternatywny domyślny model hostowany w chmurze, możesz użyć opcji konfiguracji inCloudParams.

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

Znajdź nazwy modeli wszystkich obsługiwanych modeli Gemini.

Korzystanie z konfiguracji modelu do kontrolowania odpowiedzi

W każdym żądaniu wysyłanym do modelu możesz wysłać konfigurację modelu, aby określić, jak model ma generować odpowiedź. Modele hostowane w chmurze i modele na urządzeniu oferują różne opcje konfiguracji.

Konfiguracja jest zachowywana przez cały czas działania instancji. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję GenerativeModel z tą konfiguracją.

Konfigurowanie modelu hostowanego w chmurze

Aby skonfigurować model hostowany w chmurze Gemini, użyj opcji inCloudParams. Dowiedz się więcej o dostępnych parametrach.

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

Konfigurowanie modelu na urządzeniu

Pamiętaj, że wnioskowanie przy użyciu modelu na urządzeniu korzysta z interfejsu Prompt API w Chrome.

Aby skonfigurować model na urządzeniu, użyj opcji onDeviceParams. Dowiedz się więcej o dostępnych parametrach.

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