ForestHub SDK 0.1.0
C++14 LLM SDK for PC and embedded platforms
Loading...
Searching...
No Matches
model.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (c) 2026 ForestHub. All rights reserved.
3// For commercial licensing, visit https://github.com/ForestHubAI/fh-sdk
4
5#ifndef FORESTHUB_CORE_MODEL_HPP
6#define FORESTHUB_CORE_MODEL_HPP
7
10
11#include <string>
12#include <vector>
13
15
16namespace foresthub {
17namespace core {
18
20using ProviderID = std::string;
21
23using ModelID = std::string;
24
26using ModelCapability = std::string;
27
29namespace capability {
30static constexpr const char* kChat = "chat";
31static constexpr const char* kFunctionCall = "function_call";
32static constexpr const char* kVision = "vision";
33static constexpr const char* kFineTuning = "fine_tuning";
34static constexpr const char* kReasoning = "reasoning";
35static constexpr const char* kClassification = "classification";
36static constexpr const char* kCode = "code";
37} // namespace capability
38
46
47} // namespace core
48} // namespace foresthub
49
50#endif // FORESTHUB_CORE_MODEL_HPP
Model capability identifiers.
static constexpr const char * kFineTuning
Model fine-tuning support.
Definition model.hpp:33
static constexpr const char * kChat
Basic conversational ability.
Definition model.hpp:30
static constexpr const char * kCode
Code generation and understanding.
Definition model.hpp:36
static constexpr const char * kReasoning
Chain-of-thought reasoning.
Definition model.hpp:34
static constexpr const char * kClassification
Text classification support.
Definition model.hpp:35
static constexpr const char * kFunctionCall
Tool/function calling support.
Definition model.hpp:31
static constexpr const char * kVision
Image understanding capability.
Definition model.hpp:32
Core abstractions: requests, responses, tools, input types, and provider interface.
std::string ModelID
Unique identifier for an LLM model.
Definition model.hpp:23
std::string ModelCapability
Capability string describing what a model can do.
Definition model.hpp:26
std::string ProviderID
Unique identifier for an LLM provider.
Definition model.hpp:20
Top-level namespace for the ForestHub SDK.
Minimal Optional<T> polyfill for C++14 compatibility.
Minimal Optional<T> polyfill for C++14 compatibility.
Definition optional.hpp:21
Metadata about an LLM model.
Definition model.hpp:40
ProviderID provider
Provider that hosts this model.
Definition model.hpp:42
std::vector< ModelCapability > capabilities
Supported capabilities (chat, vision, etc.).
Definition model.hpp:44
foresthub::Optional< int > max_tokens
Maximum context length, if known.
Definition model.hpp:43
ModelID id
Unique model identifier (e.g., "gpt-4o").
Definition model.hpp:41