mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2025-01-13 04:00:16 +00:00
20 lines
690 B
C++
20 lines
690 B
C++
#pragma once
|
|
|
|
#include "ggml.h"
|
|
// Change JSON_ASSERT from assert() to GGML_ASSERT:
|
|
#define JSON_ASSERT GGML_ASSERT
|
|
#include "json.hpp"
|
|
|
|
template <typename Iterator>
|
|
std::string join(Iterator begin, Iterator end, const std::string & separator);
|
|
|
|
std::string json_schema_to_grammar(const nlohmann::ordered_json & schema);
|
|
|
|
struct llama_grammar_builder {
|
|
std::function<std::string(const std::string &, const std::string &)> add_rule;
|
|
std::function<std::string(const std::string &, const nlohmann::ordered_json &)> add_schema;
|
|
std::function<void(nlohmann::ordered_json &)> resolve_refs;
|
|
};
|
|
|
|
std::string build_grammar(const std::function<void(const llama_grammar_builder &)> & cb);
|