fetchAvailableModels static method

Future<AvailableModels> fetchAvailableModels({
  1. String? ollamaUrl,
})

Implementation

static Future<AvailableModels> fetchAvailableModels({
  String? ollamaUrl,
}) async {
  try {
    final oM = await fetchInstalledOllamaModels(ollamaUrl: ollamaUrl);
    if (oM != null) {
      List<AIModelProvider> l = [];
      for (var prov in kAvailableModels.modelProviders) {
        if (prov.providerId == ModelAPIProvider.ollama) {
          l.add(
            prov.copyWith(
              providerId: prov.providerId,
              providerName: prov.providerName,
              sourceUrl: prov.sourceUrl,
              models: oM,
            ),
          );
        } else {
          l.add(prov);
        }
      }
      return kAvailableModels.copyWith(
        version: kAvailableModels.version,
        modelProviders: l,
      );
    }
  } catch (e) {
    debugPrint('fetchAvailableModels -> ${e.toString()}');
  }
  return kAvailableModels;
}