Team Ai
Modelpublic

Felipe97/llama-cpp-compiled

sourceHugging Faceupdated 21d agoView on Hugging Face
0likes1.2kdownloads
parsers.cpp26 linesDownload Raw Back to parsers
1#include "parsers.h"2 3#include "log.h"4 5void foreach_function(const json & tools, const std::function<void(const json &)> & fn) {6    for (const auto & tool : tools) {7        if (!tool.contains("type") || tool.at("type") != "function" || !tool.contains("function")) {8            LOG_INF("Skipping tool without function: %s", tool.dump(2).c_str());9            continue;10        }11        fn(tool);12    }13}14 15void foreach_parameter(const json & function, const std::function<void(const common_chat_schema_property &, const common_chat_schema_document_ptr &)> & fn) {16    auto         params = common_chat_tool_parameters(function);17    auto         doc    = std::make_shared<const common_chat_schema_document>(common_chat_schema_from_json(params));18    const auto * object = dynamic_cast<const common_chat_schema_object *>(doc->root.get());19    if (!object) {20        return;21    }22    for (const auto & prop : object->properties) {23        fn(prop, doc);24    }25}26