models method

  1. @override
Future<List<AIModel>> models({
  1. CancelToken? cancelToken,
})
override

Get available models from the provider

cancelToken - Optional token to cancel the request

Returns a list of available models or throws an LLMError

Implementation

@override
Future<List<AIModel>> models({CancelToken? cancelToken}) async {
  if (config.baseUrl.isEmpty) {
    throw const InvalidRequestError('Missing Ollama base URL');
  }

  try {
    final responseData = await client.getJson(
      modelsEndpoint,
      cancelToken: cancelToken,
    );
    return _parseResponse(responseData);
  } on DioException catch (e) {
    throw DioErrorHandler.handleDioError(e, 'Ollama');
  } catch (e) {
    throw GenericError('Unexpected error: $e');
  }
}