Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/skydiscover-ai/skydiscover/llms.txt

Use this file to discover all available pages before exploring further.

Introduction

SkyDiscover uses YAML configuration files to control all aspects of the evolutionary search process. Configuration files define LLM settings, search algorithms, evaluation parameters, prompts, and more.

Configuration Structure

A SkyDiscover configuration file consists of several top-level sections:
# General settings
max_iterations: 100
checkpoint_interval: 10
log_level: "INFO"

# Component configurations
llm:          # LLM model settings
prompt:       # Prompt generation
search:       # Search algorithm and database
evaluator:    # Program evaluation
agentic:      # Agentic generation (optional)
monitor:      # Live dashboard (optional)

Loading Configuration

From File

Load a configuration file when running SkyDiscover:
skydiscover-run initial_program.py evaluator.py -c configs/adaevolve.yaml

Programmatic Loading

from skydiscover.config import load_config

# Load from YAML file
config = load_config("configs/adaevolve.yaml")

# Use defaults
config = load_config()

Configuration Hierarchy

SkyDiscover resolves configuration values in the following order (later sources override earlier ones):
1

Default Values

Built-in defaults from dataclass definitions in skydiscover/config.py:522-561
2

YAML File

Values specified in your configuration file override defaults
3

Environment Variables

Environment variables like OPENAI_API_KEY, OPENAI_API_BASE override file settings
4

CLI Arguments

Command-line flags like --model, --search override all previous settings

Environment Variable Expansion

Use ${VAR} syntax to reference environment variables in YAML:
llm:
  api_key: ${OPENAI_API_KEY}
  models:
    - name: "gpt-5"

General Settings

max_iterations
int
default:"100"
Maximum number of evolutionary iterations to run
checkpoint_interval
int
default:"10"
Save checkpoint every N iterations
log_level
str
default:"INFO"
Logging verbosity: DEBUG, INFO, WARNING, ERROR
log_dir
str
default:"None"
Directory for log files. If None, logs to console only
language
str
default:"None"
Programming language hint (e.g., python, javascript)
file_suffix
str
default:".py"
File extension for generated programs

Generation Settings

diff_based_generation
bool
default:"true"
Generate diffs instead of complete programs to improve LLM focus
max_solution_length
int
default:"60000"
Maximum character length for generated solutions
max_parallel_iterations
int
default:"1"
Number of iterations to run concurrently. Set to >1 for parallel execution

Human-in-the-Loop Settings

human_feedback_enabled
bool
default:"false"
Enable human feedback integration
human_feedback_file
str
default:"None"
Path to file containing human feedback
human_feedback_mode
str
default:"append"
How to handle feedback: append or replace

Configuration Files

SkyDiscover includes several preset configurations in configs/:

default.yaml

Basic top-k search configuration

adaevolve.yaml

Adaptive multi-island evolutionary search

openevolve_native.yaml

MAP-Elites quality-diversity search

llm_judge.yaml

LLM-as-a-judge evaluation

Example: Complete Configuration

configs/default.yaml
# General settings
max_iterations: 100
checkpoint_interval: 10
log_level: "INFO"
random_seed: 42

# LLM configuration
llm:
  models:
    - name: "gpt-5"
      weight: 1.0
  temperature: 0.7
  top_p: 0.95
  max_tokens: 32000
  timeout: 600

# Search configuration
search:
  type: "topk"
  database:
    random_seed: 42
  num_context_programs: 4

# Prompt configuration
prompt:
  system_message: "You are an expert to help find the best solution to the problem."

# Evaluator configuration
evaluator:
  timeout: 10000
  max_retries: 3
  cascade_evaluation: false

# Generation settings
diff_based_generation: true
max_solution_length: 60000

Next Steps

LLM Configuration

Configure models, API settings, and generation parameters

Search Configuration

Choose and configure search algorithms

Prompt Configuration

Customize system messages and prompts

Monitor Configuration

Set up the live monitoring dashboard

Build docs developers (and LLMs) love