/** * Retrievers under test, including the deliberately weak baselines. * * The weak baselines exist to answer one question the headline number cannot: * how much of our score is the retrieval stack, and how much is a golden set * so easy that keyword matching nearly solves it? A small gap between * `bm25-only` and the real stack means the SET is uninformative, not that the * stack is good. See Requirement C in the item-0 brief. * * @module v1/cli/knowledge/eval/retrievers */ export interface EvalChunk { docId: string; chunkIndex: number; text: string; } export interface RawHit { docId: string; chunkIndex: number; score: number; } export interface Retriever { name: string; description: string; /** Must not make network calls. Returns chunk-level hits, best-first. */ search(query: string, limit: number): Promise; } export declare class Bm25Retriever implements Retriever { private chunks; name: string; description: string; private docs; private df; private avgLen; constructor(chunks: EvalChunk[]); search(query: string, limit: number): Promise; } export declare class RandomRetriever implements Retriever { private seed; name: string; description: string; private docIds; constructor(chunks: EvalChunk[], seed?: string); search(query: string, limit: number): Promise; } /** Wraps an arbitrary async search function (the real stack) as a Retriever. */ export declare class FnRetriever implements Retriever { name: string; description: string; private fn; constructor(name: string, description: string, fn: (query: string, limit: number) => Promise); search(query: string, limit: number): Promise; } export declare class RrfRetriever implements Retriever { private children; /** RRF smoothing constant. Standard values: 10–100. */ private rrfK; name: string; description: string; constructor(children: Retriever[], /** RRF smoothing constant. Standard values: 10–100. */ rrfK: number, name?: string); search(query: string, limit: number): Promise; } //# sourceMappingURL=retrievers.d.ts.map