@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
67 lines (66 loc) • 2.07 kB
TypeScript
/**
* @file Keyword Coverage Scorer
* Evaluates how well the response covers expected keywords or topics
*/
import type { KeywordCoverageConfig, ScoreResult, ScorerInput, ScorerRule } from "../../../types/index.js";
import { BaseRuleScorer } from "./baseRuleScorer.js";
/**
* KeywordCoverageScorer evaluates how well a response covers expected keywords
*/
export declare class KeywordCoverageScorer extends BaseRuleScorer {
private _keywordConfig;
private _dynamicRules;
constructor(config?: KeywordCoverageConfig);
/**
* Build scorer rules from keyword configuration
*/
private _buildRulesFromKeywords;
/**
* Build scorer rules from a keyword list without mutating instance state.
* Returns rules directly so callers can use them locally.
*/
private _buildRulesFromKeywordsList;
/**
* Get keyword-specific configuration
*/
get keywordConfig(): KeywordCoverageConfig;
/**
* Get rules for this scorer
*/
getRules(): ScorerRule[];
/**
* Set keywords dynamically
*/
setKeywords(keywords: string[], weights?: Record<string, number>): void;
/**
* Extract keywords from context or ground truth if not provided
*/
private _extractKeywordsFromInput;
/**
* Extract important words from text (simple extraction)
*/
private _extractImportantWords;
/**
* Evaluate a single keyword rule
*/
evaluateRule(rule: ScorerRule, input: ScorerInput): {
passed: boolean;
score: number;
};
/**
* Check if a keyword is present in text
*/
private _checkKeywordPresence;
/**
* Override score to handle dynamic keyword extraction
*/
score(input: ScorerInput): Promise<ScoreResult>;
/**
* Calculate detailed coverage information
*/
private _calculateCoverageDetails;
}
/**
* Factory function for creating KeywordCoverageScorer instances
*/
export declare function createKeywordCoverageScorer(config?: KeywordCoverageConfig): Promise<KeywordCoverageScorer>;