UNPKG

@juspay/neurolink

Version:

The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002

67 lines (66 loc) • 2.07 kB
/** * @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>;