Functional AI is coming soon. Join the waitlist for early access.

Introduction

fn is a runtime for building AI features as functions. Your prompt, agent, or multi-agent workflow becomes a function you can define, test, version, and deploy like any other code: typed inputs, typed outputs, and a number on the door. We host it, keep it running, and you just call it.

The mental model

You write an fn.yml: a single declarative file that describes a function's inputs, outputs, model, and how it should be evaluated. fn compiles that into an immutable, versioned function, and every promoted version is a stable HTTP endpoint.

ConceptWhat it is
DefinitionA declarative fn.yml defining I/O, model, and evals
VersionAn immutable, content-addressed snapshot of a definition
FunctionA compiled, callable version — classify@v3
EvalA dataset + threshold that turns a change into pass/fail
AliasA moving pointer like stable or canary routed at a version

Why a function

  • Versioned by default. Every change produces a new immutable version you can diff and roll back.
  • Tested before shipping. Evaluation is a command and a CI gate, not a vibe check.
  • Callable over HTTP. Promote a version, get an endpoint that returns typed structured output plus metadata.
  • Boring on purpose. The same workflow works for every function you build.

Ready to build one? Head to the Quickstart.