ALchemist v0.3.3
ALchemist v0.3.3 Release Notes
Release Date: March 23, 2026
Highlights
This release delivers a major expansion of experimental design capabilities with a full DoE suite, AI-assisted design via LLMs, multi-objective BO infrastructure, and additional surrogate model options. It also completes the documentation for several v0.3.2 features that shipped without user guides.
New Features
Design of Experiments — Full Suite
A comprehensive DoE module now covers the full spectrum from exploratory space-filling to confirmatory RSM to statistically optimal designs.
Classical & Screening Designs
- Full Factorial — all combinations of factor levels (configurable
n_levels2–5) - Fractional Factorial — Resolution III+ designs via generator strings; built-in defaults for 3–7 factors
- Central Composite Design (CCD) — orthogonal/rotatable, circumscribed/inscribed/faced variants; full
ccd_alphaandccd_facecontrol - Box-Behnken — spherical design for 3+ continuous factors; avoids extreme corners
- Plackett-Burman — ultra-efficient 2-level screening (run count = next multiple of 4 ≥ k+1)
- Generalized Subset Design (GSD) — fractional design for mixed categorical + continuous spaces; configurable
gsd_reductionfactor
All classical methods are available in the Initial Design panel (web and desktop) and via session.generate_initial_design(method=...).
Optimal Experimental Design (D/A/I-optimal)
- Specify model terms using variable names: main effects, two-factor interactions (
Temperature*Pressure), and quadratic terms (Temperature**2) - Three model type shortcuts:
"linear","interaction","quadratic" - Three optimality criteria: D (parameter estimation), A (average variance), I (prediction variance)
- Five exchange algorithms:
sequential(Dykstra),simple_exchange,fedorov(default),modified_fedorov,detmax(Mitchell) - Configurable run count: absolute
n_pointsor proportionalp_multiplier(e.g., 2× model columns) - Preview endpoint — inspect model terms and recommended run count before generating
- D-efficiency and A-efficiency metrics returned with every design
- Full UI integration in web app (Quick mode / Custom mode / Preview) and desktop GUI
AI-Assisted Effect Selection
- LLM-powered effect suggestion for optimal designs via OpenAI (gpt-4o, gpt-4-turbo, gpt-4.1) or locally-running Ollama models
- Edison Scientific literature search integration — queries PaperQA3 for grounded, cited prior knowledge before structuring the effect recommendation
- Three Edison job types:
literature(standard),literature_high(deep reasoning),precedent - Per-session Edison result cache (15 min TTL) — avoids re-running expensive searches
- Results include reasoning, confidence levels, and literature citations
- AI output constrained to variable names in the current search space (no hallucinated variable names)
- Config persisted to
~/.alchemist/config.json; optional install:pip install 'alchemist-nrel[llm]' - Fix: LLM no longer generates hallucinated citations when no Edison context is available
- Fix: Ollama base URL now normalized to include
/v1path prefix
Discrete Variable Type
- New
Discretevariable type for numerical variables restricted to specific allowed values (e.g., silica-to-alumina ratios: 80, 280, 450) - Full integration across all layers: variable definition, DoE generation, surrogate modeling, BO acquisition
- BoTorch backend uses
optimize_acqf_mixedwithdiscrete_choicesfor correct enumeration - Supports main effects, interactions in optimal design; quadratic terms for 3+ allowed values
- Available in web UI, desktop GUI, Python API, and REST API
IBNN Kernel for BoTorch
- Infinite-Width Bayesian Neural Network (IBNN) kernel available as a third kernel option alongside Matern and RBF
- Configurable
depthparameter (default 3, range 1–10) - Suited for response surfaces with complex compositional or hierarchical structure
- Exposed via
kernel="IBNN"with optionalkernel_params={"depth": 3}in training requests
Multi-Objective BO: Variable Role Management
- Explicit variable / target / drop column role assignment when loading CSV data
- Web UI: target column selection panel appears on CSV upload, supports multi-select for multi-objective
- Desktop UI: dedicated MOBO panel with target column configuration
- REST API:
target_columnsquery parameter on upload endpoint accepts comma-separated column names - Python API:
session.load_data(path, target_columns=["Yield", "Selectivity"])
3D Surface & Uncertainty Surface Plots
create_surface_plot()— 3D predicted response surface over two variablescreate_uncertainty_surface_plot()— 3D predictive uncertainty surface- Available from the web UI Visualizations panel and Python API
Improvements
pyDOEpinned to version 0.9.5 for reproducibility across environments- D-efficiency computation corrected for designs with degenerate or ill-conditioned information matrices
Documentation
This release adds complete documentation for all new features above, plus backfills several v0.3.2 features that lacked user guides:
New documentation pages:
- Design of Experiments → Classical & Screening Designs
- Design of Experiments → Optimal Design
- Design of Experiments → AI-Assisted Effect Selection
- Acquisition & Optimization → Multi-Objective Optimization
- Python API → Staged Experiments
- Visualizations → 3D Surface Plots
- Background → Design of Experiments (theory)
Updated pages:
- Getting Started → Setting Up Variable Space (Discrete type)
- Getting Started → Generating Initial Experiments (DoE overview)
- Getting Started → Loading Experimental Data (target column selection)
- Surrogate Modeling → BoTorch Backend (IBNN kernel)
- Home (updated feature list)
Full Changelog
v0.3.2...v0.3.3 — 11 commits