Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
96
vendor/ruvector/crates/sona/src/lib.rs
vendored
Normal file
96
vendor/ruvector/crates/sona/src/lib.rs
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
//! SONA (Self-Optimizing Neural Architecture)
|
||||
//!
|
||||
//! A lightweight adaptive learning system with ReasoningBank integration.
|
||||
//!
|
||||
//! ## Features
|
||||
//!
|
||||
//! - **Micro-LoRA**: Ultra-low rank (1-2) LoRA for instant learning
|
||||
//! - **Base-LoRA**: Standard LoRA for background learning
|
||||
//! - **EWC++**: Elastic Weight Consolidation to prevent catastrophic forgetting
|
||||
//! - **ReasoningBank**: Pattern extraction and similarity search
|
||||
//! - **Three Learning Loops**: Instant, Background, and Coordination loops
|
||||
//! - **WASM Support**: Run in browsers and edge devices (enable `wasm` feature)
|
||||
//!
|
||||
//! ## Example
|
||||
//!
|
||||
//! ```rust,ignore
|
||||
//! use sona::{SonaEngine, SonaConfig};
|
||||
//!
|
||||
//! // Create engine
|
||||
//! let engine = SonaEngine::new(SonaConfig {
|
||||
//! hidden_dim: 256,
|
||||
//! embedding_dim: 256,
|
||||
//! ..Default::default()
|
||||
//! });
|
||||
//!
|
||||
//! // Begin trajectory
|
||||
//! let mut builder = engine.begin_trajectory(vec![0.1; 256]);
|
||||
//! builder.add_step(vec![0.5; 256], vec![], 0.8);
|
||||
//!
|
||||
//! // End trajectory
|
||||
//! engine.end_trajectory(builder, 0.85);
|
||||
//!
|
||||
//! // Apply learned transformations
|
||||
//! let input = vec![1.0; 256];
|
||||
//! let mut output = vec![0.0; 256];
|
||||
//! engine.apply_micro_lora(&input, &mut output);
|
||||
//! ```
|
||||
//!
|
||||
//! ## WASM Usage
|
||||
//!
|
||||
//! Enable the `wasm` feature and build with:
|
||||
//! ```bash
|
||||
//! wasm-pack build --target web --features wasm
|
||||
//! ```
|
||||
|
||||
#![allow(missing_docs)]
|
||||
|
||||
pub mod engine;
|
||||
pub mod ewc;
|
||||
pub mod loops;
|
||||
pub mod lora;
|
||||
pub mod reasoning_bank;
|
||||
pub mod time_compat;
|
||||
pub mod trajectory;
|
||||
pub mod types;
|
||||
|
||||
#[cfg(feature = "serde-support")]
|
||||
pub mod export;
|
||||
|
||||
#[cfg(feature = "serde-support")]
|
||||
pub mod training;
|
||||
|
||||
#[cfg(feature = "wasm")]
|
||||
pub mod wasm;
|
||||
|
||||
#[cfg(feature = "napi")]
|
||||
pub mod napi_simple;
|
||||
|
||||
// Re-export main types
|
||||
pub use engine::SonaEngine;
|
||||
pub use ewc::{EwcConfig, EwcPlusPlus, TaskFisher};
|
||||
pub use loops::{BackgroundLoop, InstantLoop, LoopCoordinator};
|
||||
pub use lora::{BaseLoRA, LoRAEngine, LoRALayer, MicroLoRA};
|
||||
pub use reasoning_bank::{PatternConfig, ReasoningBank};
|
||||
pub use trajectory::{TrajectoryBuffer, TrajectoryBuilder, TrajectoryIdGen};
|
||||
pub use types::{
|
||||
LearnedPattern, LearningSignal, PatternType, QueryTrajectory, SignalMetadata, SonaConfig,
|
||||
TrajectoryStep,
|
||||
};
|
||||
|
||||
#[cfg(feature = "serde-support")]
|
||||
pub use export::{
|
||||
DatasetExporter, ExportConfig, ExportError, ExportResult, ExportType, HuggingFaceExporter,
|
||||
HuggingFaceHub, PretrainConfig, PretrainPipeline, SafeTensorsExporter,
|
||||
};
|
||||
|
||||
#[cfg(feature = "serde-support")]
|
||||
pub use training::{
|
||||
AgentExport, AgentFactory, AgentHandle, AgentStats, AgentType, AggregationResult, BatchConfig,
|
||||
CoordinatorStats, DataSizeHint, EphemeralAgent, EpochStats, FederatedCoordinator,
|
||||
FederatedTopology, ManagedAgent, PipelineStage, TaskDomain, TemplatePreset, TrainingMethod,
|
||||
TrainingMetrics, TrainingPipeline, TrainingResult, TrainingTemplate, VerticalConfig,
|
||||
};
|
||||
|
||||
#[cfg(feature = "wasm")]
|
||||
pub use wasm::WasmSonaEngine;
|
||||
Reference in New Issue
Block a user