File tree Expand file tree Collapse file tree 3 files changed +46
-0
lines changed
Expand file tree Collapse file tree 3 files changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,8 @@ const entrypoints = {
101101 "retrievers/supabase" : "retrievers/supabase" ,
102102 "retrievers/metal" : "retrievers/metal" ,
103103 "retrievers/databerry" : "retrievers/databerry" ,
104+ "retrievers/contextual_compression" : "retrievers/contextual_compression" ,
105+ "retrievers/document_compressors" : "retrievers/document_compressors/index" ,
104106 // cache
105107 cache : "cache/index" ,
106108 "cache/redis" : "cache/redis" ,
Original file line number Diff line number Diff line change 1+ import { BaseDocumentCompressor } from "./document_compressors/index.js" ;
2+ import { Document } from "../document.js" ;
3+ import { BaseRetriever } from "../schema/index.js" ;
4+
5+ export interface ContextualCompressionRetrieverArgs {
6+ baseCompressor : BaseDocumentCompressor ;
7+ baseRetriever : BaseRetriever ;
8+ }
9+
10+ export class ContextualCompressionRetriever extends BaseRetriever {
11+ baseCompressor : BaseDocumentCompressor ;
12+
13+ baseRetriever : BaseRetriever ;
14+
15+ constructor ( {
16+ baseCompressor,
17+ baseRetriever,
18+ } : ContextualCompressionRetrieverArgs ) {
19+ super ( ) ;
20+
21+ this . baseCompressor = baseCompressor ;
22+ this . baseRetriever = baseRetriever ;
23+ }
24+
25+ async getRelevantDocuments ( query : string ) : Promise < Document [ ] > {
26+ const docs = await this . baseRetriever . getRelevantDocuments ( query ) ;
27+ const compressedDocs = await this . baseCompressor . compressDocuments (
28+ docs ,
29+ query
30+ ) ;
31+ return compressedDocs ;
32+ }
33+ }
Original file line number Diff line number Diff line change 1+ import { Document } from "../../document.js" ;
2+
3+ /**
4+ * Base Document Compression class. All compressors should extend this class.
5+ */
6+ export abstract class BaseDocumentCompressor {
7+ abstract compressDocuments (
8+ documents : Document [ ] ,
9+ query : string
10+ ) : Promise < Document [ ] > ;
11+ }
You can’t perform that action at this time.
0 commit comments