Skip to main content

ruvector_sona/training/
mod.rs

1//! SONA Training System
2//!
3//! Templated training pipelines for specialized model adaptation.
4//!
5//! ## Overview
6//!
7//! The training module provides:
8//! - **Training Templates**: Pre-configured training setups for common use cases
9//! - **Agent Factory**: Create and manage multiple specialized agents
10//! - **Training Pipelines**: Structured workflows for different verticals
11//! - **Federated Learning**: Distributed training across ephemeral agents
12//! - **Metrics & Results**: Comprehensive training analytics
13//!
14//! ## Quick Start
15//!
16//! ```rust,ignore
17//! use ruvector_sona::training::{TrainingTemplate, AgentFactory, TrainingPipeline};
18//!
19//! // Use a preset template
20//! let template = TrainingTemplate::code_agent();
21//! let pipeline = TrainingPipeline::from_template(template);
22//!
23//! // Train on examples
24//! for example in examples {
25//!     pipeline.add_example(example);
26//! }
27//! let results = pipeline.train()?;
28//! ```
29//!
30//! ## Federated Learning
31//!
32//! ```rust,ignore
33//! use ruvector_sona::training::{EphemeralAgent, FederatedCoordinator};
34//!
35//! // Create coordinator
36//! let mut coordinator = FederatedCoordinator::default_coordinator("main", 3072);
37//!
38//! // Ephemeral agents process tasks
39//! let mut agent = EphemeralAgent::default_federated("agent-1", 3072);
40//! agent.process_trajectory(embedding, activations, quality, route, context);
41//!
42//! // Export state before termination
43//! let export = agent.export_state();
44//! coordinator.aggregate(export);
45//! ```
46
47mod factory;
48mod federated;
49mod metrics;
50mod pipeline;
51mod templates;
52
53pub use factory::{
54    AgentFactory, AgentHandle, AgentStats, ManagedAgent, SharedAgentFactory, SimpleExample,
55    TrainingExample as FactoryTrainingExample,
56};
57pub use federated::{
58    AgentContribution, AgentExport, AgentExportStats, AggregationResult, CoordinatorStats,
59    EphemeralAgent, FederatedCoordinator, FederatedTopology, TrajectoryExport,
60};
61pub use metrics::{
62    EpochStats, PerformanceMetrics, QualityMetrics, TrainingMetrics, TrainingResult,
63};
64pub use pipeline::{
65    BatchConfig, PipelineStage, TrainingCallback, TrainingExample, TrainingPipeline,
66};
67pub use templates::{
68    AgentType, DataSizeHint, TaskDomain, TemplatePreset, TrainingMethod, TrainingTemplate,
69    VerticalConfig,
70};