Skip to content

Commit 6cb058a

Browse files
committed
append add_grammar_lazy and add_grammar_lazy_patterns in _internals.py
1 parent 698cb80 commit 6cb058a

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

llama_cpp/_internals.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,47 @@ def add_grammar(self, model: LlamaModel, grammar: LlamaGrammar):
813813
)
814814
self._add_sampler(sampler)
815815

816+
def add_grammar_lazy(
817+
self,
818+
model: LlamaModel,
819+
grammar: LlamaGrammar,
820+
trigger_words: list[bytes],
821+
num_trigger_words: int,
822+
trigger_tokens:list[llama_cpp.llama_token],
823+
num_trigger_tokens: int
824+
):
825+
sampler = llama_cpp.llama_sampler_init_grammar_lazy(
826+
model.vocab,
827+
grammar._grammar.encode("utf-8"),
828+
grammar._root.encode("utf-8"),
829+
trigger_words,
830+
num_trigger_words,
831+
trigger_tokens,
832+
num_trigger_tokens
833+
)
834+
self._add_sampler(sampler)
835+
836+
def add_grammar_lazy_patterns(
837+
self,
838+
model: LlamaModel,
839+
grammar: LlamaGrammar,
840+
trigger_patterns: list[bytes],
841+
num_trigger_patterns: int,
842+
trigger_tokens:list[llama_cpp.llama_token],
843+
num_trigger_tokens: int
844+
):
845+
sampler = llama_cpp.llama_sampler_init_grammar_lazy_patterns(
846+
model.vocab,
847+
grammar._grammar.encode("utf-8"),
848+
grammar._root.encode("utf-8"),
849+
trigger_patterns,
850+
num_trigger_patterns,
851+
trigger_tokens,
852+
num_trigger_tokens
853+
)
854+
self._add_sampler(sampler)
855+
856+
816857
def add_penalties(
817858
self,
818859
n_vocab: int,

0 commit comments

Comments
 (0)