Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
GrammarConstraint
✓ from transformers_cfg import GrammarConstraint
✗ from transformers_cfg.grammar_utils import GrammarConstraint
Basic constrained generation with a JSON grammar.
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers_cfg.grammar_utils import GrammarConstraint
from transformers_cfg.generation.logits_process import GrammarLogitsProcessor
model_id = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Load a grammar (e.g., from a string)
import os
grammar_str = open(os.path.join(os.path.dirname(__file__), "grammars", "json.ebnf"), "r").read()
grammar = GrammarConstraint(grammar_str, tokenizer=tokenizer)
logits_processor = GrammarLogitsProcessor(grammar)
inputs = tokenizer(["Here is a JSON: "], return_tensors="pt")
output = model.generate(
**inputs,
max_new_tokens=100,
logits_processor=[logits_processor],
pad_token_id=tokenizer.eos_token_id
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Upgrade
Version history
0.2.7latest on PyPI · released Mar 2, 2025
Audit
Dependencies
transformersrequiredRequired; provides the Hugging Face model interface.
torchrequiredRequired for tensor operations and GPU support.
tokenizersrequiredUsed for tokenization.
absl-pyoptionalUsed for CLI flag parsing.