@hazeljs/rag 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cohere.reranker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere.reranker.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/reranking/cohere.reranker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cohere_ai_1 = require("cohere-ai");
4
+ const cohere_reranker_1 = require("../../reranking/cohere.reranker");
5
+ // Mock cohere-ai module
6
+ jest.mock('cohere-ai', () => ({
7
+ CohereClient: jest.fn().mockImplementation(() => ({
8
+ rerank: jest.fn(),
9
+ })),
10
+ }), { virtual: true });
11
+ describe('CohereReranker', () => {
12
+ let reranker;
13
+ let mockCohereClient;
14
+ beforeEach(() => {
15
+ jest.clearAllMocks();
16
+ mockCohereClient = new cohere_ai_1.CohereClient();
17
+ reranker = new cohere_reranker_1.CohereReranker({ apiKey: 'test-key' });
18
+ // In actual implementation, this.client = new CohereClient
19
+ // We need to ensure reranker.client is the one we control
20
+ reranker.client = mockCohereClient;
21
+ });
22
+ it('reranks results using Cohere API', async () => {
23
+ const results = [
24
+ { id: '1', content: 'Apple is a fruit', score: 0.5, metadata: {} },
25
+ { id: '2', content: 'Banana is long', score: 0.4, metadata: {} },
26
+ ];
27
+ mockCohereClient.rerank.mockResolvedValue({
28
+ results: [
29
+ { index: 1, relevanceScore: 0.95 },
30
+ { index: 0, relevanceScore: 0.85 },
31
+ ],
32
+ });
33
+ const output = await reranker.rerank('Tell me about banana', results);
34
+ expect(output).toHaveLength(2);
35
+ expect(output[0].id).toBe('2'); // Banana index 1 moved to top
36
+ expect(output[0].score).toBe(0.95);
37
+ expect(output[1].id).toBe('1');
38
+ expect(output[1].score).toBe(0.85);
39
+ expect(mockCohereClient.rerank).toHaveBeenCalledWith(expect.objectContaining({
40
+ query: 'Tell me about banana',
41
+ documents: ['Apple is a fruit', 'Banana is long'],
42
+ }));
43
+ });
44
+ it('returns empty array if input results are empty', async () => {
45
+ const output = await reranker.rerank('query', []);
46
+ expect(output).toEqual([]);
47
+ expect(mockCohereClient.rerank).not.toHaveBeenCalled();
48
+ });
49
+ it('handles Cohere API errors gracefully', async () => {
50
+ mockCohereClient.rerank.mockRejectedValue(new Error('API Down'));
51
+ await expect(reranker.rerank('q', [{ id: '1', content: 'c', score: 1, metadata: {} }])).rejects.toThrow('Failed to rerank results using Cohere: Error: API Down');
52
+ });
53
+ it('uses default model and maxChunksPerDoc if not provided', () => {
54
+ const customReranker = new cohere_reranker_1.CohereReranker({ apiKey: 'k' });
55
+ expect(customReranker.model).toBe('rerank-english-v3.0');
56
+ expect(customReranker.maxChunksPerDoc).toBe(10);
57
+ });
58
+ it('uses custom model and maxChunksPerDoc if provided', () => {
59
+ const customReranker = new cohere_reranker_1.CohereReranker({
60
+ apiKey: 'k',
61
+ model: 'rerank-multilingual-v3.0',
62
+ maxChunksPerDoc: 5,
63
+ });
64
+ expect(customReranker.model).toBe('rerank-multilingual-v3.0');
65
+ expect(customReranker.maxChunksPerDoc).toBe(5);
66
+ });
67
+ });
68
+ //# sourceMappingURL=cohere.reranker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere.reranker.test.js","sourceRoot":"","sources":["../../../src/__tests__/reranking/cohere.reranker.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './decorators/embeddable.decorator';
11
11
  export * from './decorators/semantic-search.decorator';
12
12
  export * from './embeddings/openai-embeddings';
13
13
  export * from './embeddings/cohere-embeddings';
14
+ export * from './reranking/cohere.reranker';
14
15
  export * from './vector-stores/memory-vector-store';
15
16
  export * from './vector-stores/pinecone.store';
16
17
  export * from './vector-stores/qdrant.store';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAG7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,WAAW,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAG3C,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAG7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,WAAW,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAG3C,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -30,9 +30,10 @@ __exportStar(require("./rag.module"), exports);
30
30
  __exportStar(require("./decorators/rag.decorator"), exports);
31
31
  __exportStar(require("./decorators/embeddable.decorator"), exports);
32
32
  __exportStar(require("./decorators/semantic-search.decorator"), exports);
33
- // Embeddings
33
+ // Embeddings & Reranking
34
34
  __exportStar(require("./embeddings/openai-embeddings"), exports);
35
35
  __exportStar(require("./embeddings/cohere-embeddings"), exports);
36
+ __exportStar(require("./reranking/cohere.reranker"), exports);
36
37
  // Vector Stores
37
38
  __exportStar(require("./vector-stores/memory-vector-store"), exports);
38
39
  __exportStar(require("./vector-stores/pinecone.store"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,0CAAwB;AAExB,eAAe;AACf,iDAA+B;AAE/B,uBAAuB;AACvB,gDAA8B;AAC9B,+CAA6B;AAE7B,aAAa;AACb,6DAA2C;AAC3C,oEAAkD;AAClD,yEAAuD;AAEvD,aAAa;AACb,iEAA+C;AAC/C,iEAA+C;AAE/C,gBAAgB;AAChB,sEAAoD;AACpD,iEAA+C;AAC/C,+DAA6C;AAC7C,iEAA+C;AAC/C,+DAA6C;AAE7C,iBAAiB;AACjB,2EAAyD;AAEzD,mBAAmB;AACnB,4CAA0B;AAE1B,uBAAuB;AACvB,mDAAiC;AACjC,4DAA0C;AAC1C,0DAAwC;AAExC,QAAQ;AACR,qDAAmC;AAEnC,SAAS;AACT,2CAAyB;AACzB,6DAA2C;AAE3C,2DAA2D;AAC3D,4CAA0B;AAE1B,yEAAyE;AACzE,0CAAwB;AAExB,SAAS;AACT,gDAA4D;AAAnD,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE/B,gBAAgB;AAChB,uCAAuD;AAA9C,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,0CAAwB;AAExB,eAAe;AACf,iDAA+B;AAE/B,uBAAuB;AACvB,gDAA8B;AAC9B,+CAA6B;AAE7B,aAAa;AACb,6DAA2C;AAC3C,oEAAkD;AAClD,yEAAuD;AAEvD,yBAAyB;AACzB,iEAA+C;AAC/C,iEAA+C;AAC/C,8DAA4C;AAE5C,gBAAgB;AAChB,sEAAoD;AACpD,iEAA+C;AAC/C,+DAA6C;AAC7C,iEAA+C;AAC/C,+DAA6C;AAE7C,iBAAiB;AACjB,2EAAyD;AAEzD,mBAAmB;AACnB,4CAA0B;AAE1B,uBAAuB;AACvB,mDAAiC;AACjC,4DAA0C;AAC1C,0DAAwC;AAExC,QAAQ;AACR,qDAAmC;AAEnC,SAAS;AACT,2CAAyB;AACzB,6DAA2C;AAE3C,2DAA2D;AAC3D,4CAA0B;AAE1B,yEAAyE;AACzE,0CAAwB;AAExB,SAAS;AACT,gDAA4D;AAAnD,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE/B,gBAAgB;AAChB,uCAAuD;AAA9C,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rag-pipeline.d.ts","sourceRoot":"","sources":["../src/rag-pipeline.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAOjB,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW;IAMxD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,GAAE,sBAA2B,GAAG,WAAW;IAyD5D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0B5D;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IA8B/E;;OAEG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,EAC7B,QAAQ,GAAE,iBAAgD,GACzD,OAAO,CAAC,YAAY,EAAE,CAAC;IAgB1B;;;OAGG;YACW,eAAe;IA6D7B;;;OAGG;YACW,cAAc;IA4D5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;YACW,cAAc;IAU5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
1
+ {"version":3,"file":"rag-pipeline.d.ts","sourceRoot":"","sources":["../src/rag-pipeline.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAOjB,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW;IAMxD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,GAAE,sBAA2B,GAAG,WAAW;IAyD5D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0B5D;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IA8B/E;;OAEG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,EAC7B,QAAQ,GAAE,iBAAgD,GACzD,OAAO,CAAC,YAAY,EAAE,CAAC;IA8B1B;;;OAGG;YACW,eAAe;IA6D7B;;;OAGG;YACW,cAAc;IA4D5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;YACW,cAAc;IAU5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -131,16 +131,26 @@ class RAGPipeline {
131
131
  * Retrieve relevant documents
132
132
  */
133
133
  async retrieve(query, options = {}, strategy = types_1.RetrievalStrategy.SIMILARITY) {
134
+ let results;
134
135
  switch (strategy) {
135
136
  case types_1.RetrievalStrategy.SIMILARITY:
136
- return this.config.vectorStore.search(query, options);
137
+ results = await this.config.vectorStore.search(query, options);
138
+ break;
137
139
  case types_1.RetrievalStrategy.MMR:
138
- return this.retrieveWithMMR(query, options);
140
+ results = await this.retrieveWithMMR(query, options);
141
+ break;
139
142
  case types_1.RetrievalStrategy.HYBRID:
140
- return this.retrieveHybrid(query, options);
143
+ results = await this.retrieveHybrid(query, options);
144
+ break;
141
145
  default:
142
- return this.config.vectorStore.search(query, options);
146
+ results = await this.config.vectorStore.search(query, options);
147
+ break;
148
+ }
149
+ // Apply reranker if configured
150
+ if (this.config.reranker && results.length > 0) {
151
+ results = await this.config.reranker.rerank(query, results, options.topK || this.config.topK || 5);
143
152
  }
153
+ return results;
144
154
  }
145
155
  /**
146
156
  * Retrieve with Maximal Marginal Relevance (MMR)
@@ -1 +1 @@
1
- {"version":3,"file":"rag-pipeline.js","sourceRoot":"","sources":["../src/rag-pipeline.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mCAOiB;AACjB,2CAAsD;AACtD,sEAAkE;AAClE,sEAAkE;AAClE,6EAAwE;AACxE,sFAAiF;AA4BjF,MAAa,WAAW;IAMtB,YAAY,MAAiB,EAAE,WAAyB;QAFhD,gBAAW,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,CAAC,QAAgC,EAAE;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAE5C,6BAA6B;QAC7B,IAAI,iBAAiB,CAAC;QACtB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CACb,kDAAkD;wBAChD,+DAA+D,CAClE,CAAC;gBACJ,CAAC;gBACD,iBAAiB,GAAG,IAAI,oCAAgB,CAAC;oBACvC,MAAM;oBACN,KAAK,EAAE,KAAK,CAAC,cAAc;iBAC5B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CACb,kDAAkD;wBAChD,+DAA+D,CAClE,CAAC;gBACJ,CAAC;gBACD,iBAAiB,GAAG,IAAI,oCAAgB,CAAC;oBACvC,MAAM;oBACN,KAAK,EAAE,KAAK,CAAC,cAAc;iBAC5B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,uCAAiB,CAAC,iBAAiB,CAAC,CAAC;QAE7D,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI,+CAAqB,CAAC;YAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,GAAG;SACxC,CAAC,CAAC;QAEH,OAAO,IAAI,WAAW,CACpB;YACE,WAAW;YACX,iBAAiB;YACjB,YAAY;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;SACtB,EACD,KAAK,CAAC,GAAG,CACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAqB;QACtC,IAAI,aAAa,GAAG,SAAS,CAAC;QAE9B,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAEtE,kCAAkC;QAClC,MAAM,QAAQ,GAAmB,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,OAAO;iBAChB,WAAW,EAAE;iBACb,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;iBACxB,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAA2B,EAAE;QACtD,MAAM,EACJ,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,EAC5B,QAAQ,GAAG,yBAAiB,CAAC,UAAU,EACvC,SAAS,EACT,cAAc,GAAG,IAAI,EACrB,GAAG,aAAa,EACjB,GAAG,OAAO,CAAC;QAEZ,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEjF,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3C,yCAAyC;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,OAAO,CAAC,CAAC,2BAA2B;QAC/C,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO;YACP,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,KAAa,EACb,UAA2B,EAAE,EAC7B,WAA8B,yBAAiB,CAAC,UAAU;QAE1D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,yBAAiB,CAAC,UAAU;gBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAExD,KAAK,yBAAiB,CAAC,GAAG;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE9C,KAAK,yBAAiB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE7C;gBACE,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAC3B,KAAa,EACb,UAA2B,EAAE;QAE7B,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;QAE/C,iDAAiD;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YAC7D,GAAG,aAAa;YAChB,IAAI,EAAE,IAAI,GAAG,CAAC;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,2EAA2E;QAC3E,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjD,gBAAgB;QAChB,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,0CAA0C;QAE9D,OAAO,QAAQ,CAAC,MAAM,GAAG,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,SAAS,GAAG,CAAC,QAAQ,CAAC;YAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,SAAS;oBAAE,SAAS;gBAEnC,+BAA+B;gBAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;gBAElC,yDAAyD;gBACzD,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;oBACnC,IAAI,CAAC,WAAW,CAAC,SAAS;wBAAE,SAAS;oBACrC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;oBACrF,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBACtD,CAAC;gBAED,YAAY;gBACZ,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;gBAEnE,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;oBACzB,SAAS,GAAG,QAAQ,CAAC;oBACrB,OAAO,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,UAA2B,EAAE;QAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAEnD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YAChE,GAAG,OAAO;YACV,IAAI,EAAE,IAAI,GAAG,CAAC;SACf,CAAC,CAAC;QAEH,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAEzD,6BAA6B;QAC7B,MAAM,SAAS,GAAG,CAAC,KAA2C,EAAuB,EAAE;YACrF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,GAAG,EAAkB,CAAC;YACzD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAEhD,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC;QAE1B,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAyC,EAAE,CAAC;QAEvD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,GAAG,aAAa,GAAG,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAExC,wCAAwC;QACxC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,KAAK;aACT,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,QAAQ;gBAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAuB;QAC1C,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO,IAAI,GAAG,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QACrD,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAa;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF;AAtWD,kCAsWC"}
1
+ {"version":3,"file":"rag-pipeline.js","sourceRoot":"","sources":["../src/rag-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Cohere Reranker
3
+ *
4
+ * Uses Cohere's Rerank API to re-order search results by relevance to the query.
5
+ * This significantly improves RAG retrieval quality compared to pure vector search.
6
+ */
7
+ import { Reranker, SearchResult } from '../types';
8
+ export interface CohereRerankerConfig {
9
+ /** Cohere API Key */
10
+ apiKey: string;
11
+ /**
12
+ * The model to use.
13
+ * Default: rerank-english-v3.0
14
+ * Other options: rerank-multilingual-v3.0
15
+ */
16
+ model?: string;
17
+ /** Number of maximum chunks per document (defaults to 10) */
18
+ maxChunksPerDoc?: number;
19
+ }
20
+ export declare class CohereReranker implements Reranker {
21
+ private client;
22
+ private model;
23
+ private maxChunksPerDoc;
24
+ constructor(config: CohereRerankerConfig);
25
+ /**
26
+ * Reranks SearchResult objects based on how relevant they are to the given query.
27
+ *
28
+ * @param query The user's search query
29
+ * @param results The potentially relevant documents (e.g. from a vector store)
30
+ * @param topN How many top results to return (defaults to all returned results)
31
+ */
32
+ rerank(query: string, results: SearchResult[], topN?: number): Promise<SearchResult[]>;
33
+ }
34
+ //# sourceMappingURL=cohere.reranker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere.reranker.d.ts","sourceRoot":"","sources":["../../src/reranking/cohere.reranker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKlD,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,EAAE,oBAAoB;IASxC;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAmC7F"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * Cohere Reranker
4
+ *
5
+ * Uses Cohere's Rerank API to re-order search results by relevance to the query.
6
+ * This significantly improves RAG retrieval quality compared to pure vector search.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CohereReranker = void 0;
10
+ class CohereReranker {
11
+ constructor(config) {
12
+ // Dynamically require to avoid hard peer dependency
13
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
14
+ const { CohereClient } = require('cohere-ai');
15
+ this.client = new CohereClient({ token: config.apiKey });
16
+ this.model = config.model || 'rerank-english-v3.0';
17
+ this.maxChunksPerDoc = config.maxChunksPerDoc || 10;
18
+ }
19
+ /**
20
+ * Reranks SearchResult objects based on how relevant they are to the given query.
21
+ *
22
+ * @param query The user's search query
23
+ * @param results The potentially relevant documents (e.g. from a vector store)
24
+ * @param topN How many top results to return (defaults to all returned results)
25
+ */
26
+ async rerank(query, results, topN) {
27
+ if (!results || results.length === 0) {
28
+ return [];
29
+ }
30
+ // Prepare documents for Cohere API (must be strings or objects with text)
31
+ const documents = results.map((r) => r.content);
32
+ try {
33
+ const response = await this.client.rerank({
34
+ model: this.model,
35
+ query,
36
+ documents,
37
+ topN: topN || results.length,
38
+ maxChunksPerDoc: this.maxChunksPerDoc,
39
+ returnDocuments: false, // We already have the documents in `results` array
40
+ });
41
+ // The response returns items with indices and relevance scores
42
+ // Re-map the newly scored results back to our SearchResult format
43
+ const reranked = response.results.map((item) => {
44
+ const originalResult = results[item.index];
45
+ return {
46
+ ...originalResult,
47
+ score: item.relevanceScore, // Override with the superior rerank score
48
+ };
49
+ });
50
+ return reranked;
51
+ }
52
+ catch (error) {
53
+ throw new Error(`Failed to rerank results using Cohere: ${error}`);
54
+ }
55
+ }
56
+ }
57
+ exports.CohereReranker = CohereReranker;
58
+ //# sourceMappingURL=cohere.reranker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere.reranker.js","sourceRoot":"","sources":["../../src/reranking/cohere.reranker.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAoBH,MAAa,cAAc;IAKzB,YAAY,MAA4B;QACtC,oDAAoD;QACpD,iEAAiE;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAuB,EAAE,IAAa;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,0EAA0E;QAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACxC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK;gBACL,SAAS;gBACT,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM;gBAC5B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,eAAe,EAAE,KAAK,EAAE,mDAAmD;aAC5E,CAAC,CAAC;YAEH,+DAA+D;YAC/D,kEAAkE;YAClE,MAAM,QAAQ,GAAmB,QAAQ,CAAC,OAAO,CAAC,GAAG,CACnD,CAAC,IAA+C,EAAE,EAAE;gBAClD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,OAAO;oBACL,GAAG,cAAc;oBACjB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,0CAA0C;iBACvE,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAxDD,wCAwDC"}
@@ -112,6 +112,7 @@ export interface DocumentLoader {
112
112
  export interface RAGConfig {
113
113
  vectorStore: VectorStore;
114
114
  embeddingProvider: EmbeddingProvider;
115
+ reranker?: Reranker;
115
116
  textSplitter?: TextSplitter;
116
117
  chunkSize?: number;
117
118
  chunkOverlap?: number;
@@ -141,4 +142,13 @@ export interface RAGResponse {
141
142
  sources: SearchResult[];
142
143
  context: string;
143
144
  }
145
+ /**
146
+ * Reranker interface
147
+ */
148
+ export interface Reranker {
149
+ /**
150
+ * Rerank search results based on a query
151
+ */
152
+ rerank(query: string, results: SearchResult[], topN?: number): Promise<SearchResult[]>;
153
+ }
144
154
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwIH;;GAEG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,8CAAyB,CAAA;IACzB,gCAAW,CAAA;IACX,sCAAiB,CAAA;AACnB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAyIH;;GAEG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,8CAAyB,CAAA;IACzB,gCAAW,CAAA;IACX,sCAAiB,CAAA;AACnB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hazeljs/rag",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Retrieval-Augmented Generation (RAG) and vector search for HazelJS framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,7 +25,7 @@
25
25
  "clean": "rm -rf dist"
26
26
  },
27
27
  "dependencies": {
28
- "@hazeljs/prompts": "^0.3.0",
28
+ "@hazeljs/prompts": "^0.3.1",
29
29
  "reflect-metadata": "^0.2.1"
30
30
  },
31
31
  "peerDependencies": {
@@ -121,7 +121,7 @@
121
121
  }
122
122
  },
123
123
  "devDependencies": {
124
- "@hazeljs/memory": "^0.3.0",
124
+ "@hazeljs/memory": "^0.3.1",
125
125
  "@types/node": "^20.17.50",
126
126
  "@typescript-eslint/eslint-plugin": "^8.18.2",
127
127
  "@typescript-eslint/parser": "^8.18.2",
@@ -159,5 +159,5 @@
159
159
  "url": "https://github.com/hazeljs/hazel-js/issues"
160
160
  },
161
161
  "homepage": "https://hazeljs.ai",
162
- "gitHead": "14c91213d93aa7eb907cb71b1d7104ddc4556327"
162
+ "gitHead": "db6df492988e5d7b03253a98977c71c7a4540e1c"
163
163
  }