specialists/math_specialist.hpp¶
GSM8K-tuned math specialist model (PTDS §5.2) More...
Namespaces¶
| Name |
|---|
| sgns |
| sgns::neoswarm |
| sgns::neoswarm::specialists |
Classes¶
| Name | |
|---|---|
| class | sgns::neoswarm::specialists::MathSpecialist 1–3B parameter GSM8K-tuned math model (PTDS §5.2). |
Detailed Description¶
GSM8K-tuned math specialist model (PTDS §5.2)
Date: 2026-05-06
Source code¶
#ifndef NEOSWARM_SPECIALISTS_MATHSPECIALIST_HPP
#define NEOSWARM_SPECIALISTS_MATHSPECIALIST_HPP
#include "i_specialist.hpp"
#include "symbolic_fallback.hpp"
#include "core/engine/inference_engine.hpp"
#include <memory>
#include <optional>
namespace sgns::neoswarm::specialists
{
class MathSpecialist : public ISpecialist
{
public:
explicit MathSpecialist( std::shared_ptr<core::InferenceEngine> engine = nullptr );
std::string GetName() const override
{
return "MathSpecialist";
}
bool IsLoaded() const override
{
return m_loaded;
}
outcome::result<void> Load( const std::string& model_path ) override;
outcome::result<std::string> Process( const std::string& input ) override;
float GetConfidence() const override
{
return last_confidence_;
}
private:
std::shared_ptr<core::InferenceEngine> m_engine;
bool m_loaded = false;
float last_confidence_ = 0.0f;
std::string BuildPrompt( const std::string& input ) const;
std::optional<std::string> TrySymbolicFallback( const std::string& input ) const;
};
} // namespace sgns::neoswarm::specialists
#endif // NEOSWARM_SPECIALISTS_MATHSPECIALIST_HPP
Updated on 2026-07-25 at 22:56:57 +0000