Guidance

0.3.1 · active · verified Sat Feb 28

Microsoft-backed constrained generation framework for LLMs. Programs interleave control flow with generation via lm += gen(...) syntax. Supports regex, CFGs, JSON schema, and select() constraints using a Rust-based llguidance engine. Backends: Transformers, llama.cpp, OpenAI, Azure AI. Model objects are immutable — each += produces a copy.

Warnings

Install

Imports

Quickstart

Minimal constrained generation with Transformers backend. Model object is immutable — lm is a copy at each step.

from guidance import system, user, assistant, gen
from guidance.models import Transformers

lm = Transformers('microsoft/Phi-4-mini-instruct')

with system():
    lm += 'You are a helpful assistant'
with user():
    lm += 'What is the capital of France?'
with assistant():
    lm += gen(name='answer', max_tokens=20)

print(lm['answer'])

view raw JSON →