@hazeljs/rag 0.2.0-beta.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.
- package/README.md +379 -0
- package/dist/agentic/agentic-rag.service.d.ts +49 -0
- package/dist/agentic/agentic-rag.service.d.ts.map +1 -0
- package/dist/agentic/agentic-rag.service.js +149 -0
- package/dist/agentic/agentic-rag.service.js.map +1 -0
- package/dist/agentic/decorators/active-learning.decorator.d.ts +19 -0
- package/dist/agentic/decorators/active-learning.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/active-learning.decorator.js +98 -0
- package/dist/agentic/decorators/active-learning.decorator.js.map +1 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts +16 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.js +114 -0
- package/dist/agentic/decorators/adaptive-retrieval.decorator.js.map +1 -0
- package/dist/agentic/decorators/cached.decorator.d.ts +18 -0
- package/dist/agentic/decorators/cached.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/cached.decorator.js +93 -0
- package/dist/agentic/decorators/cached.decorator.js.map +1 -0
- package/dist/agentic/decorators/context-aware.decorator.d.ts +16 -0
- package/dist/agentic/decorators/context-aware.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/context-aware.decorator.js +169 -0
- package/dist/agentic/decorators/context-aware.decorator.js.map +1 -0
- package/dist/agentic/decorators/corrective-rag.decorator.d.ts +15 -0
- package/dist/agentic/decorators/corrective-rag.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/corrective-rag.decorator.js +146 -0
- package/dist/agentic/decorators/corrective-rag.decorator.js.map +1 -0
- package/dist/agentic/decorators/hyde.decorator.d.ts +14 -0
- package/dist/agentic/decorators/hyde.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/hyde.decorator.js +90 -0
- package/dist/agentic/decorators/hyde.decorator.js.map +1 -0
- package/dist/agentic/decorators/index.d.ts +16 -0
- package/dist/agentic/decorators/index.d.ts.map +1 -0
- package/dist/agentic/decorators/index.js +32 -0
- package/dist/agentic/decorators/index.js.map +1 -0
- package/dist/agentic/decorators/multi-hop.decorator.d.ts +14 -0
- package/dist/agentic/decorators/multi-hop.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/multi-hop.decorator.js +120 -0
- package/dist/agentic/decorators/multi-hop.decorator.js.map +1 -0
- package/dist/agentic/decorators/query-planner.decorator.d.ts +19 -0
- package/dist/agentic/decorators/query-planner.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/query-planner.decorator.js +227 -0
- package/dist/agentic/decorators/query-planner.decorator.js.map +1 -0
- package/dist/agentic/decorators/query-rewriter.decorator.d.ts +15 -0
- package/dist/agentic/decorators/query-rewriter.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/query-rewriter.decorator.js +140 -0
- package/dist/agentic/decorators/query-rewriter.decorator.js.map +1 -0
- package/dist/agentic/decorators/self-reflective.decorator.d.ts +18 -0
- package/dist/agentic/decorators/self-reflective.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/self-reflective.decorator.js +210 -0
- package/dist/agentic/decorators/self-reflective.decorator.js.map +1 -0
- package/dist/agentic/decorators/source-verification.decorator.d.ts +15 -0
- package/dist/agentic/decorators/source-verification.decorator.d.ts.map +1 -0
- package/dist/agentic/decorators/source-verification.decorator.js +121 -0
- package/dist/agentic/decorators/source-verification.decorator.js.map +1 -0
- package/dist/agentic/index.d.ts +9 -0
- package/dist/agentic/index.d.ts.map +1 -0
- package/dist/agentic/index.js +25 -0
- package/dist/agentic/index.js.map +1 -0
- package/dist/agentic/types.d.ts +209 -0
- package/dist/agentic/types.d.ts.map +1 -0
- package/dist/agentic/types.js +7 -0
- package/dist/agentic/types.js.map +1 -0
- package/dist/decorators/embeddable.decorator.d.ts +31 -0
- package/dist/decorators/embeddable.decorator.d.ts.map +1 -0
- package/dist/decorators/embeddable.decorator.js +44 -0
- package/dist/decorators/embeddable.decorator.js.map +1 -0
- package/dist/decorators/rag.decorator.d.ts +58 -0
- package/dist/decorators/rag.decorator.d.ts.map +1 -0
- package/dist/decorators/rag.decorator.js +78 -0
- package/dist/decorators/rag.decorator.js.map +1 -0
- package/dist/decorators/semantic-search.decorator.d.ts +69 -0
- package/dist/decorators/semantic-search.decorator.d.ts.map +1 -0
- package/dist/decorators/semantic-search.decorator.js +116 -0
- package/dist/decorators/semantic-search.decorator.js.map +1 -0
- package/dist/embeddings/cohere-embeddings.d.ts +33 -0
- package/dist/embeddings/cohere-embeddings.d.ts.map +1 -0
- package/dist/embeddings/cohere-embeddings.js +91 -0
- package/dist/embeddings/cohere-embeddings.js.map +1 -0
- package/dist/embeddings/openai-embeddings.d.ts +21 -0
- package/dist/embeddings/openai-embeddings.d.ts.map +1 -0
- package/dist/embeddings/openai-embeddings.js +53 -0
- package/dist/embeddings/openai-embeddings.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/index.d.ts +11 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +31 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +96 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/memory/memory-manager.js +369 -0
- package/dist/memory/memory-manager.js.map +1 -0
- package/dist/memory/memory-store.interface.d.ts +73 -0
- package/dist/memory/memory-store.interface.d.ts.map +1 -0
- package/dist/memory/memory-store.interface.js +6 -0
- package/dist/memory/memory-store.interface.js.map +1 -0
- package/dist/memory/stores/buffer-memory.d.ts +47 -0
- package/dist/memory/stores/buffer-memory.d.ts.map +1 -0
- package/dist/memory/stores/buffer-memory.js +280 -0
- package/dist/memory/stores/buffer-memory.js.map +1 -0
- package/dist/memory/stores/hybrid-memory.d.ts +49 -0
- package/dist/memory/stores/hybrid-memory.d.ts.map +1 -0
- package/dist/memory/stores/hybrid-memory.js +194 -0
- package/dist/memory/stores/hybrid-memory.js.map +1 -0
- package/dist/memory/stores/vector-memory.d.ts +48 -0
- package/dist/memory/stores/vector-memory.d.ts.map +1 -0
- package/dist/memory/stores/vector-memory.js +312 -0
- package/dist/memory/stores/vector-memory.js.map +1 -0
- package/dist/memory/types.d.ts +119 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +18 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/rag-pipeline-with-memory.d.ts +68 -0
- package/dist/rag-pipeline-with-memory.d.ts.map +1 -0
- package/dist/rag-pipeline-with-memory.js +186 -0
- package/dist/rag-pipeline-with-memory.js.map +1 -0
- package/dist/rag-pipeline.d.ts +59 -0
- package/dist/rag-pipeline.d.ts.map +1 -0
- package/dist/rag-pipeline.js +181 -0
- package/dist/rag-pipeline.js.map +1 -0
- package/dist/rag.module.d.ts +26 -0
- package/dist/rag.module.d.ts.map +1 -0
- package/dist/rag.module.js +40 -0
- package/dist/rag.module.js.map +1 -0
- package/dist/rag.service.d.ts +95 -0
- package/dist/rag.service.d.ts.map +1 -0
- package/dist/rag.service.js +174 -0
- package/dist/rag.service.js.map +1 -0
- package/dist/retrieval/bm25.d.ts +57 -0
- package/dist/retrieval/bm25.d.ts.map +1 -0
- package/dist/retrieval/bm25.js +106 -0
- package/dist/retrieval/bm25.js.map +1 -0
- package/dist/retrieval/hybrid-search.d.ts +48 -0
- package/dist/retrieval/hybrid-search.d.ts.map +1 -0
- package/dist/retrieval/hybrid-search.js +123 -0
- package/dist/retrieval/hybrid-search.js.map +1 -0
- package/dist/retrieval/multi-query.d.ts +38 -0
- package/dist/retrieval/multi-query.d.ts.map +1 -0
- package/dist/retrieval/multi-query.js +135 -0
- package/dist/retrieval/multi-query.js.map +1 -0
- package/dist/text-splitters/recursive-text-splitter.d.ts +21 -0
- package/dist/text-splitters/recursive-text-splitter.d.ts.map +1 -0
- package/dist/text-splitters/recursive-text-splitter.js +95 -0
- package/dist/text-splitters/recursive-text-splitter.js.map +1 -0
- package/dist/types/index.d.ts +144 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/similarity.d.ts +16 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/dist/utils/similarity.js +58 -0
- package/dist/utils/similarity.js.map +1 -0
- package/dist/vector-stores/chroma.store.d.ts +42 -0
- package/dist/vector-stores/chroma.store.d.ts.map +1 -0
- package/dist/vector-stores/chroma.store.js +242 -0
- package/dist/vector-stores/chroma.store.js.map +1 -0
- package/dist/vector-stores/memory-vector-store.d.ts +20 -0
- package/dist/vector-stores/memory-vector-store.d.ts.map +1 -0
- package/dist/vector-stores/memory-vector-store.js +94 -0
- package/dist/vector-stores/memory-vector-store.js.map +1 -0
- package/dist/vector-stores/pinecone.store.d.ts +34 -0
- package/dist/vector-stores/pinecone.store.d.ts.map +1 -0
- package/dist/vector-stores/pinecone.store.js +146 -0
- package/dist/vector-stores/pinecone.store.js.map +1 -0
- package/dist/vector-stores/qdrant.store.d.ts +31 -0
- package/dist/vector-stores/qdrant.store.d.ts.map +1 -0
- package/dist/vector-stores/qdrant.store.js +173 -0
- package/dist/vector-stores/qdrant.store.js.map +1 -0
- package/dist/vector-stores/weaviate.store.d.ts +37 -0
- package/dist/vector-stores/weaviate.store.d.ts.map +1 -0
- package/dist/vector-stores/weaviate.store.js +226 -0
- package/dist/vector-stores/weaviate.store.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic Search Decorators
|
|
3
|
+
* Enable semantic search capabilities on methods
|
|
4
|
+
*/
|
|
5
|
+
import 'reflect-metadata';
|
|
6
|
+
export interface SemanticSearchOptions {
|
|
7
|
+
topK?: number;
|
|
8
|
+
minScore?: number;
|
|
9
|
+
includeMetadata?: boolean;
|
|
10
|
+
filter?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface HybridSearchOptions extends SemanticSearchOptions {
|
|
13
|
+
vectorWeight?: number;
|
|
14
|
+
keywordWeight?: number;
|
|
15
|
+
algorithm?: 'rrf' | 'weighted' | 'linear';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Enables semantic search on a method
|
|
19
|
+
*/
|
|
20
|
+
export declare function SemanticSearch(options?: SemanticSearchOptions): MethodDecorator;
|
|
21
|
+
/**
|
|
22
|
+
* Enables hybrid search (vector + keyword) on a method
|
|
23
|
+
*/
|
|
24
|
+
export declare function HybridSearch(options?: HybridSearchOptions): MethodDecorator;
|
|
25
|
+
/**
|
|
26
|
+
* Auto-embed decorator for automatic embedding generation
|
|
27
|
+
*/
|
|
28
|
+
export declare function AutoEmbed(_fields?: string[]): MethodDecorator;
|
|
29
|
+
/**
|
|
30
|
+
* Multi-query RAG decorator
|
|
31
|
+
*/
|
|
32
|
+
export declare function MultiQueryRAG(options?: {
|
|
33
|
+
queries?: number;
|
|
34
|
+
}): MethodDecorator;
|
|
35
|
+
/**
|
|
36
|
+
* Compress context decorator
|
|
37
|
+
*/
|
|
38
|
+
export declare function CompressContext(options?: {
|
|
39
|
+
maxTokens?: number;
|
|
40
|
+
}): MethodDecorator;
|
|
41
|
+
/**
|
|
42
|
+
* Self-query RAG with automatic metadata filtering
|
|
43
|
+
*/
|
|
44
|
+
export declare function SelfQueryRAG(): MethodDecorator;
|
|
45
|
+
/**
|
|
46
|
+
* Rerank results decorator
|
|
47
|
+
*/
|
|
48
|
+
export declare function Rerank(options?: {
|
|
49
|
+
model?: string;
|
|
50
|
+
topN?: number;
|
|
51
|
+
}): MethodDecorator;
|
|
52
|
+
/**
|
|
53
|
+
* Parent-child document retrieval
|
|
54
|
+
*/
|
|
55
|
+
export declare function ParentChildRetrieval(): MethodDecorator;
|
|
56
|
+
/**
|
|
57
|
+
* Ensemble retrieval combining multiple methods
|
|
58
|
+
*/
|
|
59
|
+
export declare function EnsembleRetrieval(options?: {
|
|
60
|
+
methods?: string[];
|
|
61
|
+
weights?: number[];
|
|
62
|
+
}): MethodDecorator;
|
|
63
|
+
/**
|
|
64
|
+
* Time-weighted retrieval favoring recent documents
|
|
65
|
+
*/
|
|
66
|
+
export declare function TimeWeightedRetrieval(options?: {
|
|
67
|
+
decayRate?: number;
|
|
68
|
+
}): MethodDecorator;
|
|
69
|
+
//# sourceMappingURL=semantic-search.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-search.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/semantic-search.decorator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC3C;AAKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,eAAe,CAKnF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAK/E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,CAe7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAKjF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAKrF;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,eAAe,CAK9C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAKvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAKtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACf,GACL,eAAe,CAKjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAK3F"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Semantic Search Decorators
|
|
4
|
+
* Enable semantic search capabilities on methods
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.SemanticSearch = SemanticSearch;
|
|
8
|
+
exports.HybridSearch = HybridSearch;
|
|
9
|
+
exports.AutoEmbed = AutoEmbed;
|
|
10
|
+
exports.MultiQueryRAG = MultiQueryRAG;
|
|
11
|
+
exports.CompressContext = CompressContext;
|
|
12
|
+
exports.SelfQueryRAG = SelfQueryRAG;
|
|
13
|
+
exports.Rerank = Rerank;
|
|
14
|
+
exports.ParentChildRetrieval = ParentChildRetrieval;
|
|
15
|
+
exports.EnsembleRetrieval = EnsembleRetrieval;
|
|
16
|
+
exports.TimeWeightedRetrieval = TimeWeightedRetrieval;
|
|
17
|
+
require("reflect-metadata");
|
|
18
|
+
const SEMANTIC_SEARCH_KEY = Symbol('semanticSearch');
|
|
19
|
+
const HYBRID_SEARCH_KEY = Symbol('hybridSearch');
|
|
20
|
+
/**
|
|
21
|
+
* Enables semantic search on a method
|
|
22
|
+
*/
|
|
23
|
+
function SemanticSearch(options = {}) {
|
|
24
|
+
return (target, propertyKey, descriptor) => {
|
|
25
|
+
Reflect.defineMetadata(SEMANTIC_SEARCH_KEY, options, target, propertyKey);
|
|
26
|
+
return descriptor;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Enables hybrid search (vector + keyword) on a method
|
|
31
|
+
*/
|
|
32
|
+
function HybridSearch(options = {}) {
|
|
33
|
+
return (target, propertyKey, descriptor) => {
|
|
34
|
+
Reflect.defineMetadata(HYBRID_SEARCH_KEY, options, target, propertyKey);
|
|
35
|
+
return descriptor;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Auto-embed decorator for automatic embedding generation
|
|
40
|
+
*/
|
|
41
|
+
function AutoEmbed(_fields) {
|
|
42
|
+
return (target, propertyKey, descriptor) => {
|
|
43
|
+
const originalMethod = descriptor.value;
|
|
44
|
+
descriptor.value = async function (...args) {
|
|
45
|
+
const result = await originalMethod.apply(this, args);
|
|
46
|
+
// TODO: Implement automatic embedding generation
|
|
47
|
+
// This would integrate with the RAG service to generate embeddings
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
return descriptor;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Multi-query RAG decorator
|
|
55
|
+
*/
|
|
56
|
+
function MultiQueryRAG(options = {}) {
|
|
57
|
+
return (target, propertyKey, descriptor) => {
|
|
58
|
+
Reflect.defineMetadata('multiQueryRAG', options, target, propertyKey);
|
|
59
|
+
return descriptor;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Compress context decorator
|
|
64
|
+
*/
|
|
65
|
+
function CompressContext(options = {}) {
|
|
66
|
+
return (target, propertyKey, descriptor) => {
|
|
67
|
+
Reflect.defineMetadata('compressContext', options, target, propertyKey);
|
|
68
|
+
return descriptor;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Self-query RAG with automatic metadata filtering
|
|
73
|
+
*/
|
|
74
|
+
function SelfQueryRAG() {
|
|
75
|
+
return (target, propertyKey, descriptor) => {
|
|
76
|
+
Reflect.defineMetadata('selfQueryRAG', true, target, propertyKey);
|
|
77
|
+
return descriptor;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Rerank results decorator
|
|
82
|
+
*/
|
|
83
|
+
function Rerank(options = {}) {
|
|
84
|
+
return (target, propertyKey, descriptor) => {
|
|
85
|
+
Reflect.defineMetadata('rerank', options, target, propertyKey);
|
|
86
|
+
return descriptor;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Parent-child document retrieval
|
|
91
|
+
*/
|
|
92
|
+
function ParentChildRetrieval() {
|
|
93
|
+
return (target, propertyKey, descriptor) => {
|
|
94
|
+
Reflect.defineMetadata('parentChildRetrieval', true, target, propertyKey);
|
|
95
|
+
return descriptor;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Ensemble retrieval combining multiple methods
|
|
100
|
+
*/
|
|
101
|
+
function EnsembleRetrieval(options = {}) {
|
|
102
|
+
return (target, propertyKey, descriptor) => {
|
|
103
|
+
Reflect.defineMetadata('ensembleRetrieval', options, target, propertyKey);
|
|
104
|
+
return descriptor;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Time-weighted retrieval favoring recent documents
|
|
109
|
+
*/
|
|
110
|
+
function TimeWeightedRetrieval(options = {}) {
|
|
111
|
+
return (target, propertyKey, descriptor) => {
|
|
112
|
+
Reflect.defineMetadata('timeWeightedRetrieval', options, target, propertyKey);
|
|
113
|
+
return descriptor;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=semantic-search.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-search.decorator.js","sourceRoot":"","sources":["../../src/decorators/semantic-search.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cohere Embeddings Provider
|
|
3
|
+
* High-quality embeddings with multilingual support
|
|
4
|
+
*/
|
|
5
|
+
import { EmbeddingProvider } from '../types';
|
|
6
|
+
export interface CohereEmbeddingsConfig {
|
|
7
|
+
apiKey: string;
|
|
8
|
+
model?: string;
|
|
9
|
+
inputType?: 'search_document' | 'search_query' | 'classification' | 'clustering';
|
|
10
|
+
truncate?: 'NONE' | 'START' | 'END';
|
|
11
|
+
batchSize?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class CohereEmbeddings implements EmbeddingProvider {
|
|
14
|
+
private client;
|
|
15
|
+
private model;
|
|
16
|
+
private inputType;
|
|
17
|
+
private truncate;
|
|
18
|
+
private batchSize;
|
|
19
|
+
private dimension;
|
|
20
|
+
constructor(config: CohereEmbeddingsConfig);
|
|
21
|
+
embed(text: string): Promise<number[]>;
|
|
22
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
23
|
+
getDimension(): number;
|
|
24
|
+
/**
|
|
25
|
+
* Get embedding dimension for a given model
|
|
26
|
+
*/
|
|
27
|
+
private getModelDimension;
|
|
28
|
+
/**
|
|
29
|
+
* Create embeddings for search queries (optimized input type)
|
|
30
|
+
*/
|
|
31
|
+
embedQuery(query: string): Promise<number[]>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=cohere-embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohere-embeddings.d.ts","sourceRoot":"","sources":["../../src/embeddings/cohere-embeddings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAQ7C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,iBAAiB,GAAG,cAAc,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACjF,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,sBAAsB;IAapC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAetC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAwBtD,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAcnD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cohere Embeddings Provider
|
|
4
|
+
* High-quality embeddings with multilingual support
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CohereEmbeddings = void 0;
|
|
8
|
+
class CohereEmbeddings {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
11
|
+
const { CohereClient } = require('cohere-ai');
|
|
12
|
+
this.client = new CohereClient({ token: config.apiKey });
|
|
13
|
+
this.model = config.model || 'embed-english-v3.0';
|
|
14
|
+
this.inputType = config.inputType || 'search_document';
|
|
15
|
+
this.truncate = config.truncate || 'END';
|
|
16
|
+
this.batchSize = config.batchSize || 96;
|
|
17
|
+
// Set dimension based on model
|
|
18
|
+
this.dimension = this.getModelDimension(this.model);
|
|
19
|
+
}
|
|
20
|
+
async embed(text) {
|
|
21
|
+
try {
|
|
22
|
+
const response = await this.client.embed({
|
|
23
|
+
texts: [text],
|
|
24
|
+
model: this.model,
|
|
25
|
+
inputType: this.inputType,
|
|
26
|
+
truncate: this.truncate,
|
|
27
|
+
});
|
|
28
|
+
return response.embeddings[0];
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new Error(`Failed to generate Cohere embedding: ${error}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async embedBatch(texts) {
|
|
35
|
+
const embeddings = [];
|
|
36
|
+
// Process in batches
|
|
37
|
+
for (let i = 0; i < texts.length; i += this.batchSize) {
|
|
38
|
+
const batch = texts.slice(i, i + this.batchSize);
|
|
39
|
+
try {
|
|
40
|
+
const response = await this.client.embed({
|
|
41
|
+
texts: batch,
|
|
42
|
+
model: this.model,
|
|
43
|
+
inputType: this.inputType,
|
|
44
|
+
truncate: this.truncate,
|
|
45
|
+
});
|
|
46
|
+
embeddings.push(...response.embeddings);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw new Error(`Failed to generate Cohere batch embeddings: ${error}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return embeddings;
|
|
53
|
+
}
|
|
54
|
+
getDimension() {
|
|
55
|
+
return this.dimension;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get embedding dimension for a given model
|
|
59
|
+
*/
|
|
60
|
+
getModelDimension(model) {
|
|
61
|
+
const dimensions = {
|
|
62
|
+
'embed-english-v3.0': 1024,
|
|
63
|
+
'embed-english-light-v3.0': 384,
|
|
64
|
+
'embed-multilingual-v3.0': 1024,
|
|
65
|
+
'embed-multilingual-light-v3.0': 384,
|
|
66
|
+
'embed-english-v2.0': 4096,
|
|
67
|
+
'embed-english-light-v2.0': 1024,
|
|
68
|
+
'embed-multilingual-v2.0': 768,
|
|
69
|
+
};
|
|
70
|
+
return dimensions[model] || 1024;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create embeddings for search queries (optimized input type)
|
|
74
|
+
*/
|
|
75
|
+
async embedQuery(query) {
|
|
76
|
+
try {
|
|
77
|
+
const response = await this.client.embed({
|
|
78
|
+
texts: [query],
|
|
79
|
+
model: this.model,
|
|
80
|
+
inputType: 'search_query',
|
|
81
|
+
truncate: this.truncate,
|
|
82
|
+
});
|
|
83
|
+
return response.embeddings[0];
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
throw new Error(`Failed to generate Cohere query embedding: ${error}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.CohereEmbeddings = CohereEmbeddings;
|
|
91
|
+
//# sourceMappingURL=cohere-embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohere-embeddings.js","sourceRoot":"","sources":["../../src/embeddings/cohere-embeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embeddings Provider
|
|
3
|
+
*/
|
|
4
|
+
import { EmbeddingProvider } from '../types';
|
|
5
|
+
export interface OpenAIEmbeddingsConfig {
|
|
6
|
+
apiKey: string;
|
|
7
|
+
model?: string;
|
|
8
|
+
dimensions?: number;
|
|
9
|
+
batchSize?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class OpenAIEmbeddings implements EmbeddingProvider {
|
|
12
|
+
private client;
|
|
13
|
+
private model;
|
|
14
|
+
private dimensions;
|
|
15
|
+
private batchSize;
|
|
16
|
+
constructor(config: OpenAIEmbeddingsConfig);
|
|
17
|
+
embed(text: string): Promise<number[]>;
|
|
18
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
19
|
+
getDimension(): number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=openai-embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-embeddings.d.ts","sourceRoot":"","sources":["../../src/embeddings/openai-embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,sBAAsB;IASpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IActC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAuBtD,YAAY,IAAI,MAAM;CAGvB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OpenAI Embeddings Provider
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OpenAIEmbeddings = void 0;
|
|
7
|
+
class OpenAIEmbeddings {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
10
|
+
const { OpenAI: OpenAIClass } = require('openai');
|
|
11
|
+
this.client = new OpenAIClass({ apiKey: config.apiKey });
|
|
12
|
+
this.model = config.model || 'text-embedding-3-small';
|
|
13
|
+
this.dimensions = config.dimensions || 1536;
|
|
14
|
+
this.batchSize = config.batchSize || 100;
|
|
15
|
+
}
|
|
16
|
+
async embed(text) {
|
|
17
|
+
try {
|
|
18
|
+
const response = await this.client.embeddings.create({
|
|
19
|
+
model: this.model,
|
|
20
|
+
input: text,
|
|
21
|
+
dimensions: this.dimensions,
|
|
22
|
+
});
|
|
23
|
+
return response.data[0].embedding;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new Error(`Failed to generate embedding: ${error}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async embedBatch(texts) {
|
|
30
|
+
const embeddings = [];
|
|
31
|
+
// Process in batches
|
|
32
|
+
for (let i = 0; i < texts.length; i += this.batchSize) {
|
|
33
|
+
const batch = texts.slice(i, i + this.batchSize);
|
|
34
|
+
try {
|
|
35
|
+
const response = await this.client.embeddings.create({
|
|
36
|
+
model: this.model,
|
|
37
|
+
input: batch,
|
|
38
|
+
dimensions: this.dimensions,
|
|
39
|
+
});
|
|
40
|
+
embeddings.push(...response.data.map((item) => item.embedding));
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
throw new Error(`Failed to generate batch embeddings: ${error}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return embeddings;
|
|
47
|
+
}
|
|
48
|
+
getDimension() {
|
|
49
|
+
return this.dimensions;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.OpenAIEmbeddings = OpenAIEmbeddings;
|
|
53
|
+
//# sourceMappingURL=openai-embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-embeddings.js","sourceRoot":"","sources":["../../src/embeddings/openai-embeddings.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAeH,MAAa,gBAAgB;IAM3B,YAAY,MAA8B;QACxC,iEAAiE;QACjE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,wBAAwB,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;oBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAvDD,4CAuDC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hazeljs/rag - Retrieval-Augmented Generation
|
|
3
|
+
* Vector search and RAG capabilities for HazelJS
|
|
4
|
+
*/
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './rag-pipeline';
|
|
7
|
+
export * from './rag.service';
|
|
8
|
+
export * from './rag.module';
|
|
9
|
+
export * from './decorators/rag.decorator';
|
|
10
|
+
export * from './decorators/embeddable.decorator';
|
|
11
|
+
export * from './decorators/semantic-search.decorator';
|
|
12
|
+
export * from './embeddings/openai-embeddings';
|
|
13
|
+
export * from './embeddings/cohere-embeddings';
|
|
14
|
+
export * from './vector-stores/memory-vector-store';
|
|
15
|
+
export * from './vector-stores/pinecone.store';
|
|
16
|
+
export * from './vector-stores/qdrant.store';
|
|
17
|
+
export * from './vector-stores/weaviate.store';
|
|
18
|
+
export * from './vector-stores/chroma.store';
|
|
19
|
+
export * from './text-splitters/recursive-text-splitter';
|
|
20
|
+
export * from './retrieval/bm25';
|
|
21
|
+
export * from './retrieval/hybrid-search';
|
|
22
|
+
export * from './retrieval/multi-query';
|
|
23
|
+
export * from './utils/similarity';
|
|
24
|
+
export * from './memory';
|
|
25
|
+
export * from './rag-pipeline-with-memory';
|
|
26
|
+
export * from './agentic';
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @hazeljs/rag - Retrieval-Augmented Generation
|
|
4
|
+
* Vector search and RAG capabilities for HazelJS
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// Core types
|
|
22
|
+
__exportStar(require("./types"), exports);
|
|
23
|
+
// RAG Pipeline
|
|
24
|
+
__exportStar(require("./rag-pipeline"), exports);
|
|
25
|
+
// RAG Service & Module
|
|
26
|
+
__exportStar(require("./rag.service"), exports);
|
|
27
|
+
__exportStar(require("./rag.module"), exports);
|
|
28
|
+
// Decorators
|
|
29
|
+
__exportStar(require("./decorators/rag.decorator"), exports);
|
|
30
|
+
__exportStar(require("./decorators/embeddable.decorator"), exports);
|
|
31
|
+
__exportStar(require("./decorators/semantic-search.decorator"), exports);
|
|
32
|
+
// Embeddings
|
|
33
|
+
__exportStar(require("./embeddings/openai-embeddings"), exports);
|
|
34
|
+
__exportStar(require("./embeddings/cohere-embeddings"), exports);
|
|
35
|
+
// Vector Stores
|
|
36
|
+
__exportStar(require("./vector-stores/memory-vector-store"), exports);
|
|
37
|
+
__exportStar(require("./vector-stores/pinecone.store"), exports);
|
|
38
|
+
__exportStar(require("./vector-stores/qdrant.store"), exports);
|
|
39
|
+
__exportStar(require("./vector-stores/weaviate.store"), exports);
|
|
40
|
+
__exportStar(require("./vector-stores/chroma.store"), exports);
|
|
41
|
+
// Text Splitters
|
|
42
|
+
__exportStar(require("./text-splitters/recursive-text-splitter"), exports);
|
|
43
|
+
// Retrieval Strategies
|
|
44
|
+
__exportStar(require("./retrieval/bm25"), exports);
|
|
45
|
+
__exportStar(require("./retrieval/hybrid-search"), exports);
|
|
46
|
+
__exportStar(require("./retrieval/multi-query"), exports);
|
|
47
|
+
// Utils
|
|
48
|
+
__exportStar(require("./utils/similarity"), exports);
|
|
49
|
+
// Memory
|
|
50
|
+
__exportStar(require("./memory"), exports);
|
|
51
|
+
__exportStar(require("./rag-pipeline-with-memory"), exports);
|
|
52
|
+
// Agentic RAG - Advanced autonomous retrieval capabilities
|
|
53
|
+
__exportStar(require("./agentic"), exports);
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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,uBAAuB;AACvB,mDAAiC;AACjC,4DAA0C;AAC1C,0DAAwC;AAExC,QAAQ;AACR,qDAAmC;AAEnC,SAAS;AACT,2CAAyB;AACzB,6DAA2C;AAE3C,2DAA2D;AAC3D,4CAA0B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hazeljs/rag - Memory Module
|
|
3
|
+
* Persistent context and conversation management
|
|
4
|
+
*/
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './memory-store.interface';
|
|
7
|
+
export * from './stores/buffer-memory';
|
|
8
|
+
export * from './stores/vector-memory';
|
|
9
|
+
export * from './stores/hybrid-memory';
|
|
10
|
+
export * from './memory-manager';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,0BAA0B,CAAC;AAGzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @hazeljs/rag - Memory Module
|
|
4
|
+
* Persistent context and conversation management
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// Types
|
|
22
|
+
__exportStar(require("./types"), exports);
|
|
23
|
+
// Core interfaces
|
|
24
|
+
__exportStar(require("./memory-store.interface"), exports);
|
|
25
|
+
// Memory stores
|
|
26
|
+
__exportStar(require("./stores/buffer-memory"), exports);
|
|
27
|
+
__exportStar(require("./stores/vector-memory"), exports);
|
|
28
|
+
__exportStar(require("./stores/hybrid-memory"), exports);
|
|
29
|
+
// Memory manager
|
|
30
|
+
__exportStar(require("./memory-manager"), exports);
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,kBAAkB;AAClB,2DAAyC;AAEzC,gBAAgB;AAChB,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AAEvC,iBAAiB;AACjB,mDAAiC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Manager - High-level interface for managing different types of memory
|
|
3
|
+
*/
|
|
4
|
+
import { MemoryStore } from './memory-store.interface';
|
|
5
|
+
import { Memory, MemoryConfig, Message, Entity, MemoryQuery, MemorySearchOptions } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Central manager for all memory operations
|
|
8
|
+
* Provides high-level APIs for conversation, entity, fact, and working memory
|
|
9
|
+
*/
|
|
10
|
+
export declare class MemoryManager {
|
|
11
|
+
private store;
|
|
12
|
+
private config;
|
|
13
|
+
constructor(store: MemoryStore, config?: MemoryConfig);
|
|
14
|
+
initialize(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Add a message to conversation history
|
|
17
|
+
*/
|
|
18
|
+
addMessage(message: Message, sessionId: string, userId?: string): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Get conversation history for a session
|
|
21
|
+
*/
|
|
22
|
+
getConversationHistory(sessionId: string, limit?: number): Promise<Message[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Summarize conversation history
|
|
25
|
+
*/
|
|
26
|
+
summarizeConversation(sessionId: string): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Clear conversation history for a session
|
|
29
|
+
*/
|
|
30
|
+
clearConversation(sessionId: string): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Track an entity mentioned in conversation
|
|
33
|
+
*/
|
|
34
|
+
trackEntity(entity: Entity, sessionId?: string): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Get entity by name
|
|
37
|
+
*/
|
|
38
|
+
getEntity(name: string): Promise<Entity | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Update entity information
|
|
41
|
+
*/
|
|
42
|
+
updateEntity(name: string, updates: Partial<Entity>): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Get all tracked entities
|
|
45
|
+
*/
|
|
46
|
+
getAllEntities(sessionId?: string): Promise<Entity[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Store a fact or piece of knowledge
|
|
49
|
+
*/
|
|
50
|
+
storeFact(fact: string, metadata?: Record<string, unknown>): Promise<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Recall facts related to a query
|
|
53
|
+
*/
|
|
54
|
+
recallFacts(query: string, options?: MemorySearchOptions): Promise<string[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Update a fact
|
|
57
|
+
*/
|
|
58
|
+
updateFact(id: string, newContent: string): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Set a value in working memory (temporary context)
|
|
61
|
+
*/
|
|
62
|
+
setContext(key: string, value: unknown, sessionId: string): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Get a value from working memory
|
|
65
|
+
*/
|
|
66
|
+
getContext(key: string, sessionId: string): Promise<unknown>;
|
|
67
|
+
/**
|
|
68
|
+
* Clear working memory for a session
|
|
69
|
+
*/
|
|
70
|
+
clearContext(sessionId: string): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Get relevant memories for a query
|
|
73
|
+
*/
|
|
74
|
+
relevantMemories(query: string, options: MemorySearchOptions): Promise<Memory[]>;
|
|
75
|
+
/**
|
|
76
|
+
* Get memories by query parameters
|
|
77
|
+
*/
|
|
78
|
+
getMemories(query: MemoryQuery): Promise<Memory[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Get memory statistics
|
|
81
|
+
*/
|
|
82
|
+
getStats(sessionId?: string): Promise<import('./types').MemoryStats>;
|
|
83
|
+
/**
|
|
84
|
+
* Calculate importance score for content
|
|
85
|
+
*/
|
|
86
|
+
private calculateImportance;
|
|
87
|
+
/**
|
|
88
|
+
* Check if conversation needs summarization
|
|
89
|
+
*/
|
|
90
|
+
private checkAndSummarize;
|
|
91
|
+
/**
|
|
92
|
+
* Prune working memory to max size
|
|
93
|
+
*/
|
|
94
|
+
private pruneWorkingMemory;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=memory-manager.d.ts.map
|