knowledge/fact_validation.hpp¶
Post-generation fact checking against Grokipedia (PTDS §8.3) More...
Namespaces¶
| Name |
|---|
| sgns |
| sgns::neoswarm |
| sgns::neoswarm::knowledge |
Classes¶
| Name | |
|---|---|
| class | sgns::neoswarm::knowledge::FactValidation Checks factual claims in generated output against Grokipedia. |
| struct | sgns::neoswarm::knowledge::FactValidation::ValidationResult |
Detailed Description¶
Post-generation fact checking against Grokipedia (PTDS §8.3)
Date: 2026-05-06
Source code¶
#ifndef NEOSWARM_KNOWLEDGE_FACTVALIDATION_HPP
#define NEOSWARM_KNOWLEDGE_FACTVALIDATION_HPP
#include "knowledge_retrieval.hpp"
#include "common/types.hpp"
#include <memory>
#include <string>
#include <vector>
namespace sgns::neoswarm::knowledge
{
class FactValidation
{
public:
struct ValidationResult
{
bool passed_ = true;
float m_contradictionScore = 0.0f;
std::vector<std::string> m_contradictions;
std::string suggestion_;
};
explicit FactValidation( std::shared_ptr<KnowledgeRetrieval> retrieval );
ValidationResult Validate( const std::string& output, const std::vector<KnowledgeFact>& grounding_facts ) const;
bool IsAvailable() const;
private:
std::shared_ptr<KnowledgeRetrieval> retrieval_;
std::vector<std::pair<std::string, double>> ExtractNumericClaims( const std::string& text ) const;
bool Contradicts( double claim, const std::string& fact_content ) const;
};
} // namespace sgns::neoswarm::knowledge
#endif // NEOSWARM_KNOWLEDGE_FACTVALIDATION_HPP
Updated on 2026-07-25 at 22:56:57 +0000