import { PromptTemplate, PromptMixin, ModuleRecord } from '@llamaindex/core/prompts'; import { QueryType } from '@llamaindex/core/query-engine'; import { EngineResponse } from '@llamaindex/core/schema'; declare const defaultUserPrompt: PromptTemplate; type UserPrompt = PromptTemplate<[ "query", "referenceAnswer", "generatedAnswer" ]>; declare const defaultCorrectnessSystemPrompt: CorrectnessSystemPrompt; type CorrectnessSystemPrompt = PromptTemplate<[]>; declare const defaultFaithfulnessRefinePrompt: PromptTemplate; type FaithfulnessRefinePrompt = PromptTemplate<[ "query", "existingAnswer", "context" ]>; declare const defaultFaithfulnessTextQaPrompt: PromptTemplate; type FaithfulnessTextQAPrompt = PromptTemplate<["query", "context"]>; type RelevancyEvalPrompt = PromptTemplate<["context", "query"]>; declare const defaultRelevancyEvalPrompt: PromptTemplate; declare const defaultRelevancyRefinePrompt: PromptTemplate; type RelevancyRefinePrompt = PromptTemplate<[ "query", "existingAnswer", "contextMsg" ]>; type EvaluationResult = { query?: QueryType; contexts?: string[]; response: string | null; score: number; scoreSecondary?: number; scoreSecondaryType?: string; meta?: any; passing: boolean; feedback: string; }; type EvaluatorParams = { query: QueryType; response: string; contexts?: string[]; reference?: string; sleepTimeInSeconds?: number; }; type EvaluatorResponseParams = { query: QueryType; response: EngineResponse; }; interface BaseEvaluator { evaluate(params: EvaluatorParams): Promise; evaluateResponse?(params: EvaluatorResponseParams): Promise; } type CorrectnessParams = { scoreThreshold?: number; parserFunction?: (str: string) => [number, string]; }; /** Correctness Evaluator */ declare class CorrectnessEvaluator extends PromptMixin implements BaseEvaluator { private scoreThreshold; private parserFunction; private llm; private correctnessPrompt; constructor(params?: CorrectnessParams); protected _getPrompts(): { correctnessPrompt: CorrectnessSystemPrompt; }; protected _getPromptModules(): {}; protected _updatePrompts(prompts: { correctnessPrompt: CorrectnessSystemPrompt; }): void; /** * * @param query Query to evaluate * @param response Response to evaluate * @param contexts Array of contexts * @param reference Reference response */ evaluate({ query, response, contexts, reference, }: EvaluatorParams): Promise; /** * @param query Query to evaluate * @param response Response to evaluate */ evaluateResponse({ query, response, }: EvaluatorResponseParams): Promise; } declare class FaithfulnessEvaluator extends PromptMixin implements BaseEvaluator { private raiseError; private evalTemplate; private refineTemplate; constructor(params?: { raiseError?: boolean | undefined; faithfulnessSystemPrompt?: FaithfulnessTextQAPrompt | undefined; faithFulnessRefinePrompt?: FaithfulnessRefinePrompt | undefined; }); protected _getPromptModules(): ModuleRecord; protected _getPrompts(): { [x: string]: any; }; protected _updatePrompts(promptsDict: { faithfulnessSystemPrompt: FaithfulnessTextQAPrompt; faithFulnessRefinePrompt: FaithfulnessRefinePrompt; }): void; /** * @param query Query to evaluate * @param response Response to evaluate * @param contexts Array of contexts * @param reference Reference response * @param sleepTimeInSeconds Sleep time in seconds */ evaluate({ query, response, contexts, reference, sleepTimeInSeconds, }: EvaluatorParams): Promise; /** * @param query Query to evaluate * @param response Response to evaluate */ evaluateResponse({ query, response, }: EvaluatorResponseParams): Promise; } type RelevancyParams = { raiseError?: boolean | undefined; evalTemplate?: RelevancyEvalPrompt | undefined; refineTemplate?: RelevancyRefinePrompt | undefined; }; declare class RelevancyEvaluator extends PromptMixin implements BaseEvaluator { private raiseError; private evalTemplate; private refineTemplate; constructor(params?: RelevancyParams); protected _getPromptModules(): ModuleRecord; _getPrompts(): { evalTemplate: RelevancyEvalPrompt; refineTemplate: RelevancyRefinePrompt; }; _updatePrompts(prompts: { evalTemplate: RelevancyEvalPrompt; refineTemplate: RelevancyRefinePrompt; }): void; evaluate({ query, response, contexts, sleepTimeInSeconds, }: EvaluatorParams): Promise; /** * @param query Query to evaluate * @param response Response to evaluate */ evaluateResponse({ query, response, }: EvaluatorResponseParams): Promise; } declare const defaultEvaluationParser: (evalResponse: string) => [number, string]; export { CorrectnessEvaluator, FaithfulnessEvaluator, RelevancyEvaluator, defaultCorrectnessSystemPrompt, defaultEvaluationParser, defaultFaithfulnessRefinePrompt, defaultFaithfulnessTextQaPrompt, defaultRelevancyEvalPrompt, defaultRelevancyRefinePrompt, defaultUserPrompt }; export type { CorrectnessSystemPrompt, FaithfulnessRefinePrompt, FaithfulnessTextQAPrompt, RelevancyEvalPrompt, RelevancyRefinePrompt, UserPrompt };