mirror of
https://github.com/likelovewant/ollama-for-amd.git
synced 2025-12-22 06:43:57 +00:00
* Revert "add support for NVIDIA Nemotron 3 Nano" This reverts commit e7d2ae9d69421012e9a8765c06a3fdf0e45b12f3. * GGML update to 380b4c984 Remove MaskBatchPadding as GGML_KQ_MASK_PAD is no longer present (no padding required) * update to c45f89d55 * ec98e2002 solar pro needed more adjusting - needs verification * review comments
44 lines
1.4 KiB
C++
Vendored
44 lines
1.4 KiB
C++
Vendored
#pragma once
|
|
|
|
#include <nlohmann/json_fwd.hpp>
|
|
|
|
#include <functional>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
std::string json_schema_to_grammar(const nlohmann::ordered_json & schema,
|
|
bool force_gbnf = false);
|
|
|
|
class common_schema_converter;
|
|
|
|
// Probes a JSON schema to extract information about its structure and type constraints.
|
|
class common_schema_info {
|
|
std::unique_ptr<common_schema_converter> impl_;
|
|
|
|
public:
|
|
common_schema_info();
|
|
~common_schema_info();
|
|
|
|
common_schema_info(const common_schema_info &) = delete;
|
|
common_schema_info & operator=(const common_schema_info &) = delete;
|
|
common_schema_info(common_schema_info &&) noexcept;
|
|
common_schema_info & operator=(common_schema_info &&) noexcept;
|
|
|
|
void resolve_refs(nlohmann::ordered_json & schema);
|
|
bool resolves_to_string(const nlohmann::ordered_json & schema);
|
|
};
|
|
|
|
struct common_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;
|
|
};
|
|
|
|
struct common_grammar_options {
|
|
bool dotall = false;
|
|
};
|
|
|
|
std::string gbnf_format_literal(const std::string & literal);
|
|
|
|
std::string build_grammar(const std::function<void(const common_grammar_builder &)> & cb, const common_grammar_options & options = {});
|