Expand description
§Model Selection Guidance
This module provides intelligent model selection and recommendation capabilities to help users choose the most appropriate embedding model for their specific knowledge graph and use case.
§Features
- Automatic Model Recommendation: Based on dataset characteristics
- Model Comparison: Compare multiple models on the same dataset
- Performance Profiling: Benchmark model performance
- Resource Requirements: Estimate memory and compute needs
- Use Case Matching: Recommend models for specific applications
§Example Usage
use oxirs_embed::model_selection::{ModelSelector, DatasetCharacteristics, UseCaseType};
// Define dataset characteristics
let characteristics = DatasetCharacteristics {
num_entities: 10000,
num_relations: 50,
num_triples: 50000,
avg_degree: 5.0,
is_sparse: false,
has_hierarchies: true,
has_complex_relations: true,
domain: Some("biomedical".to_string()),
};
// Get model recommendations
let selector = ModelSelector::new();
let recommendations = selector.recommend_models(&characteristics, UseCaseType::LinkPrediction)?;
for rec in recommendations {
println!("Model: {}, Score: {:.2}, Reason: {}",
rec.model_type, rec.suitability_score, rec.reasoning);
}Structs§
- Dataset
Characteristics - Dataset characteristics for model selection
- Model
Comparison - Comparison result for multiple models
- Model
Comparison Entry - Entry in model comparison
- Model
Recommendation - Model recommendation with reasoning
- Model
Selector - Model selector for intelligent recommendation
Enums§
- Memory
Requirement - Memory requirement estimate
- Model
Type - Available embedding model types
- Training
Time - Training time estimate
- UseCase
Type - Type of use case for model selection