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 templates;
48mod factory;
49mod pipeline;
50mod metrics;
51mod federated;
52
53pub use templates::{
54 TrainingTemplate, TemplatePreset, VerticalConfig,
55 AgentType, TaskDomain, TrainingMethod, DataSizeHint,
56};
57pub use factory::{
58 AgentFactory, ManagedAgent, AgentHandle, AgentStats,
59 TrainingExample as FactoryTrainingExample, SimpleExample, SharedAgentFactory,
60};
61pub use pipeline::{
62 TrainingPipeline, PipelineStage, TrainingExample,
63 BatchConfig, TrainingCallback,
64};
65pub use metrics::{
66 TrainingMetrics, TrainingResult, EpochStats,
67 QualityMetrics, PerformanceMetrics,
68};
69pub use federated::{
70 EphemeralAgent, FederatedCoordinator, AgentExport,
71 TrajectoryExport, AgentExportStats, AgentContribution,
72 AggregationResult, CoordinatorStats, FederatedTopology,
73};