@mcp-abap-adt/llm-agent 6.0.2 → 8.0.0
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/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/llm-providers/anthropic.d.ts +1 -0
- package/dist/llm-providers/anthropic.d.ts.map +1 -1
- package/dist/llm-providers/anthropic.js +3 -0
- package/dist/llm-providers/anthropic.js.map +1 -1
- package/dist/llm-providers/base.d.ts +4 -0
- package/dist/llm-providers/base.d.ts.map +1 -1
- package/dist/llm-providers/base.js.map +1 -1
- package/dist/llm-providers/deepseek.d.ts +1 -0
- package/dist/llm-providers/deepseek.d.ts.map +1 -1
- package/dist/llm-providers/deepseek.js +3 -0
- package/dist/llm-providers/deepseek.js.map +1 -1
- package/dist/llm-providers/openai.d.ts +1 -0
- package/dist/llm-providers/openai.d.ts.map +1 -1
- package/dist/llm-providers/openai.js +6 -0
- package/dist/llm-providers/openai.js.map +1 -1
- package/dist/llm-providers/sap-core-ai.d.ts +6 -0
- package/dist/llm-providers/sap-core-ai.d.ts.map +1 -1
- package/dist/llm-providers/sap-core-ai.js +13 -2
- package/dist/llm-providers/sap-core-ai.js.map +1 -1
- package/dist/smart-agent/adapters/llm-adapter.d.ts +4 -2
- package/dist/smart-agent/adapters/llm-adapter.d.ts.map +1 -1
- package/dist/smart-agent/adapters/llm-adapter.js +26 -0
- package/dist/smart-agent/adapters/llm-adapter.js.map +1 -1
- package/dist/smart-agent/agent.d.ts +27 -1
- package/dist/smart-agent/agent.d.ts.map +1 -1
- package/dist/smart-agent/agent.js +79 -20
- package/dist/smart-agent/agent.js.map +1 -1
- package/dist/smart-agent/builder.d.ts.map +1 -1
- package/dist/smart-agent/builder.js +18 -5
- package/dist/smart-agent/builder.js.map +1 -1
- package/dist/smart-agent/config.d.ts +1 -1
- package/dist/smart-agent/config.d.ts.map +1 -1
- package/dist/smart-agent/config.js +1 -1
- package/dist/smart-agent/interfaces/model-provider.d.ts +7 -1
- package/dist/smart-agent/interfaces/model-provider.d.ts.map +1 -1
- package/dist/smart-agent/interfaces/pipeline.d.ts +7 -0
- package/dist/smart-agent/interfaces/pipeline.d.ts.map +1 -1
- package/dist/smart-agent/interfaces/query-embedding.d.ts +3 -0
- package/dist/smart-agent/interfaces/query-embedding.d.ts.map +1 -1
- package/dist/smart-agent/interfaces/rag.d.ts +9 -2
- package/dist/smart-agent/interfaces/rag.d.ts.map +1 -1
- package/dist/smart-agent/interfaces/rag.js.map +1 -1
- package/dist/smart-agent/pipeline/context.d.ts +2 -0
- package/dist/smart-agent/pipeline/context.d.ts.map +1 -1
- package/dist/smart-agent/pipeline/default-pipeline.d.ts +5 -2
- package/dist/smart-agent/pipeline/default-pipeline.d.ts.map +1 -1
- package/dist/smart-agent/pipeline/default-pipeline.js +24 -5
- package/dist/smart-agent/pipeline/default-pipeline.js.map +1 -1
- package/dist/smart-agent/pipeline/handlers/classify.d.ts.map +1 -1
- package/dist/smart-agent/pipeline/handlers/classify.js +10 -1
- package/dist/smart-agent/pipeline/handlers/classify.js.map +1 -1
- package/dist/smart-agent/pipeline/handlers/rag-query.d.ts.map +1 -1
- package/dist/smart-agent/pipeline/handlers/rag-query.js +16 -0
- package/dist/smart-agent/pipeline/handlers/rag-query.js.map +1 -1
- package/dist/smart-agent/pipeline/handlers/tool-loop.js +1 -1
- package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +1 -1
- package/dist/smart-agent/pipeline/handlers/tool-select.js +1 -1
- package/dist/smart-agent/pipeline/handlers/tool-select.js.map +1 -1
- package/dist/smart-agent/providers.d.ts +8 -0
- package/dist/smart-agent/providers.d.ts.map +1 -1
- package/dist/smart-agent/providers.js +21 -1
- package/dist/smart-agent/providers.js.map +1 -1
- package/dist/smart-agent/rag/in-memory-rag.d.ts +7 -0
- package/dist/smart-agent/rag/in-memory-rag.d.ts.map +1 -1
- package/dist/smart-agent/rag/in-memory-rag.js +21 -5
- package/dist/smart-agent/rag/in-memory-rag.js.map +1 -1
- package/dist/smart-agent/rag/index.d.ts +4 -0
- package/dist/smart-agent/rag/index.d.ts.map +1 -1
- package/dist/smart-agent/rag/index.js +2 -0
- package/dist/smart-agent/rag/index.js.map +1 -1
- package/dist/smart-agent/rag/ollama-rag.d.ts +3 -3
- package/dist/smart-agent/rag/ollama-rag.d.ts.map +1 -1
- package/dist/smart-agent/rag/ollama-rag.js +2 -2
- package/dist/smart-agent/rag/ollama-rag.js.map +1 -1
- package/dist/smart-agent/rag/openai-embedder.d.ts +3 -3
- package/dist/smart-agent/rag/openai-embedder.d.ts.map +1 -1
- package/dist/smart-agent/rag/openai-embedder.js +19 -2
- package/dist/smart-agent/rag/openai-embedder.js.map +1 -1
- package/dist/smart-agent/rag/preprocessor.d.ts +82 -0
- package/dist/smart-agent/rag/preprocessor.d.ts.map +1 -0
- package/dist/smart-agent/rag/preprocessor.js +203 -0
- package/dist/smart-agent/rag/preprocessor.js.map +1 -0
- package/dist/smart-agent/rag/qdrant-rag.js +1 -1
- package/dist/smart-agent/rag/qdrant-rag.js.map +1 -1
- package/dist/smart-agent/rag/query-embedding.d.ts +4 -2
- package/dist/smart-agent/rag/query-embedding.d.ts.map +1 -1
- package/dist/smart-agent/rag/query-embedding.js +10 -4
- package/dist/smart-agent/rag/query-embedding.js.map +1 -1
- package/dist/smart-agent/rag/sap-ai-core-embedder.d.ts +3 -3
- package/dist/smart-agent/rag/sap-ai-core-embedder.d.ts.map +1 -1
- package/dist/smart-agent/rag/sap-ai-core-embedder.js +4 -4
- package/dist/smart-agent/rag/sap-ai-core-embedder.js.map +1 -1
- package/dist/smart-agent/rag/search-strategy.d.ts +89 -0
- package/dist/smart-agent/rag/search-strategy.d.ts.map +1 -0
- package/dist/smart-agent/rag/search-strategy.js +200 -0
- package/dist/smart-agent/rag/search-strategy.js.map +1 -0
- package/dist/smart-agent/rag/tool-indexing-strategy.d.ts +58 -0
- package/dist/smart-agent/rag/tool-indexing-strategy.d.ts.map +1 -0
- package/dist/smart-agent/rag/tool-indexing-strategy.js +130 -0
- package/dist/smart-agent/rag/tool-indexing-strategy.js.map +1 -0
- package/dist/smart-agent/rag/vector-rag.d.ts +11 -5
- package/dist/smart-agent/rag/vector-rag.d.ts.map +1 -1
- package/dist/smart-agent/rag/vector-rag.js +55 -46
- package/dist/smart-agent/rag/vector-rag.js.map +1 -1
- package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts +3 -3
- package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.js +29 -1
- package/dist/smart-agent/smart-server.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/openai-embedder.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAapE,MAAM,OAAO,cAAc;IACR,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,SAAS,CAAS;IAEnC,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC,OAAO,CACpE,KAAK,EACL,EAAE,CACH,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,wBAAwB,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAqB;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC;QACzC,IAAI,SAA4B,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM;oBAC5B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBAClD,CAAC,CAAC,aAAa,CAAC;gBAElB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAC3B,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;qBACvC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;oBACxD,MAAM;iBACP,CAAC,CAAC;gBAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,IAAI,QAAQ,CAChB,4BAA4B,GAAG,CAAC,MAAM,MAAM,SAAS,EAAE,EACvD,aAAa,CACd,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"openai-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/openai-embedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { ILlm } from '../interfaces/llm.js';
|
|
2
|
+
import type { IRequestLogger } from '../interfaces/request-logger.js';
|
|
3
|
+
import type { CallOptions, RagError, Result } from '../interfaces/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Transforms query text before RAG search.
|
|
6
|
+
* Used for translation, expansion, normalization, etc.
|
|
7
|
+
* Runs inside IRag.query() before embedding.
|
|
8
|
+
*/
|
|
9
|
+
export interface IQueryPreprocessor {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
process(text: string, options?: CallOptions): Promise<Result<string, RagError>>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Enriches document text before RAG storage.
|
|
15
|
+
* Used for adding translations, synonyms, example queries, etc.
|
|
16
|
+
* Runs inside IRag.upsert() before embedding.
|
|
17
|
+
*/
|
|
18
|
+
export interface IDocumentEnricher {
|
|
19
|
+
readonly name: string;
|
|
20
|
+
enrich(text: string, options?: CallOptions): Promise<Result<string, RagError>>;
|
|
21
|
+
}
|
|
22
|
+
export declare class NoopQueryPreprocessor implements IQueryPreprocessor {
|
|
23
|
+
readonly name = "noop";
|
|
24
|
+
process(text: string): Promise<Result<string, RagError>>;
|
|
25
|
+
}
|
|
26
|
+
export declare class NoopDocumentEnricher implements IDocumentEnricher {
|
|
27
|
+
readonly name = "noop";
|
|
28
|
+
enrich(text: string): Promise<Result<string, RagError>>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Translates non-ASCII queries to English via helper LLM.
|
|
32
|
+
* Passes through ASCII-only text and short text (< 15 chars) without LLM call.
|
|
33
|
+
* Falls back to original text on LLM failure.
|
|
34
|
+
*/
|
|
35
|
+
export declare class TranslatePreprocessor implements IQueryPreprocessor {
|
|
36
|
+
private readonly llm;
|
|
37
|
+
private readonly requestLogger?;
|
|
38
|
+
private readonly systemPrompt?;
|
|
39
|
+
readonly name = "translate";
|
|
40
|
+
constructor(llm: ILlm, requestLogger?: IRequestLogger | undefined, systemPrompt?: string | undefined);
|
|
41
|
+
process(text: string, options?: CallOptions): Promise<Result<string, RagError>>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Expands queries with LLM-generated synonyms and related terms.
|
|
45
|
+
* Concatenates original + expansion for broader recall.
|
|
46
|
+
*/
|
|
47
|
+
export declare class ExpandPreprocessor implements IQueryPreprocessor {
|
|
48
|
+
private readonly llm;
|
|
49
|
+
private readonly requestLogger?;
|
|
50
|
+
private readonly systemPrompt?;
|
|
51
|
+
readonly name = "expand";
|
|
52
|
+
constructor(llm: ILlm, requestLogger?: IRequestLogger | undefined, systemPrompt?: string | undefined);
|
|
53
|
+
process(text: string, options?: CallOptions): Promise<Result<string, RagError>>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Generates concise intent-based descriptions via LLM.
|
|
57
|
+
* Replaces verbose tool descriptions with short keyword phrases
|
|
58
|
+
* that match how users actually search.
|
|
59
|
+
*
|
|
60
|
+
* Output format: "ToolName: original_description\nIntent: keyword1, keyword2, ..."
|
|
61
|
+
* Both original and intent are stored — BM25 matches keywords, vector matches semantics.
|
|
62
|
+
*/
|
|
63
|
+
export declare class IntentEnricher implements IDocumentEnricher {
|
|
64
|
+
private readonly llm;
|
|
65
|
+
private readonly requestLogger?;
|
|
66
|
+
private readonly systemPrompt?;
|
|
67
|
+
readonly name = "intent";
|
|
68
|
+
constructor(llm: ILlm, requestLogger?: IRequestLogger | undefined, systemPrompt?: string | undefined);
|
|
69
|
+
enrich(text: string, options?: CallOptions): Promise<Result<string, RagError>>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Runs multiple preprocessors in sequence.
|
|
73
|
+
* Output of each becomes input of the next.
|
|
74
|
+
* Stops and returns error on first failure.
|
|
75
|
+
*/
|
|
76
|
+
export declare class PreprocessorChain implements IQueryPreprocessor {
|
|
77
|
+
private readonly preprocessors;
|
|
78
|
+
readonly name: string;
|
|
79
|
+
constructor(preprocessors: IQueryPreprocessor[]);
|
|
80
|
+
process(text: string, options?: CallOptions): Promise<Result<string, RagError>>;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=preprocessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/preprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAC9D,QAAQ,CAAC,IAAI,UAAU;IACjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAG/D;AAED,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,QAAQ,CAAC,IAAI,UAAU;IACjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAG9D;AAKD;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,kBAAkB;IAI5D,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IALhC,QAAQ,CAAC,IAAI,eAAe;gBAGT,GAAG,EAAE,IAAI,EACT,aAAa,CAAC,EAAE,cAAc,YAAA,EAC9B,YAAY,CAAC,EAAE,MAAM,YAAA;IAGlC,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAwCrC;AAKD;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAIzD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IALhC,QAAQ,CAAC,IAAI,YAAY;gBAGN,GAAG,EAAE,IAAI,EACT,aAAa,CAAC,EAAE,cAAc,YAAA,EAC9B,YAAY,CAAC,EAAE,MAAM,YAAA;IAGlC,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAoCrC;AAkBD;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IAIpD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IALhC,QAAQ,CAAC,IAAI,YAAY;gBAGN,GAAG,EAAE,IAAI,EACT,aAAa,CAAC,EAAE,cAAc,YAAA,EAC9B,YAAY,CAAC,EAAE,MAAM,YAAA;IAGlC,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAwCrC;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAG9C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEO,aAAa,EAAE,kBAAkB,EAAE;IAI1D,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CASrC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
export class NoopQueryPreprocessor {
|
|
2
|
+
name = 'noop';
|
|
3
|
+
async process(text) {
|
|
4
|
+
return { ok: true, value: text };
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class NoopDocumentEnricher {
|
|
8
|
+
name = 'noop';
|
|
9
|
+
async enrich(text) {
|
|
10
|
+
return { ok: true, value: text };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const TRANSLATE_SYSTEM_PROMPT = 'Translate the user request to English for tool search. Focus on the ACTION verb — use specific verbs (search, list, create, read, delete, execute, check) rather than generic ones (find, get, show). Preserve technical terms, object names, and abbreviations. Reply with only the English text, no explanation.';
|
|
14
|
+
/**
|
|
15
|
+
* Translates non-ASCII queries to English via helper LLM.
|
|
16
|
+
* Passes through ASCII-only text and short text (< 15 chars) without LLM call.
|
|
17
|
+
* Falls back to original text on LLM failure.
|
|
18
|
+
*/
|
|
19
|
+
export class TranslatePreprocessor {
|
|
20
|
+
llm;
|
|
21
|
+
requestLogger;
|
|
22
|
+
systemPrompt;
|
|
23
|
+
name = 'translate';
|
|
24
|
+
constructor(llm, requestLogger, systemPrompt) {
|
|
25
|
+
this.llm = llm;
|
|
26
|
+
this.requestLogger = requestLogger;
|
|
27
|
+
this.systemPrompt = systemPrompt;
|
|
28
|
+
}
|
|
29
|
+
async process(text, options) {
|
|
30
|
+
if (/^[\p{ASCII}]+$/u.test(text) || text.length < 15) {
|
|
31
|
+
return { ok: true, value: text };
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const chatStart = Date.now();
|
|
35
|
+
const res = await this.llm.chat([
|
|
36
|
+
{
|
|
37
|
+
role: 'system',
|
|
38
|
+
content: this.systemPrompt ?? TRANSLATE_SYSTEM_PROMPT,
|
|
39
|
+
},
|
|
40
|
+
{ role: 'user', content: text },
|
|
41
|
+
], [], options);
|
|
42
|
+
if (this.requestLogger) {
|
|
43
|
+
this.requestLogger.logLlmCall({
|
|
44
|
+
component: 'translate',
|
|
45
|
+
model: this.llm.model ?? 'unknown',
|
|
46
|
+
promptTokens: res.ok ? (res.value.usage?.promptTokens ?? 0) : 0,
|
|
47
|
+
completionTokens: res.ok
|
|
48
|
+
? (res.value.usage?.completionTokens ?? 0)
|
|
49
|
+
: 0,
|
|
50
|
+
totalTokens: res.ok ? (res.value.usage?.totalTokens ?? 0) : 0,
|
|
51
|
+
durationMs: Date.now() - chatStart,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (!res.ok || !res.value.content.trim()) {
|
|
55
|
+
return { ok: true, value: text };
|
|
56
|
+
}
|
|
57
|
+
return { ok: true, value: res.value.content.trim() };
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return { ok: true, value: text };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const EXPAND_SYSTEM_PROMPT = 'Given the user query, produce expanded search terms with synonyms and related terms. Return ONLY the expanded terms, no explanation.';
|
|
65
|
+
/**
|
|
66
|
+
* Expands queries with LLM-generated synonyms and related terms.
|
|
67
|
+
* Concatenates original + expansion for broader recall.
|
|
68
|
+
*/
|
|
69
|
+
export class ExpandPreprocessor {
|
|
70
|
+
llm;
|
|
71
|
+
requestLogger;
|
|
72
|
+
systemPrompt;
|
|
73
|
+
name = 'expand';
|
|
74
|
+
constructor(llm, requestLogger, systemPrompt) {
|
|
75
|
+
this.llm = llm;
|
|
76
|
+
this.requestLogger = requestLogger;
|
|
77
|
+
this.systemPrompt = systemPrompt;
|
|
78
|
+
}
|
|
79
|
+
async process(text, options) {
|
|
80
|
+
try {
|
|
81
|
+
const chatStart = Date.now();
|
|
82
|
+
const res = await this.llm.chat([
|
|
83
|
+
{
|
|
84
|
+
role: 'system',
|
|
85
|
+
content: this.systemPrompt ?? EXPAND_SYSTEM_PROMPT,
|
|
86
|
+
},
|
|
87
|
+
{ role: 'user', content: text },
|
|
88
|
+
], [], options);
|
|
89
|
+
if (this.requestLogger) {
|
|
90
|
+
this.requestLogger.logLlmCall({
|
|
91
|
+
component: 'query-expander',
|
|
92
|
+
model: this.llm.model ?? 'unknown',
|
|
93
|
+
promptTokens: res.ok ? (res.value.usage?.promptTokens ?? 0) : 0,
|
|
94
|
+
completionTokens: res.ok
|
|
95
|
+
? (res.value.usage?.completionTokens ?? 0)
|
|
96
|
+
: 0,
|
|
97
|
+
totalTokens: res.ok ? (res.value.usage?.totalTokens ?? 0) : 0,
|
|
98
|
+
durationMs: Date.now() - chatStart,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (!res.ok || !res.value.content.trim()) {
|
|
102
|
+
return { ok: true, value: text };
|
|
103
|
+
}
|
|
104
|
+
return { ok: true, value: `${text} ${res.value.content.trim()}` };
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return { ok: true, value: text };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const INTENT_ENRICHER_SYSTEM_PROMPT = `You receive a tool description with its name and parameters.
|
|
112
|
+
Extract the core INTENT in 3-5 short keyword phrases that a user would type when needing this tool.
|
|
113
|
+
Focus on WHAT the tool does, not HOW. Use simple action words.
|
|
114
|
+
|
|
115
|
+
Format: return ONLY the keyword phrases separated by commas, no explanation.
|
|
116
|
+
|
|
117
|
+
Examples:
|
|
118
|
+
- Input: "GetTableContents: Retrieve contents (data preview) of an ABAP database table or CDS view. Returns rows of data like SE16/SE16N."
|
|
119
|
+
Output: table data preview, read table contents, SE16 data, select from table, show table rows
|
|
120
|
+
|
|
121
|
+
- Input: "SearchObject: Find, search, locate, or check if an ABAP repository object exists by name or wildcard pattern."
|
|
122
|
+
Output: search object by name, find ABAP object, locate program class table, does object exist, wildcard search
|
|
123
|
+
|
|
124
|
+
- Input: "GetWhereUsed: Find where-used references for ABAP objects — classes, interfaces, function modules."
|
|
125
|
+
Output: where used references, who uses this object, cross references, find usages, show dependencies`;
|
|
126
|
+
/**
|
|
127
|
+
* Generates concise intent-based descriptions via LLM.
|
|
128
|
+
* Replaces verbose tool descriptions with short keyword phrases
|
|
129
|
+
* that match how users actually search.
|
|
130
|
+
*
|
|
131
|
+
* Output format: "ToolName: original_description\nIntent: keyword1, keyword2, ..."
|
|
132
|
+
* Both original and intent are stored — BM25 matches keywords, vector matches semantics.
|
|
133
|
+
*/
|
|
134
|
+
export class IntentEnricher {
|
|
135
|
+
llm;
|
|
136
|
+
requestLogger;
|
|
137
|
+
systemPrompt;
|
|
138
|
+
name = 'intent';
|
|
139
|
+
constructor(llm, requestLogger, systemPrompt) {
|
|
140
|
+
this.llm = llm;
|
|
141
|
+
this.requestLogger = requestLogger;
|
|
142
|
+
this.systemPrompt = systemPrompt;
|
|
143
|
+
}
|
|
144
|
+
async enrich(text, options) {
|
|
145
|
+
try {
|
|
146
|
+
const chatStart = Date.now();
|
|
147
|
+
const res = await this.llm.chat([
|
|
148
|
+
{
|
|
149
|
+
role: 'system',
|
|
150
|
+
content: this.systemPrompt ?? INTENT_ENRICHER_SYSTEM_PROMPT,
|
|
151
|
+
},
|
|
152
|
+
{ role: 'user', content: text },
|
|
153
|
+
], [], options);
|
|
154
|
+
if (this.requestLogger) {
|
|
155
|
+
this.requestLogger.logLlmCall({
|
|
156
|
+
component: 'helper',
|
|
157
|
+
model: this.llm.model ?? 'unknown',
|
|
158
|
+
promptTokens: res.ok ? (res.value.usage?.promptTokens ?? 0) : 0,
|
|
159
|
+
completionTokens: res.ok
|
|
160
|
+
? (res.value.usage?.completionTokens ?? 0)
|
|
161
|
+
: 0,
|
|
162
|
+
totalTokens: res.ok ? (res.value.usage?.totalTokens ?? 0) : 0,
|
|
163
|
+
durationMs: Date.now() - chatStart,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
if (!res.ok || !res.value.content.trim()) {
|
|
167
|
+
return { ok: true, value: text };
|
|
168
|
+
}
|
|
169
|
+
// Append intent keywords to original text — both get embedded together
|
|
170
|
+
return {
|
|
171
|
+
ok: true,
|
|
172
|
+
value: `${text}\nIntent: ${res.value.content.trim()}`,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return { ok: true, value: text };
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Runs multiple preprocessors in sequence.
|
|
182
|
+
* Output of each becomes input of the next.
|
|
183
|
+
* Stops and returns error on first failure.
|
|
184
|
+
*/
|
|
185
|
+
export class PreprocessorChain {
|
|
186
|
+
preprocessors;
|
|
187
|
+
name;
|
|
188
|
+
constructor(preprocessors) {
|
|
189
|
+
this.preprocessors = preprocessors;
|
|
190
|
+
this.name = preprocessors.map((p) => p.name).join('+') || 'empty';
|
|
191
|
+
}
|
|
192
|
+
async process(text, options) {
|
|
193
|
+
let current = text;
|
|
194
|
+
for (const pp of this.preprocessors) {
|
|
195
|
+
const result = await pp.process(current, options);
|
|
196
|
+
if (!result.ok)
|
|
197
|
+
return result;
|
|
198
|
+
current = result.value;
|
|
199
|
+
}
|
|
200
|
+
return { ok: true, value: current };
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=preprocessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/preprocessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,7 +107,7 @@ export class QdrantRag {
|
|
|
107
107
|
return { ok: false, error: new RagError('Aborted', 'ABORTED') };
|
|
108
108
|
}
|
|
109
109
|
try {
|
|
110
|
-
const vector = await this.embedder.embed(text, options);
|
|
110
|
+
const { vector } = await this.embedder.embed(text, options);
|
|
111
111
|
return this.upsertKnownVector(text, vector, metadata, options);
|
|
112
112
|
}
|
|
113
113
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant-rag.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/qdrant-rag.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"qdrant-rag.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/qdrant-rag.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,GAIT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACjH,CAAC;AAWD,MAAM,OAAO,SAAS;IACH,GAAG,CAAS;IACZ,cAAc,CAAS;IACvB,QAAQ,CAAY;IACpB,MAAM,CAAU;IAChB,SAAS,CAAS;IAC3B,iBAAiB,GAAG,KAAK,CAAC;IAElC,YAAY,MAAuB;QACjC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,CAAC;IAEO,QAAQ;QACd,MAAM,CAAC,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QACzE,IAAI,IAAI,CAAC,MAAM;YAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,IAAY,EACZ,IAAiB,EACjB,MAAoB;QAEpB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAChE,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE;gBACvC,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;aACzD,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,UAAkB,EAClB,MAAoB;QAEpB,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,gBAAgB,IAAI,CAAC,cAAc,EAAE,EACrC,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,MAAM,CACP,CAAC;QACF,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CACjC,gBAAgB,IAAI,CAAC,cAAc,EAAE,EACrC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE;aAClD,CAAC;SACH,EACD,MAAM,CACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,QAAQ,CAChB,gCAAgC,IAAI,EAAE,EACtC,cAAc,CACf,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAY,EACZ,MAAgB,EAChB,QAAqB,EACrB,OAAqB;QAErB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE7D,MAAM,OAAO,GAAG,QAAQ,EAAE,EAAE;gBAC1B,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,OAAO,GAA4B;gBACvC,IAAI;gBACJ,GAAG,QAAQ;aACZ,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,gBAAgB,IAAI,CAAC,cAAc,SAAS,EAC5C;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;iBAC3C,CAAC;aACH,EACD,OAAO,EAAE,MAAM,CAChB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,QAAQ,CAAC,yBAAyB,IAAI,EAAE,EAAE,cAAc,CAAC;iBACrE,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,QAAqB,EACrB,OAAqB;QAErB,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,MAAgB,EAChB,QAAqB,EACrB,OAAqB;QAErB,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAA0B,EAC1B,CAAS,EACT,OAAqB;QAErB,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAErC,MAAM,IAAI,GAAc,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;YACtD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAElD,MAAM,IAAI,GAA4B;gBACpC,MAAM;gBACN,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,IAAI;aACnB,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,GAAG;oBACZ,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE;wBACR,mDAAmD;wBACnD;4BACE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC7C,GAAG,CAAC,eAAe,KAAK,SAAS;gCAC/B,CAAC,CAAC;oCACE,IAAI,EAAE;wCACJ,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;qCACxD;iCACF;gCACH,CAAC,CAAC,EAAE,CAAC;yBACR;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,gBAAgB,IAAI,CAAC,cAAc,gBAAgB,EACnD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAC9C,OAAO,EAAE,MAAM,CAChB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,QAAQ,CAAC,wBAAwB,OAAO,EAAE,EAAE,aAAa,CAAC;iBACtE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAK7B,CAAC;YAEF,MAAM,OAAO,GAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC/C,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;oBAC3B,QAAQ,EAAE,IAAmB;oBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,gBAAgB,IAAI,CAAC,cAAc,EAAE,EACrC,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,OAAO,EAAE,MAAM,CAChB,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,QAAQ,CACjB,0CAA0C,GAAG,CAAC,MAAM,EAAE,EACtD,oBAAoB,CACrB;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,QAAQ,CACjB,+BAA+B,MAAM,CAAC,GAAG,CAAC,EAAE,EAC5C,oBAAoB,CACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IQueryEmbedding } from '../interfaces/query-embedding.js';
|
|
2
|
-
import type { IEmbedder } from '../interfaces/rag.js';
|
|
2
|
+
import type { IEmbedder, IEmbedResult } from '../interfaces/rag.js';
|
|
3
3
|
import type { CallOptions } from '../interfaces/types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Lazy, memoized query embedding.
|
|
@@ -11,9 +11,11 @@ export declare class QueryEmbedding implements IQueryEmbedding {
|
|
|
11
11
|
private readonly embedder;
|
|
12
12
|
private readonly options?;
|
|
13
13
|
readonly text: string;
|
|
14
|
-
private
|
|
14
|
+
private _result;
|
|
15
15
|
constructor(text: string, embedder: IEmbedder, options?: CallOptions | undefined);
|
|
16
|
+
private _getResult;
|
|
16
17
|
toVector(): Promise<number[]>;
|
|
18
|
+
getUsage(): Promise<IEmbedResult['usage']>;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Text-only embedding for stores that don't need vectors (e.g. InMemoryRag).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-embedding.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/query-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"query-embedding.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/query-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,eAAe;IAMlD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAN3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,CAAsC;gBAGnD,IAAI,EAAE,MAAM,EACK,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,WAAW,YAAA;IAKxC,OAAO,CAAC,UAAU;IAKlB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;CAG3C;AAED;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM;IAGxB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAQ9B;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAI1D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,OAAO,CAAkC;gBAG9B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,SAAS;IAGtC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAM9B"}
|
|
@@ -9,15 +9,21 @@ export class QueryEmbedding {
|
|
|
9
9
|
embedder;
|
|
10
10
|
options;
|
|
11
11
|
text;
|
|
12
|
-
|
|
12
|
+
_result = null;
|
|
13
13
|
constructor(text, embedder, options) {
|
|
14
14
|
this.embedder = embedder;
|
|
15
15
|
this.options = options;
|
|
16
16
|
this.text = text;
|
|
17
17
|
}
|
|
18
|
+
_getResult() {
|
|
19
|
+
this._result ??= this.embedder.embed(this.text, this.options);
|
|
20
|
+
return this._result;
|
|
21
|
+
}
|
|
18
22
|
toVector() {
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
return this._getResult().then((r) => r.vector);
|
|
24
|
+
}
|
|
25
|
+
getUsage() {
|
|
26
|
+
return this._getResult().then((r) => r.usage);
|
|
21
27
|
}
|
|
22
28
|
}
|
|
23
29
|
/**
|
|
@@ -52,7 +58,7 @@ export class FallbackQueryEmbedding {
|
|
|
52
58
|
toVector() {
|
|
53
59
|
this._vector ??= this.inner
|
|
54
60
|
.toVector()
|
|
55
|
-
.catch(() => this.fallback.embed(this.text));
|
|
61
|
+
.catch(() => this.fallback.embed(this.text).then((r) => r.vector));
|
|
56
62
|
return this._vector;
|
|
57
63
|
}
|
|
58
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-embedding.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/query-embedding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAMN;IACA;IANV,IAAI,CAAS;IACd,OAAO,
|
|
1
|
+
{"version":3,"file":"query-embedding.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/query-embedding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAMN;IACA;IANV,IAAI,CAAS;IACd,OAAO,GAAiC,IAAI,CAAC;IAErD,YACE,IAAY,EACK,QAAmB,EACnB,OAAqB;QADrB,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAc;QAEtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,CAAS;IACtB,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,QAAQ,CACV,iDAAiD,EACjD,aAAa,CACd,CACF,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAsB;IAId;IACA;IAJX,OAAO,GAA6B,IAAI,CAAC;IAEjD,YACmB,KAAsB,EACtB,QAAmB;QADnB,UAAK,GAAL,KAAK,CAAiB;QACtB,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEJ,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK;aACxB,QAAQ,EAAE;aACV,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates text embeddings via SAP AI Core embedding model deployments.
|
|
5
5
|
* Authentication: reads AICORE_SERVICE_KEY env var automatically (same as LLM provider).
|
|
6
6
|
*/
|
|
7
|
-
import type { IEmbedderBatch } from '../interfaces/rag.js';
|
|
7
|
+
import type { IEmbedderBatch, IEmbedResult } from '../interfaces/rag.js';
|
|
8
8
|
import type { CallOptions } from '../interfaces/types.js';
|
|
9
9
|
export interface SapAiCoreEmbedderConfig {
|
|
10
10
|
/** Embedding model name (e.g. 'text-embedding-3-small') */
|
|
@@ -16,7 +16,7 @@ export declare class SapAiCoreEmbedder implements IEmbedderBatch {
|
|
|
16
16
|
private readonly model;
|
|
17
17
|
private readonly resourceGroup?;
|
|
18
18
|
constructor(config: SapAiCoreEmbedderConfig);
|
|
19
|
-
embed(text: string, _options?: CallOptions): Promise<
|
|
20
|
-
embedBatch(texts: string[], _options?: CallOptions): Promise<
|
|
19
|
+
embed(text: string, _options?: CallOptions): Promise<IEmbedResult>;
|
|
20
|
+
embedBatch(texts: string[], _options?: CallOptions): Promise<IEmbedResult[]>;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=sap-ai-core-embedder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sap-ai-core-embedder.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/sap-ai-core-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sap-ai-core-embedder.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/sap-ai-core-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;gBAE5B,MAAM,EAAE,uBAAuB;IAKrC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmClE,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC;CAmC3B"}
|
|
@@ -26,9 +26,9 @@ export class SapAiCoreEmbedder {
|
|
|
26
26
|
if (typeof embedding === 'string') {
|
|
27
27
|
const buffer = Buffer.from(embedding, 'base64');
|
|
28
28
|
const float32 = new Float32Array(buffer.buffer, buffer.byteOffset, buffer.length / 4);
|
|
29
|
-
return Array.from(float32);
|
|
29
|
+
return { vector: Array.from(float32) };
|
|
30
30
|
}
|
|
31
|
-
return embedding;
|
|
31
|
+
return { vector: embedding };
|
|
32
32
|
}
|
|
33
33
|
async embedBatch(texts, _options) {
|
|
34
34
|
if (texts.length === 0)
|
|
@@ -47,9 +47,9 @@ export class SapAiCoreEmbedder {
|
|
|
47
47
|
if (typeof e.embedding === 'string') {
|
|
48
48
|
const buffer = Buffer.from(e.embedding, 'base64');
|
|
49
49
|
const float32 = new Float32Array(buffer.buffer, buffer.byteOffset, buffer.length / 4);
|
|
50
|
-
return Array.from(float32);
|
|
50
|
+
return { vector: Array.from(float32) };
|
|
51
51
|
}
|
|
52
|
-
return e.embedding;
|
|
52
|
+
return { vector: e.embedding };
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sap-ai-core-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/sap-ai-core-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,OAAO,iBAAiB;IACX,KAAK,CAAS;IACd,aAAa,CAAU;IAExC,YAAY,MAA+B;QACzC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,QAAsB;QAC9C,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CACnD,2BAA2B,CAC5B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI;aACnB,KAAsE,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,4BAA4B,CAC7C,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAC9C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CACvE,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAE5C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1C,mCAAmC;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,YAAY,CAC9B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAClB,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sap-ai-core-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/sap-ai-core-embedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { RagMetadata } from '../interfaces/types.js';
|
|
2
|
+
import type { InvertedIndex } from './inverted-index.js';
|
|
3
|
+
export interface ISearchCandidate {
|
|
4
|
+
text: string;
|
|
5
|
+
vector: number[];
|
|
6
|
+
metadata: RagMetadata;
|
|
7
|
+
}
|
|
8
|
+
export interface ISearchQuery {
|
|
9
|
+
text: string;
|
|
10
|
+
vector: number[];
|
|
11
|
+
}
|
|
12
|
+
export interface IScoredResult {
|
|
13
|
+
text: string;
|
|
14
|
+
metadata: RagMetadata;
|
|
15
|
+
score: number;
|
|
16
|
+
}
|
|
17
|
+
export interface ISearchContext {
|
|
18
|
+
index: InvertedIndex;
|
|
19
|
+
tokenize: (s: string) => string[];
|
|
20
|
+
}
|
|
21
|
+
export interface ISearchStrategy {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
score(query: ISearchQuery, candidates: ISearchCandidate[], context: ISearchContext): IScoredResult[];
|
|
24
|
+
}
|
|
25
|
+
export declare class WeightedFusionStrategy implements ISearchStrategy {
|
|
26
|
+
readonly name = "weighted-fusion";
|
|
27
|
+
private readonly vectorWeight;
|
|
28
|
+
private readonly keywordWeight;
|
|
29
|
+
constructor(config?: {
|
|
30
|
+
vectorWeight?: number;
|
|
31
|
+
keywordWeight?: number;
|
|
32
|
+
});
|
|
33
|
+
score(query: ISearchQuery, candidates: ISearchCandidate[], context: ISearchContext): IScoredResult[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Reciprocal Rank Fusion: combines vector and BM25 rankings using
|
|
37
|
+
* `score(doc) = 1/(k + rank_vector) + 1/(k + rank_bm25)`.
|
|
38
|
+
*
|
|
39
|
+
* RRF is rank-based — it doesn't depend on raw score magnitudes,
|
|
40
|
+
* which makes it more stable than weighted sum when vector and BM25
|
|
41
|
+
* score distributions differ.
|
|
42
|
+
*/
|
|
43
|
+
export declare class RrfStrategy implements ISearchStrategy {
|
|
44
|
+
readonly name = "rrf";
|
|
45
|
+
private readonly k;
|
|
46
|
+
constructor(config?: {
|
|
47
|
+
k?: number;
|
|
48
|
+
});
|
|
49
|
+
score(query: ISearchQuery, candidates: ISearchCandidate[], context: ISearchContext): IScoredResult[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Pure vector cosine similarity. No keyword component.
|
|
53
|
+
* Useful as a baseline or when BM25 tokenization doesn't match the domain.
|
|
54
|
+
*/
|
|
55
|
+
export declare class VectorOnlyStrategy implements ISearchStrategy {
|
|
56
|
+
readonly name = "vector-only";
|
|
57
|
+
score(query: ISearchQuery, candidates: ISearchCandidate[], _context: ISearchContext): IScoredResult[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Pure BM25 lexical scoring. No vector component.
|
|
61
|
+
* Useful when embedder is unavailable or for exact-match-heavy domains.
|
|
62
|
+
*/
|
|
63
|
+
export declare class Bm25OnlyStrategy implements ISearchStrategy {
|
|
64
|
+
readonly name = "bm25-only";
|
|
65
|
+
score(query: ISearchQuery, candidates: ISearchCandidate[], context: ISearchContext): IScoredResult[];
|
|
66
|
+
}
|
|
67
|
+
export interface CompositeStrategyEntry {
|
|
68
|
+
strategy: ISearchStrategy;
|
|
69
|
+
weight: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Combines multiple strategies via weighted Reciprocal Rank Fusion.
|
|
73
|
+
*
|
|
74
|
+
* Each child strategy scores all candidates independently.
|
|
75
|
+
* Results are merged using: `score(doc) = Σ weight_i / (k + rank_i)`
|
|
76
|
+
*
|
|
77
|
+
* All child strategies run synchronously on the same candidates —
|
|
78
|
+
* no I/O, pure CPU, single event-loop tick.
|
|
79
|
+
*/
|
|
80
|
+
export declare class CompositeStrategy implements ISearchStrategy {
|
|
81
|
+
readonly name: string;
|
|
82
|
+
private readonly entries;
|
|
83
|
+
private readonly k;
|
|
84
|
+
constructor(entries: CompositeStrategyEntry[], config?: {
|
|
85
|
+
k?: number;
|
|
86
|
+
});
|
|
87
|
+
score(query: ISearchQuery, candidates: ISearchCandidate[], context: ISearchContext): IScoredResult[];
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=search-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-strategy.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/search-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE,CAAC;CACpB;AA8CD,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,IAAI,qBAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;IAKtE,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE;CAYnB;AAMD;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAS;gBAEf,MAAM,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAInC,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE;CAoCnB;AAMD;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,QAAQ,EAAE,cAAc,GACvB,aAAa,EAAE;CASnB;AAMD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,eAAe;IAE5B,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE;CAUnB;AAMD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAS;gBAEf,OAAO,EAAE,sBAAsB,EAAE,EAAE,MAAM,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAMtE,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE;CA0CnB"}
|