Zum Inhalt springen
rdlabo.devdocs

Einrichtung

Plattformanforderungen und native Projekteinrichtung für iOS und Android. Verwandte Anleitungen: Android-Fallback-Modell, Verfügbarkeit, Bilder.

Plattformanforderungen

Plattform Mindestversion des Betriebssystems Hinweise
iOS 18.4 Bildgenerierung benötigt iOS ab 18.4. Das Text-LLM benötigt iOS ab 26. Bildanalyse verwendet Attachment von Foundation Models unter iOS ab 27, wenn mit Xcode 27 / Swift 6.4 kompiliert wird.
Android API 29 (Android 10) Gemini Nano über ML Kit benötigt ein kompatibles physisches Gerät, beispielsweise Pixel ab 9.

iOS-Einrichtung

CocoaPods-Nutzer benötigen keine zusätzliche Konfiguration. Foundation Models und Image Playground sind Systemframeworks, die auf unterstützten Geräten mit aktiviertem Apple Intelligence automatisch verfügbar sind.

Bei Capacitor-Projekten mit Swift Package Manager erzeugt die aktuelle Capacitor CLI CapApp-SPM/Package.swift mit einem iOS-18.0-Deployment-Target und erhält die erforderliche Minor-Version nicht. Ändern Sie nach jedem npx cap sync ios die Plattformdeklaration in platforms: [.iOS("18.4")]. Die enthaltene Beispielanwendung automatisiert dies mit npm run cap:sync. Den kleinen Wrapper mit sofortigem Abbruch bei Fehlern finden Sie unter example-app/scripts/sync-capacitor.mjs.

Rufen Sie zur Laufzeit getAvailability() auf, um vor dem Erstellen von Chats oder der Textgenerierung die Bereitschaft des Textmodells zu prüfen. Prüfen Sie vor der Übergabe von Bildern separat getImageAnalysisAvailability(), da Text- und Bildverfügbarkeit abweichen können. Einzelheiten zur Bildanalyse finden Sie unter Bilder.

Unter iOS-Versionen vor 26 meldet nur getAvailability() für das Text-LLM 'device-not-eligible'. Text- und Chat-APIs wie createChat(), deleteChat(), generateText() und streamText() weisen mit LOCAL_LLM_UNSUPPORTED zurück. Bildgenerierung über generateImage() ist unter iOS ab 18.4 verfügbar.

downloadModel() ist unter iOS nicht verfügbar; das Betriebssystem verwaltet das Modell. Beobachten Sie die Bereitschaft über getAvailability() oder das Ereignis availabilityChange.

Android-Einrichtung

Die minimale Android-SDK-Version des Plugins ist 29 und damit höher als der derzeitige Capacitor-Standard 24. Aktualisieren Sie android/variables.gradle Ihrer Anwendung:

ext {
    minSdkVersion = 29
}

Gemini Nano wird über Google Play Services verteilt und muss vor der Nutzung auf das Gerät heruntergeladen werden. Das Modell wird nicht mit Ihrer Anwendung gebündelt.

Wenn Gemini Nano nicht verfügbar ist, können Anwendungen ausdrücklich einen LiteRT-LM-Fallback konfigurieren. Siehe Android-Fallback-Modell.

Verfügbarkeit prüfen und herunterladen

Rufen Sie getAvailability() auf, um den aktuellen Zustand zu prüfen. Starten Sie beim Status downloadable den Download mit downloadModel() und beobachten Sie downloadProgress und/oder availabilityChange, bis der Status available ist.

import { LocalLLM } from '@rdlabo/capacitor-local-llm';

const availabilityListener = await LocalLLM.addListener('availabilityChange', ({ status }) => {
  console.log('availability:', status);
});

const progressListener = await LocalLLM.addListener('downloadProgress', (event) => {
  if (event.progress != null) {
    console.log('download progress:', event.progress);
  } else if (event.downloadedBytes != null) {
    console.log('downloaded bytes:', event.downloadedBytes);
  }
});

const { status } = await LocalLLM.getAvailability();

if (status === 'downloadable') {
  await LocalLLM.downloadModel();
}

await availabilityListener.remove();
await progressListener.remove();

Web-Einrichtung

Unterstützte Desktop-Chrome-Browser führen Textgenerierung über die integrierte Prompt API aus. Siehe Web-Einrichtung und Einschränkungen. Führen Sie zum Testen auf localhost npm run dev in example-app aus.