-
Notifications
You must be signed in to change notification settings - Fork 12.4k
Closed
Labels
bug-unconfirmedmedium severityUsed to report medium severity bugs in llama.cpp (e.g. Malfunctioning Features but still useable)Used to report medium severity bugs in llama.cpp (e.g. Malfunctioning Features but still useable)stale
Description
What happened?
I have tried to load the json.gbnf
grammar example but haven't been able to do so. The following code is not working.
from llama_cpp.llama import Llama, LlamaGrammar
import httpx
grammar_text = httpx.get("https://raw.githubusercontent.com/ggerganov/llama.cpp/master/grammars/json.gbnf").text
grammar = LlamaGrammar.from_string(grammar_text)
This throws the following error:
ValueError: from_string: error parsing grammar file: parsed_grammar.rules is empty
I'm not sure if the problem resides in the grammar definition file or in the LlamaGrammar class. The problem shows up when I use the .from_file
method as well.
Name and Version
Ubuntu 22.04
Python 3.11 (Anaconda)
llama_cpp_python 0.2.78
What operating system are you seeing the problem on?
Linux
Relevant log output
parse: error parsing grammar: expecting ')' at {4}) # escapes
)* "\"" ws
number ::= ("-"? ([0-9] | [1-9] [0-9]{0,15})) ("." [0-9]+)? ([eE] [-+]? [0-9] [1-9]{0,15})? ws
# Optional space: by convention, applied in this grammar after literal chars when allowed
ws ::= | " " | "\n" [ \t]{0,20}
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[14], line 4
2 import httpx
3 grammar_text = httpx.get("https://raw.githubusercontent.com/ggerganov/llama.cpp/master/grammars/json.gbnf").text
----> 4 grammar = LlamaGrammar.from_string(grammar_text)
File ~/miniconda3/envs/llama-cpp/lib/python3.11/site-packages/llama_cpp/llama_grammar.py:71, in LlamaGrammar.from_string(cls, grammar, verbose)
69 parsed_grammar = parse(const_char_p(grammar)) # type: parse_state
70 if parsed_grammar.rules.empty():
---> 71 raise ValueError(
72 f"{cls.from_string.__name__}: error parsing grammar file: parsed_grammar.rules is empty"
73 )
74 if verbose:
75 print(f"{cls.from_string.__name__} grammar:", file=sys.stderr)
ValueError: from_string: error parsing grammar file: parsed_grammar.rules is empty
Metadata
Metadata
Assignees
Labels
bug-unconfirmedmedium severityUsed to report medium severity bugs in llama.cpp (e.g. Malfunctioning Features but still useable)Used to report medium severity bugs in llama.cpp (e.g. Malfunctioning Features but still useable)stale