UNPKG

@roadiehq/rag-ai-backend-retrieval-augmenter

Version:

39 lines (35 loc) 1.16 kB
'use strict'; var CombiningPostProcessor = require('./postProcessors/CombiningPostProcessor.cjs.js'); class DefaultRetrievalPipeline { routers; retrievers; postProcessors; constructor({ routers, retrievers, postProcessors }) { this.routers = routers ?? []; this.retrievers = retrievers ?? []; this.postProcessors = postProcessors ?? [new CombiningPostProcessor.CombiningPostProcessor()]; } async retrieveAugmentationContext(query, source, filter) { const routedRetrievers = (await Promise.all( this.routers.map((router) => router.determineRetriever(query, source)) )).flat(); const augmentations = /* @__PURE__ */ new Map(); for (const retriever of [...this.retrievers, ...routedRetrievers]) { augmentations.set( retriever.id, await retriever.retrieve(query, source, filter) ); } return (await Promise.all( this.postProcessors.map( (postProcessor) => postProcessor.process(query, source, augmentations) ) )).flat(); } } exports.DefaultRetrievalPipeline = DefaultRetrievalPipeline; //# sourceMappingURL=DefaultRetrievalPipeline.cjs.js.map