@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
82 lines (81 loc) • 2.37 kB
TypeScript
/**
* @file Content Similarity Scorer
* Evaluates text similarity using various metrics (Jaccard, cosine, Levenshtein)
*/
import type { ContentSimilarityConfig, ScoreResult, ScorerInput } from "../../../types/index.js";
import { BaseScorer } from "../baseScorer.js";
/**
* ContentSimilarityScorer evaluates how similar the response is to a reference text
*/
export declare class ContentSimilarityScorer extends BaseScorer {
private _similarityConfig;
constructor(config?: ContentSimilarityConfig);
/**
* Get similarity-specific configuration
*/
get similarityConfig(): ContentSimilarityConfig;
/**
* Get reference text based on configuration
*/
private _getReferenceText;
/**
* Calculate similarity between two texts
*/
private _calculateSimilarity;
/**
* Normalize text for comparison
*/
private _normalizeText;
/**
* Tokenize text based on configuration
*/
private _tokenize;
/**
* Calculate Jaccard similarity coefficient
* J(A,B) = |A ∩ B| / |A ∪ B|
*/
private _jaccardSimilarity;
/**
* Calculate cosine similarity using term frequency vectors
*/
private _cosineSimilarity;
/**
* Get term frequency map
*/
private _getTermFrequency;
/**
* Calculate normalized Levenshtein similarity
* Returns 1 - (edit_distance / max_length)
*/
private _levenshteinSimilarity;
/**
* Calculate Levenshtein edit distance using space-optimized two-row DP
*/
private _levenshteinDistance;
/**
* Calculate Dice coefficient (Sorensen-Dice)
* DSC(A,B) = 2|A ∩ B| / (|A| + |B|)
*/
private _diceSimilarity;
/**
* Calculate overlap coefficient
* O(A,B) = |A ∩ B| / min(|A|, |B|)
*/
private _overlapCoefficient;
/**
* Override score to add detailed similarity metrics
*/
score(input: ScorerInput): Promise<ScoreResult>;
/**
* Combine multiple metric scores
*/
private _combineMetricScores;
/**
* Generate reasoning from similarity details
*/
private _generateSimilarityReasoning;
}
/**
* Factory function for creating ContentSimilarityScorer instances
*/
export declare function createContentSimilarityScorer(config?: ContentSimilarityConfig): Promise<ContentSimilarityScorer>;