initialize method

Future<void> initialize({
  1. required String modelPath,
  2. String backend = 'gpu',
  3. int maxTokens = 2048,
  4. bool enableVision = false,
  5. int maxNumImages = 1,
  6. bool enableAudio = false,
})

Initialize the model

Implementation

Future<void> initialize({
  required String modelPath,
  String backend = 'gpu',
  int maxTokens = 2048,
  bool enableVision = false,
  int maxNumImages = 1,
  bool enableAudio = false,
}) async {
  _assertConnected();

  debugPrint('[LiteRtLmClient] Initializing with:');
  debugPrint('[LiteRtLmClient]   modelPath: $modelPath');
  debugPrint('[LiteRtLmClient]   backend: $backend');
  debugPrint('[LiteRtLmClient]   maxTokens: $maxTokens');
  debugPrint('[LiteRtLmClient]   enableVision: $enableVision');
  debugPrint('[LiteRtLmClient]   enableAudio: $enableAudio');
  debugPrint('[LiteRtLmClient]   maxNumImages: $maxNumImages');

  final request = InitializeRequest()
    ..modelPath = modelPath
    ..backend = backend
    ..maxTokens = maxTokens
    ..enableVision = enableVision
    ..maxNumImages = maxNumImages
    ..enableAudio = enableAudio;

  final response = await _client!.initialize(request);

  if (!response.success) {
    throw Exception('Failed to initialize model: ${response.error}');
  }

  _isInitialized = true;
  debugPrint('[LiteRtLmClient] Model initialized: ${response.modelInfo}');
}