Add from_json_schema to LlamaGrammar
This commit is contained in:
parent
be1f64d569
commit
c647f01609
1 changed files with 10 additions and 0 deletions
|
@ -64,6 +64,7 @@ class LlamaGrammar:
|
|||
|
||||
@classmethod
|
||||
def from_string(cls, grammar: str, verbose: bool = True) -> "LlamaGrammar":
|
||||
"""Convert a GBNF grammar to a Llama grammar."""
|
||||
parsed_grammar = parse(const_char_p(grammar)) # type: parse_state
|
||||
if parsed_grammar.rules.empty():
|
||||
raise ValueError(
|
||||
|
@ -75,6 +76,15 @@ class LlamaGrammar:
|
|||
print(file=sys.stderr)
|
||||
return cls(parsed_grammar)
|
||||
|
||||
@classmethod
|
||||
def from_json_schema(
|
||||
cls,
|
||||
json_schema: str,
|
||||
verbose: bool = True,
|
||||
) -> "LlamaGrammar":
|
||||
"""Convert a JSON schema to a Llama grammar."""
|
||||
return cls.from_string(json_schema_to_gbnf(json_schema), verbose=verbose)
|
||||
|
||||
@classmethod
|
||||
def from_file(cls, file: Union[str, Path], verbose: bool = True) -> "LlamaGrammar":
|
||||
try:
|
||||
|
|
Loading…
Reference in a new issue