# GEPA v0.3.0 - API Reference

## Modules

- [GEPA.Adapter.Dispatch](GEPA.Adapter.Dispatch.md): Adapter dispatch helpers used by the Elixir GEPA engine.
- [GEPA.Adapters.Confidence.Scoring.LinearBlendScoring](GEPA.Adapters.Confidence.Scoring.LinearBlendScoring.md): Compatibility alias for `GEPA.Adapters.Confidence.Scoring.LinearBlend`.
- [GEPA.Adapters.Confidence.Scoring.SigmoidScoring](GEPA.Adapters.Confidence.Scoring.SigmoidScoring.md): Compatibility alias for `GEPA.Adapters.Confidence.Scoring.Sigmoid`.
- [GEPA.Adapters.Confidence.Scoring.ThresholdScoring](GEPA.Adapters.Confidence.Scoring.ThresholdScoring.md): Compatibility alias for `GEPA.Adapters.Confidence.Scoring.Threshold`.
- [GEPA.Adapters.ConfidenceAdapter](GEPA.Adapters.ConfidenceAdapter.md): Compatibility alias for `GEPA.Adapters.Confidence`.
- [GEPA.Adapters.GenericRAG.RAGEvaluationMetrics](GEPA.Adapters.GenericRAG.RAGEvaluationMetrics.md): Compatibility facade for `GEPA.Adapters.GenericRAG.Metrics`.
- [GEPA.Adapters.GenericRAG.VectorStoreInterface](GEPA.Adapters.GenericRAG.VectorStoreInterface.md): Compatibility facade for `GEPA.Adapters.GenericRAG.VectorStore`.
- [GEPA.Adapters.GenericRAGAdapter](GEPA.Adapters.GenericRAGAdapter.md): Compatibility alias for `GEPA.Adapters.GenericRAG`.
- [GEPA.Adapters.MCP](GEPA.Adapters.MCP.md): MCP tool-use adapter.
- [GEPA.Adapters.MCP.Client](GEPA.Adapters.MCP.Client.md): Minimal MCP client behaviour for GEPA's Elixir adapter layer.
- [GEPA.Adapters.MCP.Client.SSE](GEPA.Adapters.MCP.Client.SSE.md): Placeholder SSE MCP transport config.
- [GEPA.Adapters.MCP.Client.Static](GEPA.Adapters.MCP.Client.Static.md): In-memory MCP client for tests.  Tools are supplied as a map of name to
`%{description:, input_schema:, run:}` or as `{name, fun}` pairs.

- [GEPA.Adapters.MCP.Client.Stdio](GEPA.Adapters.MCP.Client.Stdio.md): Placeholder stdio MCP transport config.
- [GEPA.Adapters.MCP.Client.StreamableHTTP](GEPA.Adapters.MCP.Client.StreamableHTTP.md): Placeholder Streamable HTTP MCP transport config.
- [GEPA.Adapters.MCP.DataInst](GEPA.Adapters.MCP.DataInst.md): Task instance for `GEPA.Adapters.MCP`.
- [GEPA.Adapters.MCP.Output](GEPA.Adapters.MCP.Output.md): Output emitted by `GEPA.Adapters.MCP`.
- [GEPA.Adapters.MCP.Trajectory](GEPA.Adapters.MCP.Trajectory.md): Trace emitted by `GEPA.Adapters.MCP` when `capture_traces` is true.
- [GEPA.Adapters.MCPAdapter](GEPA.Adapters.MCPAdapter.md): Compatibility alias for `GEPA.Adapters.MCP`.
- [GEPA.Callbacks.Composite](GEPA.Callbacks.Composite.md): Callback container that forwards events to each registered callback.

- [GEPA.CandidateProposal.SubsampleEvaluation](GEPA.CandidateProposal.SubsampleEvaluation.md): Rich evaluation data captured for a proposal minibatch.
- [GEPA.CodeExecution.Result](GEPA.CodeExecution.Result.md): Structured result returned by `GEPA.CodeExecution.execute_code/2`.
- [GEPA.DataLoader.List](GEPA.DataLoader.List.md): In-memory loader using zero-based integer IDs.
- [GEPA.EvaluationCache.Entry](GEPA.EvaluationCache.Entry.md): Cached result for one candidate/example pair.

- [GEPA.Image](GEPA.Image.md): Image data wrapper for visual side-information in `GEPA.OptimizeAnything`.
- [GEPA.LLM.Tracking](GEPA.LLM.Tracking.md): Wraps arbitrary callable LLMs with lightweight token/cost accounting.
- [GEPA.LM](GEPA.LM.md): Upstream-compatible LM wrapper for reflection models.
- [GEPA.LM.Tracking](GEPA.LM.Tracking.md): Compatibility alias for tracking arbitrary callable LMs.
- [GEPA.OptimizeAnything.LogContext.Context](GEPA.OptimizeAnything.LogContext.Context.md): Propagatable optimize-anything evaluator log context.
- [GEPA.Seed](GEPA.Seed.md): Helpers for upstream-compatible LLM seed candidate generation.
- [GEPA.Strategies.Acceptance](GEPA.Strategies.Acceptance.md): Acceptance criteria for proposed GEPA candidates.
- [GEPA.Strategies.Acceptance.ImprovementOrEqual](GEPA.Strategies.Acceptance.ImprovementOrEqual.md): Accept if the new subsample score sum is greater than or equal to the old sum.
- [GEPA.Strategies.Acceptance.StrictImprovement](GEPA.Strategies.Acceptance.StrictImprovement.md): Accept only if the new subsample score sum is strictly greater than the old sum.
- [GEPA.Tracking.ExperimentTracker](GEPA.Tracking.ExperimentTracker.md): Dependency-free experiment tracker compatible with the upstream tracker API.
- [GEPA.Visualization](GEPA.Visualization.md): Candidate-lineage visualization helpers.

- Core API
  - [GEPA](GEPA.md): GEPA: Genetic-Pareto optimizer for text-based system components.
  - [GEPA.Adapter](GEPA.Adapter.md): Defines the contract for integrating GEPA with external systems.
  - [GEPA.DataLoader](GEPA.DataLoader.md): Protocol-style data access abstraction.
  - [GEPA.OptimizeAnything](GEPA.OptimizeAnything.md): Optimize an arbitrary candidate with a user-supplied evaluator.
  - [GEPA.OptimizeAnything.Config](GEPA.OptimizeAnything.Config.md): Complete configuration for `GEPA.OptimizeAnything.optimize_anything/1`.
  - [GEPA.OptimizeAnything.EngineConfig](GEPA.OptimizeAnything.EngineConfig.md): Engine options for `GEPA.OptimizeAnything`.
  - [GEPA.OptimizeAnything.MergeConfig](GEPA.OptimizeAnything.MergeConfig.md): Merge options for `GEPA.OptimizeAnything`.
  - [GEPA.OptimizeAnything.OptimizationState](GEPA.OptimizeAnything.OptimizationState.md): Historical per-example context injected into optimize-anything evaluators.
  - [GEPA.OptimizeAnything.RefinerConfig](GEPA.OptimizeAnything.RefinerConfig.md): Candidate-refinement options for `GEPA.OptimizeAnything`.
  - [GEPA.OptimizeAnything.ReflectionConfig](GEPA.OptimizeAnything.ReflectionConfig.md): Reflection options for `GEPA.OptimizeAnything`.
  - [GEPA.OptimizeAnything.TrackingConfig](GEPA.OptimizeAnything.TrackingConfig.md): Tracking options for `GEPA.OptimizeAnything`.
  - [GEPA.Result](GEPA.Result.md): Immutable result container for GEPA optimization.

- Optimization Engine
  - [GEPA.CandidateProposal](GEPA.CandidateProposal.md): A proposed new candidate program with metadata for acceptance testing.
  - [GEPA.Engine](GEPA.Engine.md): Main optimization engine for GEPA.
  - [GEPA.EvaluationBatch](GEPA.EvaluationBatch.md): Container for per-example evaluation results returned by an adapter.
  - [GEPA.EvaluationCache](GEPA.EvaluationCache.md): Cache for validation evaluations keyed by candidate content and example id.
  - [GEPA.OptimizeAnything.Adapter](GEPA.OptimizeAnything.Adapter.md): Internal adapter that lets `optimize_anything` use the normal GEPA engine.

  - [GEPA.OptimizeAnything.EvaluatorWrapper](GEPA.OptimizeAnything.EvaluatorWrapper.md): Normalizes user evaluator signatures and return values.

  - [GEPA.OptimizeAnything.LogContext](GEPA.OptimizeAnything.LogContext.md): Process-local diagnostic log context used by optimize-anything evaluators.

  - [GEPA.Progress](GEPA.Progress.md): Simple progress display for GEPA optimization.
  - [GEPA.Proposer](GEPA.Proposer.md): Behavior for candidate proposal strategies.
  - [GEPA.Proposer.InstructionProposal](GEPA.Proposer.InstructionProposal.md): LLM-based instruction proposal with configurable templates.
  - [GEPA.Proposer.Merge](GEPA.Proposer.Merge.md): Official-compatible merge proposer.
  - [GEPA.Proposer.MergeUtils](GEPA.Proposer.MergeUtils.md): Genealogy and triplet-selection helpers for the merge proposer.

  - [GEPA.Proposer.Reflective](GEPA.Proposer.Reflective.md): Reflective mutation proposer.
  - [GEPA.State](GEPA.State.md): Persistent state tracking the complete optimization history.

- Strategies
  - [GEPA.Strategies.BatchSampler](GEPA.Strategies.BatchSampler.md): Behaviour for sampling training data into minibatches.
  - [GEPA.Strategies.BatchSampler.EpochShuffled](GEPA.Strategies.BatchSampler.EpochShuffled.md): Epoch-shuffled sampler matching the Python reference semantics.
  - [GEPA.Strategies.BatchSampler.Simple](GEPA.Strategies.BatchSampler.Simple.md): Simple deterministic circular sampler.
  - [GEPA.Strategies.CandidateSelector](GEPA.Strategies.CandidateSelector.md): Behavior for selecting which program candidate to mutate.
  - [GEPA.Strategies.CandidateSelector.CurrentBest](GEPA.Strategies.CandidateSelector.CurrentBest.md): Greedy selector - always picks the highest-scoring program.
  - [GEPA.Strategies.CandidateSelector.EpsilonGreedy](GEPA.Strategies.CandidateSelector.EpsilonGreedy.md): Epsilon-greedy candidate selector with optional decay.
  - [GEPA.Strategies.CandidateSelector.Pareto](GEPA.Strategies.CandidateSelector.Pareto.md): Selects candidates from Pareto front using frequency-weighted sampling.
  - [GEPA.Strategies.CandidateSelector.TopKPareto](GEPA.Strategies.CandidateSelector.TopKPareto.md): Selects randomly from the top-k scoring candidates on the Pareto frontier.

  - [GEPA.Strategies.ComponentSelector](GEPA.Strategies.ComponentSelector.md): Behaviour for selecting which named candidate components should be updated.

  - [GEPA.Strategies.ComponentSelector.All](GEPA.Strategies.ComponentSelector.All.md): Update all candidate components together.
  - [GEPA.Strategies.ComponentSelector.RoundRobin](GEPA.Strategies.ComponentSelector.RoundRobin.md): Official-style round-robin component selector.
  - [GEPA.Strategies.EvaluationPolicy](GEPA.Strategies.EvaluationPolicy.md): Behavior for validation evaluation policies.
  - [GEPA.Strategies.EvaluationPolicy.Full](GEPA.Strategies.EvaluationPolicy.Full.md): Always evaluates all validation examples.
  - [GEPA.Strategies.EvaluationPolicy.Incremental](GEPA.Strategies.EvaluationPolicy.Incremental.md): Incremental evaluation policy - progressively evaluates validation set.

- Control and Observability
  - [GEPA.Callbacks](GEPA.Callbacks.md): Synchronous observational callbacks for GEPA optimization runs.
  - [GEPA.StopCondition](GEPA.StopCondition.md): Behavior for stop conditions that control when optimization terminates.
  - [GEPA.StopCondition.Composite](GEPA.StopCondition.Composite.md): Combines multiple stop conditions with AND/OR logic.
  - [GEPA.StopCondition.FileStopper](GEPA.StopCondition.FileStopper.md): Stops optimization when a configured file exists.

  - [GEPA.StopCondition.MaxCalls](GEPA.StopCondition.MaxCalls.md): Stops after a maximum number of metric evaluations.
  - [GEPA.StopCondition.MaxCandidateProposals](GEPA.StopCondition.MaxCandidateProposals.md): Stops after a maximum number of proposal iterations.

  - [GEPA.StopCondition.MaxReflectionCost](GEPA.StopCondition.MaxReflectionCost.md): Stops when a reflection LLM's reported cumulative cost reaches a budget.

  - [GEPA.StopCondition.MaxTrackedCandidates](GEPA.StopCondition.MaxTrackedCandidates.md): Stops after a maximum number of tracked candidate programs.

  - [GEPA.StopCondition.NoImprovement](GEPA.StopCondition.NoImprovement.md): Stops when no improvement observed for patience iterations.
  - [GEPA.StopCondition.ScoreThreshold](GEPA.StopCondition.ScoreThreshold.md): Stops once the best aggregate validation score reaches a threshold.

  - [GEPA.StopCondition.SignalStopper](GEPA.StopCondition.SignalStopper.md): BEAM-friendly signal/interrupt stopper.
  - [GEPA.StopCondition.Timeout](GEPA.StopCondition.Timeout.md): Time-based stop condition.
  - [GEPA.Telemetry](GEPA.Telemetry.md): Telemetry helpers for GEPA.
  - [GEPA.Tracking](GEPA.Tracking.md): Experiment tracking behavior and built-in trackers.
  - [GEPA.Tracking.InMemory](GEPA.Tracking.InMemory.md): In-memory tracker backed by an Agent.

  - [GEPA.Tracking.MLflow](GEPA.Tracking.MLflow.md): MLflow tracker placeholder behind `GEPA.Tracking`.
  - [GEPA.Tracking.NoOp](GEPA.Tracking.NoOp.md): Tracker that discards all metrics.
  - [GEPA.Tracking.WandB](GEPA.Tracking.WandB.md): W&B tracker placeholder behind `GEPA.Tracking`.

- LLM &amp; Adapters
  - [GEPA.Adapters.Basic](GEPA.Adapters.Basic.md): Basic adapter for simple Q&A tasks.
  - [GEPA.Adapters.Confidence](GEPA.Adapters.Confidence.md): Logprob-aware classification adapter.
  - [GEPA.Adapters.Confidence.Scoring](GEPA.Adapters.Confidence.Scoring.md): Confidence-aware scoring strategies for `GEPA.Adapters.Confidence`.
  - [GEPA.Adapters.Confidence.Scoring.LinearBlend](GEPA.Adapters.Confidence.Scoring.LinearBlend.md): Scores correct answers as 1.0 above a probability threshold, otherwise blends
linearly from `min_score_on_correct` to 1.0. Incorrect answers always score 0.

  - [GEPA.Adapters.Confidence.Scoring.Sigmoid](GEPA.Adapters.Confidence.Scoring.Sigmoid.md): Scores a correct answer with a sigmoid over confidence probability:
`1 / (1 + exp(-steepness * (probability - midpoint)))`.

  - [GEPA.Adapters.Confidence.Scoring.Threshold](GEPA.Adapters.Confidence.Scoring.Threshold.md): Scores a correct answer as 1.0 only when confidence probability is greater
than or equal to `threshold`; otherwise 0.0.

  - [GEPA.Adapters.Default](GEPA.Adapters.Default.md): Official-style default adapter for simple text-in/text-out tasks.
  - [GEPA.Adapters.GenericRAG](GEPA.Adapters.GenericRAG.md): Vector-store-agnostic RAG adapter.
  - [GEPA.Adapters.GenericRAG.DataInst](GEPA.Adapters.GenericRAG.DataInst.md): Task instance for the Generic RAG adapter.
  - [GEPA.Adapters.GenericRAG.Metrics](GEPA.Adapters.GenericRAG.Metrics.md): Deterministic retrieval and generation metrics for the Generic RAG adapter.

  - [GEPA.Adapters.GenericRAG.Pipeline](GEPA.Adapters.GenericRAG.Pipeline.md): A small, adapter-local RAG pipeline used by `GEPA.Adapters.GenericRAG`.
  - [GEPA.Adapters.GenericRAG.VectorStore](GEPA.Adapters.GenericRAG.VectorStore.md): Behaviour for vector-store backends used by `GEPA.Adapters.GenericRAG`.
  - [GEPA.Adapters.GenericRAG.VectorStore.InMemory](GEPA.Adapters.GenericRAG.VectorStore.InMemory.md): Deterministic in-memory vector-store implementation for tests, examples, and
local development. Similarity is simple token overlap.

  - [GEPA.Adapters.GenericRAG.VectorStores.Chroma](GEPA.Adapters.GenericRAG.VectorStores.Chroma.md): Chroma vector-store placeholder behind the Generic RAG behaviour.
  - [GEPA.Adapters.GenericRAG.VectorStores.LanceDB](GEPA.Adapters.GenericRAG.VectorStores.LanceDB.md): LanceDB vector-store placeholder behind the Generic RAG behaviour.
  - [GEPA.Adapters.GenericRAG.VectorStores.Milvus](GEPA.Adapters.GenericRAG.VectorStores.Milvus.md): Milvus vector-store placeholder behind the Generic RAG behaviour.
  - [GEPA.Adapters.GenericRAG.VectorStores.Pgvector](GEPA.Adapters.GenericRAG.VectorStores.Pgvector.md): Pgvector adapter placeholder behind the Generic RAG vector-store behaviour.
  - [GEPA.Adapters.GenericRAG.VectorStores.Qdrant](GEPA.Adapters.GenericRAG.VectorStores.Qdrant.md): Qdrant HTTP vector-store adapter for Generic RAG.
  - [GEPA.Adapters.GenericRAG.VectorStores.Weaviate](GEPA.Adapters.GenericRAG.VectorStores.Weaviate.md): Weaviate vector-store placeholder behind the Generic RAG behaviour.
  - [GEPA.Embeddings](GEPA.Embeddings.md): Behaviour and facade for embedding providers.
  - [GEPA.Embeddings.ReqLLM](GEPA.Embeddings.ReqLLM.md): ReqLLM-backed embedding provider.
  - [GEPA.LLM](GEPA.LLM.md): Behavior and facade for Language Model integrations.
  - [GEPA.LLM.Adapters.AgentSessionManager](GEPA.LLM.Adapters.AgentSessionManager.md): GEPA LLM adapter backed by Agent Session Manager.
  - [GEPA.LLM.Adapters.ReqLLM](GEPA.LLM.Adapters.ReqLLM.md): GEPA LLM adapter backed by ReqLLM.
  - [GEPA.LLM.Capabilities](GEPA.LLM.Capabilities.md): Capability helpers for GEPA LLM adapters.

  - [GEPA.LLM.Client](GEPA.LLM.Client.md): Normalized LLM client used by the GEPA LLM facade.
  - [GEPA.LLM.Mock](GEPA.LLM.Mock.md): Mock LLM implementation for testing.
  - [GEPA.LLM.ReqLLM](GEPA.LLM.ReqLLM.md): Backward-compatible ReqLLM implementation.
  - [GEPA.LLM.Request](GEPA.LLM.Request.md): Normalized request passed from GEPA to LLM adapters.

  - [GEPA.LLM.Response](GEPA.LLM.Response.md): Normalized LLM adapter response.

  - [GEPA.LLM.Tool](GEPA.LLM.Tool.md): GEPA-facing portable tool specification.

- Utilities
  - [GEPA.CodeExecution](GEPA.CodeExecution.md): Utilities for evaluating Elixir code snippets with captured outputs.
  - [GEPA.Types](GEPA.Types.md): Shared type specifications for GEPA.

  - [GEPA.Utils](GEPA.Utils.md): Compatibility facade for GEPA utility functions.

  - [GEPA.Utils.Pareto](GEPA.Utils.Pareto.md): Pareto-front utilities used for candidate selection and merge parent choice.

