Skip to content

Welcome to Odyssey docs!

Odyssey is a FastAPI service that exposes Bayesian optimisation (BO) as HTTP endpoints for self-driving laboratories (SDLs) and materials-discovery campaigns. It wraps BoTorch/GPyTorch Gaussian-process models behind a multipart/form-data API, so any client that can make an HTTP request can ask "what should I try next?" without depending on the Python BO stack directly.

Odyssey provides:

  • Single-objective suggestion (/single/suggest) — a Gaussian-process optimiser with selectable acquisition functions (qLogNEI, qLogEI, PI, UCB).
  • Multi-objective suggestion (/mobo/suggest, /mobo/qNEHVI-suggest) — qNEHVI/qNParEGO-based optimisers returning a next sample and the current Pareto front.
  • Space-filling design (/design/{sobol,lhc}) — Sobol/Latin-hypercube sampling with optional discrete-step and sum-to-total constraints.
  • Mixture / simplex design and fitting (/simplex/design, /simplex/fit, /simplex_model) — Scheffé simplex-lattice designs and polynomial response-surface fitting.
  • Visualisation endpoints (/umap_overview, /parallel_coords, /pairwise_grid, /convergence) — Plotly views of the parameter space, GP posterior, and optimisation progress.

Installation