pub mod adapters;
pub mod api;
pub mod core;
pub mod error;
pub mod lm;
pub mod proposer;
pub mod strategies;
pub mod tracking;
pub mod utils;
pub use error::{GEPAError, Result};
pub use core::adapter::{Candidate, EvaluationBatch, GEPAAdapter, ReflectiveDataset};
pub use core::callbacks::{
CandidateAcceptedEvent, CandidateRejectedEvent, CompositeCallback, GEPACallback,
OptimizationEndEvent, OptimizationStartEvent, notify_callbacks,
};
pub use core::component::{ComponentKind, ComponentMeta, ComponentMetaMap, component_kind};
pub use core::data_loader::{DataId, DataLoader, MutableDataLoader, VecLoader, ensure_loader};
pub use core::engine::GEPAEngine;
pub use core::result::GEPAResult;
pub use core::state::{
EvaluationCache, FrontierKey, FrontierType, GEPAState, ObjectiveScores, ProgramIdx,
ValsetEvaluation, candidate_hash,
};
pub use lm::{LanguageModel, OpenAICompatibleLM};
pub use utils::pareto::{
find_dominator_programs, idxmax, is_dominated, remove_dominated_programs,
select_program_candidate_from_pareto_front,
};
pub use utils::stop_condition::{
CompositeMode, CompositeStopper, FileStopper, MaxIterationsStopper, MaxMetricCallsStopper,
NoImprovementStopper, SignalStopper, StopCondition, TimeoutStopper,
};
pub use proposer::base::CandidateProposal;
pub use proposer::merge::MergeProposer;
pub use proposer::reflective_mutation::ReflectiveMutationProposer;
pub use strategies::batch_sampler::{BatchSampler, EpochShuffledSampler};
pub use strategies::candidate_selector::{
CandidateSelector, CurrentBestSelector, EpsilonGreedySelector, ParetoCandidateSelector,
TopKParetoCandidateSelector,
};
pub use strategies::component_selector::{
AllComponentSelector, ComponentSelector, RoundRobinSelector,
};
pub use strategies::eval_policy::{EvalPolicy, FullEvalPolicy};
pub use strategies::instruction_proposal::{
CODE_META_PROMPT_TEMPLATE, CONFIG_META_PROMPT_TEMPLATE, META_PROMPT_TEMPLATE, extract_output,
format_samples_as_markdown, render_code_prompt, render_config_prompt, render_prompt,
};
pub use api::{
CandidateSelectorKind, ComponentSelectorKind, LMConfig, OptimizeConfig, StopConditionConfig,
optimize,
};
pub use tracking::{ExperimentTracker, NoopTracker};
pub use proposer::reflective_mutation::PromptTemplateConfig;