ggml-ci
This commit is contained in:
Georgi Gerganov 2024-07-19 14:21:33 +03:00
parent b4b242e6bd
commit 689d377916
No known key found for this signature in database
GPG key ID: 449E073F9DC10735
3 changed files with 5 additions and 11 deletions

View file

@ -16,14 +16,14 @@ static bool llama_sample_grammar_string(struct llama_grammar * grammar, const st
auto decoded = decode_utf8(input_str, {});
const auto & code_points = decoded.first;
const llama_grammar_rules & prev_rules = llama_grammar_get_rules (grammar);
const llama_grammar_rules & rules = llama_grammar_get_rules (grammar);
llama_grammar_stacks & cur_stacks = llama_grammar_get_stacks(grammar);
size_t pos = 0;
for (auto it = code_points.begin(), end = code_points.end() - 1; it != end; ++it) {
const llama_grammar_stacks prev_stacks = llama_grammar_get_stacks(grammar); // copy
llama_grammar_accept(prev_rules, prev_stacks, *it, cur_stacks);
llama_grammar_accept(rules, prev_stacks, *it, cur_stacks);
if (cur_stacks.empty()) {
error_pos = pos;

View file

@ -3,12 +3,6 @@
#define LLAMA_API_INTERNAL
#include "llama.h"
#include <array>
#include <set>
#include <map>
#include <cstdint>
#include <random>
#ifdef __has_include
#if __has_include(<unistd.h>)
#include <unistd.h>
@ -24,7 +18,7 @@
// bump if necessary
#define LLAMA_MAX_NODES 8192
#define LLAMA_MAX_LAYERS 256
#define LLAMA_MAX_LAYERS 512
#define LLAMA_MAX_EXPERTS 160 // DeepSeekV2
#ifdef __GNUC__

View file

@ -49,13 +49,13 @@ static bool match_string(const std::string & input, llama_grammar * grammar) {
const auto & code_points = decoded.first;
const llama_grammar_rules & prev_rules = llama_grammar_get_rules (grammar);
const llama_grammar_rules & rules = llama_grammar_get_rules (grammar);
llama_grammar_stacks & cur_stacks = llama_grammar_get_stacks(grammar);
for (auto it = code_points.begin(), end = code_points.end() - 1; it != end; ++it) {
const llama_grammar_stacks prev_stacks = llama_grammar_get_stacks(grammar); // copy
llama_grammar_accept(prev_rules, prev_stacks, *it, cur_stacks);
llama_grammar_accept(rules, prev_stacks, *it, cur_stacks);
if (cur_stacks.empty()) {
// no stacks means that the grammar failed to match at this point