Skip to main content

entrenar/config/
mod.rs

1//! Declarative YAML configuration
2//!
3//! This module provides Ludwig-style declarative training configuration via YAML.
4//!
5//! # Example
6//!
7//! ```yaml
8//! model:
9//!   path: base-model.gguf
10//!   layers: [q_proj, v_proj]
11//!
12//! data:
13//!   train: train.parquet
14//!   batch_size: 8
15//!
16//! optimizer:
17//!   name: adam
18//!   lr: 1e-4
19//!
20//! lora:
21//!   rank: 64
22//!   alpha: 16
23//! ```
24
25mod builder;
26mod cli;
27mod infer;
28mod schema;
29mod train;
30mod validate;
31
32#[cfg(test)]
33mod tests;
34
35#[cfg(test)]
36mod property_tests;
37
38pub use builder::{build_model, build_optimizer};
39pub use cli::{
40    apply_overrides, parse_args, ArchiveProviderArg, ArtifactTypeArg, AuditArgs, AuditType,
41    BenchArgs, BundleArgs, CitationFormat, CiteArgs, Cli, Command, CompletionArgs, DepositArgs,
42    ExperimentsArgs, ExperimentsCommand, ExportArgs, ExportFormat, FinetuneArgs, FinetuneCommand,
43    InfoArgs, InitArgs, InitTemplate, InspectArgs, InspectMode, LicenseArg, MergeArgs, MergeMethod,
44    MonitorArgs, OutputFormat, PreregisterArgs, PublishArgs, QuantMethod, QuantizeArgs,
45    ResearchArgs, ResearchCommand, ResearchInitArgs, ShellType, TrainArgs, TrainingMethod,
46    ValidateArgs, VerifyArgs,
47};
48pub use infer::{
49    collect_stats_from_samples, infer_schema, infer_schema_from_path, infer_type, ColumnStats,
50    FeatureType, InferenceConfig, InferredSchema,
51};
52pub use schema::{
53    is_hf_repo_id, ArchitectureOverrides, CurriculumStage, DataConfig, LoRASpec, MergeSpec,
54    ModelMode, ModelRef, OptimSpec, PublishSpec, QuantSpec, TrainSpec, TrainingMode,
55    TrainingParams,
56};
57pub use train::{load_config, train_from_yaml, try_load_apr_for_inference};
58pub use validate::{validate_config, ValidationError};