Module model_selection

Module model_selection 

Source
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§

DatasetCharacteristics
Dataset characteristics for model selection
ModelComparison
Comparison result for multiple models
ModelComparisonEntry
Entry in model comparison
ModelRecommendation
Model recommendation with reasoning
ModelSelector
Model selector for intelligent recommendation

Enums§

MemoryRequirement
Memory requirement estimate
ModelType
Available embedding model types
TrainingTime
Training time estimate
UseCaseType
Type of use case for model selection