---
title: Core concepts
---

# Core concepts

Coming soon. This will document various concepts at a high level, so users can understand Outlines before diving into specific implementations.

1. Constrained decoding, tokens, and the basics of logit biasing
2. Different ways to define output structure (regex, JSON schema, Pydantic models, context-free grammars)
3. How finite state machines are used to guarantee output structure
4. `Generator`, `Application`, `Template`,
5. Prompt engineering vs. structured generation
