installModelFromAsset method

  1. @Deprecated('Use FlutterGemma.installInferenceModel().fromAsset() instead')
  2. @override
Future<void> installModelFromAsset(
  1. String path, {
  2. String? loraPath,
})
override

Installs model from Flutter asset (debug mode only)

⚠️ DEPRECATED: Use FlutterGemma.installInferenceModel().fromAsset() instead

This method provides backward compatibility but delegates to Modern API.

Migration:

// OLD:
await manager.installModelFromAsset('assets/models/gemma.task');

// NEW:
await FlutterGemma.installInferenceModel()
  .fromAsset('assets/models/gemma.task')
  .install();

Implementation

@Deprecated('Use FlutterGemma.installInferenceModel().fromAsset() instead')
@override
Future<void> installModelFromAsset(String path, {String? loraPath}) async {
  if (kReleaseMode) {
    throw UnsupportedError(
      "Asset model loading is not supported in release builds. "
      "Use fromNetwork() or fromBundled() instead."
    );
  }

  await _ensureInitialized();

  // Convert legacy parameters to Modern API ModelSpec
  final spec = InferenceModelSpec(
    name: FileNameUtils.getBaseName(path.split('/').last),
    modelSource: ModelSource.asset(path),
    loraSource: loraPath != null ? ModelSource.asset(loraPath) : null,
  );

  // Delegate to Modern API
  // This uses AssetSourceHandler which handles all the work
  await ensureModelReadyFromSpec(spec);
}