getFrameworks static method
Get all registered frameworks for a specific capability
- Parameter capability: The capability/component type to filter by
- Returns: List of frameworks that provide the specified capability
Implementation
static Future<List<InferenceFramework>> getFrameworks(
SDKComponent capability) async {
final frameworks = <InferenceFramework>{};
// Map capability to model categories
final Set<ModelCategory> relevantCategories;
switch (capability) {
case SDKComponent.llm:
relevantCategories = {ModelCategory.language, ModelCategory.multimodal};
case SDKComponent.stt:
relevantCategories = {ModelCategory.speechRecognition};
case SDKComponent.tts:
relevantCategories = {ModelCategory.speechSynthesis};
case SDKComponent.vad:
relevantCategories = {ModelCategory.audio};
case SDKComponent.voice:
relevantCategories = {
ModelCategory.language,
ModelCategory.speechRecognition,
ModelCategory.speechSynthesis
};
case SDKComponent.embedding:
// Embedding models could be language or multimodal
relevantCategories = {ModelCategory.language, ModelCategory.multimodal};
}
final allModels = await RunAnywhere.availableModels();
for (final model in allModels) {
if (relevantCategories.contains(model.category)) {
// Add the model's framework (1:1 mapping)
frameworks.add(model.framework);
}
}
final result = frameworks.toList();
result.sort((a, b) => a.displayName.compareTo(b.displayName));
return result;
}