modelSupportsCapability method

Future<bool> modelSupportsCapability(
  1. String modelId,
  2. String capability
)

Check if a model supports a specific capability

Implementation

Future<bool> modelSupportsCapability(
    String modelId, String capability) async {
  final model = await getModel(modelId);
  if (model == null) return false;

  switch (capability.toLowerCase()) {
    case 'chat':
      return model.id.contains('gpt') ||
          model.id.contains('chat') ||
          model.id.contains('turbo');
    case 'embedding':
      return model.id.contains('embedding') || model.id.contains('ada');
    case 'image':
      return model.id.contains('dall-e') || model.id.contains('dalle');
    case 'audio':
    case 'speech':
      return model.id.contains('whisper') || model.id.contains('tts');
    case 'reasoning':
      return model.id.contains('o1') || model.id.contains('reasoning');
    default:
      return false;
  }
}