Guidance review
A focused Python toolkit for structured generation and logical control over model output.
Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026
Guidance is an open-source Python library for developers who want programs to control how language models generate text. Its focus is constrained generation: output can follow regular expressions, context-free grammars, predefined choices, or a JSON schema. Rather than treating a prompt as a single fixed request, Guidance can combine prompting and generation with conditionals and loops, and developers can define reusable functions. That makes it a fit for teams building applications where output shape and generation flow matter more than a broad, visual application-building environment.
The framework's standout capability is control over generated structure. Schema-constrained JSON, grammar-based output, and predefined choices address cases where an application needs responses in an expected form. Guidance also supports tool or function calls, and its documentation includes retrieval-augmented generation examples. These features keep the focus on shaping model behavior within a Python program; they are not a workflow graph or prompt-optimization system. Teams seeking those capabilities as central framework features may prefer a broader application framework.
Guidance can connect to multiple model backends, including Transformers, llama.cpp, and OpenAI, giving developers options to align the library with their model setup. It is self-hosted and open source under the MIT license, with a free plan, so it is not presented as a hosted service with paid tiers. Support channels include email, community, and documentation. Choose Guidance when constrained output and programmable control flow are the core requirements; consider another option if a JavaScript SDK or workflow graphs are needed. The published platform details specify Linux, and the library is Python-focused.
Guidance pros and cons
- Where it wins
- Constrain generation with regular expressions, grammars, or JSON schemas.
- Combine generation with conditionals, loops, and reusable functions.
- Supports Transformers, llama.cpp, OpenAI, and tool calls.
- Where it doesn't
- Specialized generation toolkit, not a broad application framework.
- No workflow graphs or prompt optimization.
- Python library without a JavaScript SDK.
Guidance fact sheet, pricing and score →
Advertiser disclosure: iTechGuides is reader-supported. We may earn a commission when you click some links. How we rank.
Last updated · How we research and update