@catalogicus-international/n8n-nodes-light-rag 0.1.6 → 0.2.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/README.md +43 -12
- package/dist/nodes/LightRagTool/LightRagTool.node.js +143 -40
- package/dist/nodes/LightRagTool/LightRagTool.node.js.map +1 -1
- package/dist/nodes/LightRagTool/request.d.ts +21 -1
- package/dist/nodes/LightRagTool/request.js +124 -7
- package/dist/nodes/LightRagTool/request.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
# @catalogicus-international/n8n-nodes-light-rag
|
|
2
2
|
|
|
3
3
|
An n8n community package that exposes a LightRAG API server to regular workflows and
|
|
4
|
-
AI Agents.
|
|
4
|
+
AI Agents. Current release: `0.2.0`.
|
|
5
|
+
|
|
6
|
+
Release `0.2.0` changes `LightRAG Tool` to retrieval-only `POST /query/data`. LightRAG
|
|
7
|
+
retrieves a bounded set of text chunks and the connected AI agent writes the final
|
|
8
|
+
answer, avoiding a second LLM generation inside LightRAG. The regular workflow node
|
|
9
|
+
keeps its existing operations and response behavior.
|
|
5
10
|
|
|
6
11
|
## Nodes
|
|
7
12
|
|
|
@@ -34,7 +39,7 @@ output and retain n8n item pairing.
|
|
|
34
39
|
|
|
35
40
|
Connect `LightRAG Tool` to the tool input of an n8n AI Agent. This node is dedicated
|
|
36
41
|
to querying the knowledge base, so the agent only sees one required `Query` field.
|
|
37
|
-
The endpoint is always `POST /query`.
|
|
42
|
+
The endpoint is always `POST /query/data`.
|
|
38
43
|
|
|
39
44
|
The tool supports the standard n8n AI Agent and the main `GigaChat AI` node from
|
|
40
45
|
[`n8n-nodes-gigachat`](https://github.com/tomyumm-ge/n8n-gigachat). Connect the nodes
|
|
@@ -56,19 +61,45 @@ Query the knowledge base:
|
|
|
56
61
|
}
|
|
57
62
|
```
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
`
|
|
61
|
-
|
|
64
|
+
Retrieval settings are controlled only by visible node fields. The defaults are
|
|
65
|
+
`Mode: Naive`, `Top K: 5`, `Chunk Top K: 5`, `Max Total Tokens: 2000`,
|
|
66
|
+
`Enable Rerank: false`, and `Request Timeout: 30 seconds`. The agent cannot override
|
|
67
|
+
these values through tool arguments. `Max Total Tokens` includes LightRAG's own prompt,
|
|
68
|
+
the query, and reserved tokens, so the available chunk budget is smaller than the UI
|
|
69
|
+
value.
|
|
70
|
+
|
|
71
|
+
`Naive` is the recommended low-latency mode because it performs vector retrieval only.
|
|
72
|
+
`Local`, `Global`, `Hybrid`, and `Mix` may call an LLM to extract keywords and can be
|
|
73
|
+
slower. `Bypass` is not available because it produces no retrieval chunks.
|
|
74
|
+
|
|
75
|
+
The request body for the default profile is:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"query": "What does the knowledge base say about LightRAG?",
|
|
80
|
+
"mode": "naive",
|
|
81
|
+
"top_k": 5,
|
|
82
|
+
"chunk_top_k": 5,
|
|
83
|
+
"max_total_tokens": 2000,
|
|
84
|
+
"enable_rerank": false
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The timeout is an HTTP client setting in milliseconds and is not sent in this body.
|
|
62
89
|
|
|
63
90
|
The tool exposes `execute`, `invoke`, and `call` compatibility methods. In particular,
|
|
64
91
|
`execute` allows `GigaChat AI` to pass the structured `{ "query": "..." }` arguments
|
|
65
|
-
without converting them into a plain string.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
92
|
+
without converting them into a plain string. The tool returns only numbered plain-text
|
|
93
|
+
fragments; entity data, metadata, references, IDs, and file paths are not sent to the
|
|
94
|
+
agent. A no-results response and retrieval timeout are returned as controlled
|
|
95
|
+
`LIGHTRAG_NO_RESULTS` and `LIGHTRAG_TIMEOUT` messages. Other failures remain workflow
|
|
96
|
+
errors.
|
|
97
|
+
|
|
98
|
+
Each tool run records safe diagnostics in the n8n execution: retrieval settings,
|
|
99
|
+
duration, outcome, chunk count, and an HTTP status when available. The LightRAG Tool
|
|
100
|
+
does not add the query, chunks, response body, headers, or credentials to its diagnostic
|
|
101
|
+
records or logs. The parent AI Agent can still retain function arguments and tool output
|
|
102
|
+
as part of its own execution data.
|
|
72
103
|
|
|
73
104
|
The regular `LightRAG` workflow node retains the full operation list for document
|
|
74
105
|
management and custom requests, but is not exposed as an AI Agent tool.
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LightRagTool = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
const request_1 = require("./request");
|
|
6
|
+
const REQUIRED_TOOL_INSTRUCTIONS = 'Use the retrieved fragments to answer the user. If the tool returns LIGHTRAG_NO_RESULTS or LIGHTRAG_TIMEOUT, explain that the knowledge base has no relevant context or is temporarily unavailable, and do not invent information.';
|
|
6
7
|
const REQUEST_SCHEMA = {
|
|
7
8
|
type: 'object',
|
|
8
9
|
properties: {
|
|
@@ -42,6 +43,26 @@ class LightRagStructuredTool {
|
|
|
42
43
|
return input;
|
|
43
44
|
}
|
|
44
45
|
}
|
|
46
|
+
function getRetrievalParameters(context, itemIndex) {
|
|
47
|
+
return {
|
|
48
|
+
mode: context.getNodeParameter('mode', itemIndex, 'naive'),
|
|
49
|
+
topK: context.getNodeParameter('topK', itemIndex, 5),
|
|
50
|
+
chunkTopK: context.getNodeParameter('chunkTopK', itemIndex, 5),
|
|
51
|
+
maxTotalTokens: context.getNodeParameter('maxTotalTokens', itemIndex, 2000),
|
|
52
|
+
enableRerank: context.getNodeParameter('enableRerank', itemIndex, false),
|
|
53
|
+
requestTimeout: context.getNodeParameter('requestTimeout', itemIndex, 30),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function safeErrorMessage(error, httpStatus) {
|
|
57
|
+
if (httpStatus !== undefined) {
|
|
58
|
+
return `LightRAG retrieval request failed with HTTP status ${httpStatus}`;
|
|
59
|
+
}
|
|
60
|
+
if (error instanceof Error &&
|
|
61
|
+
['LightRAG retrieval failed', 'LightRAG returned a malformed retrieval response'].includes(error.message)) {
|
|
62
|
+
return error.message;
|
|
63
|
+
}
|
|
64
|
+
return 'LightRAG retrieval request failed';
|
|
65
|
+
}
|
|
45
66
|
class LightRagTool {
|
|
46
67
|
constructor() {
|
|
47
68
|
this.description = {
|
|
@@ -65,43 +86,88 @@ class LightRagTool {
|
|
|
65
86
|
],
|
|
66
87
|
properties: [
|
|
67
88
|
{
|
|
68
|
-
displayName: '
|
|
69
|
-
name: '
|
|
70
|
-
type: '
|
|
71
|
-
placeholder: 'Add Field',
|
|
72
|
-
default: {},
|
|
89
|
+
displayName: 'Mode',
|
|
90
|
+
name: 'mode',
|
|
91
|
+
type: 'options',
|
|
73
92
|
options: [
|
|
74
93
|
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
94
|
+
name: 'Global',
|
|
95
|
+
value: 'global',
|
|
96
|
+
description: 'Relationship-focused retrieval that may use an LLM to extract keywords',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'Hybrid',
|
|
100
|
+
value: 'hybrid',
|
|
101
|
+
description: 'Combined graph retrieval that may use an LLM to extract keywords',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'Local',
|
|
105
|
+
value: 'local',
|
|
106
|
+
description: 'Entity-focused retrieval that may use an LLM to extract keywords',
|
|
80
107
|
},
|
|
81
108
|
{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
default: true,
|
|
86
|
-
description: 'Whether the response should include source references',
|
|
109
|
+
name: 'Mix',
|
|
110
|
+
value: 'mix',
|
|
111
|
+
description: 'Graph and vector retrieval that may use an LLM to extract keywords',
|
|
87
112
|
},
|
|
88
113
|
{
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
options: [
|
|
93
|
-
{ name: 'Bypass', value: 'bypass' },
|
|
94
|
-
{ name: 'Global', value: 'global' },
|
|
95
|
-
{ name: 'Hybrid', value: 'hybrid' },
|
|
96
|
-
{ name: 'Local', value: 'local' },
|
|
97
|
-
{ name: 'Mix', value: 'mix' },
|
|
98
|
-
{ name: 'Naive', value: 'naive' },
|
|
99
|
-
],
|
|
100
|
-
default: 'mix',
|
|
101
|
-
description: 'The LightRAG retrieval mode',
|
|
114
|
+
name: 'Naive',
|
|
115
|
+
value: 'naive',
|
|
116
|
+
description: 'Fast vector-only retrieval without knowledge-graph keyword extraction',
|
|
102
117
|
},
|
|
103
118
|
],
|
|
104
|
-
|
|
119
|
+
default: 'naive',
|
|
120
|
+
description: 'The retrieval strategy used by LightRAG',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
displayName: 'Non-naive modes may call an LLM to extract keywords and can take significantly longer than Naive mode.',
|
|
124
|
+
name: 'nonNaiveModeNotice',
|
|
125
|
+
type: 'notice',
|
|
126
|
+
default: '',
|
|
127
|
+
displayOptions: {
|
|
128
|
+
show: {
|
|
129
|
+
mode: ['local', 'global', 'hybrid', 'mix'],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
displayName: 'Top K',
|
|
135
|
+
name: 'topK',
|
|
136
|
+
type: 'number',
|
|
137
|
+
default: 5,
|
|
138
|
+
typeOptions: { minValue: 1, maxValue: 20 },
|
|
139
|
+
description: 'Maximum number of entities or relationships to retrieve',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
displayName: 'Chunk Top K',
|
|
143
|
+
name: 'chunkTopK',
|
|
144
|
+
type: 'number',
|
|
145
|
+
default: 5,
|
|
146
|
+
typeOptions: { minValue: 1, maxValue: 20 },
|
|
147
|
+
description: 'Maximum number of text chunks to retrieve',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
displayName: 'Max Total Tokens',
|
|
151
|
+
name: 'maxTotalTokens',
|
|
152
|
+
type: 'number',
|
|
153
|
+
default: 2000,
|
|
154
|
+
typeOptions: { minValue: 1000, maxValue: 10000 },
|
|
155
|
+
description: 'Total LightRAG context budget, including its system prompt, query, and reserved tokens',
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
displayName: 'Enable Rerank',
|
|
159
|
+
name: 'enableRerank',
|
|
160
|
+
type: 'boolean',
|
|
161
|
+
default: false,
|
|
162
|
+
description: 'Whether to run the configured server-side reranker',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
displayName: 'Request Timeout (Seconds)',
|
|
166
|
+
name: 'requestTimeout',
|
|
167
|
+
type: 'number',
|
|
168
|
+
default: 30,
|
|
169
|
+
typeOptions: { minValue: 5, maxValue: 60 },
|
|
170
|
+
description: 'Maximum time to wait for the LightRAG retrieval request',
|
|
105
171
|
},
|
|
106
172
|
{
|
|
107
173
|
displayName: 'Tool Description',
|
|
@@ -121,8 +187,7 @@ class LightRagTool {
|
|
|
121
187
|
const returnData = [];
|
|
122
188
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
123
189
|
try {
|
|
124
|
-
const
|
|
125
|
-
const request = (0, request_1.normalizeAgentQueryRequest)(items[itemIndex].json, additionalFields);
|
|
190
|
+
const request = (0, request_1.normalizeAgentQueryRequest)(items[itemIndex].json, getRetrievalParameters(this, itemIndex));
|
|
126
191
|
const response = await (0, request_1.executeLightRagRequest)(this, baseUrl, request);
|
|
127
192
|
returnData.push(...(0, request_1.responseToExecutionData)(response, itemIndex));
|
|
128
193
|
}
|
|
@@ -142,19 +207,57 @@ class LightRagTool {
|
|
|
142
207
|
async supplyData(itemIndex) {
|
|
143
208
|
const credentials = await this.getCredentials('lightRagApi');
|
|
144
209
|
const baseUrl = (0, request_1.normalizeBaseUrl)(credentials.baseUrl);
|
|
145
|
-
const
|
|
210
|
+
const retrievalParameters = getRetrievalParameters(this, itemIndex);
|
|
211
|
+
const retrievalSettings = (0, request_1.normalizeAgentRetrievalSettings)(retrievalParameters);
|
|
146
212
|
const configuredDescription = this.getNodeParameter('toolDescription', itemIndex, '').trim();
|
|
147
|
-
const description = configuredDescription ||
|
|
148
|
-
'Query the LightRAG knowledge base. Provide the user question in the "query" field.'
|
|
213
|
+
const description = `${configuredDescription ||
|
|
214
|
+
'Query the LightRAG knowledge base. Provide the user question in the "query" field.'} ${REQUIRED_TOOL_INSTRUCTIONS}`;
|
|
215
|
+
const diagnosticInput = {
|
|
216
|
+
mode: retrievalSettings.mode,
|
|
217
|
+
top_k: retrievalSettings.topK,
|
|
218
|
+
chunk_top_k: retrievalSettings.chunkTopK,
|
|
219
|
+
max_total_tokens: retrievalSettings.maxTotalTokens,
|
|
220
|
+
enable_rerank: retrievalSettings.enableRerank,
|
|
221
|
+
timeout_ms: retrievalSettings.timeoutMs,
|
|
222
|
+
};
|
|
149
223
|
return {
|
|
150
224
|
metadata: { itemIndex },
|
|
151
225
|
response: new LightRagStructuredTool(description, async (input) => {
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
226
|
+
const { index: runIndex } = this.addInputData(n8n_workflow_1.NodeConnectionTypes.AiTool, [
|
|
227
|
+
[{ json: diagnosticInput }],
|
|
228
|
+
]);
|
|
229
|
+
const startedAt = Date.now();
|
|
230
|
+
const recordOutcome = (outcome, chunkCount, httpStatus) => {
|
|
231
|
+
const diagnostics = {
|
|
232
|
+
...diagnosticInput,
|
|
233
|
+
duration_ms: Date.now() - startedAt,
|
|
234
|
+
outcome,
|
|
235
|
+
chunk_count: chunkCount,
|
|
236
|
+
...(httpStatus !== undefined ? { http_status: httpStatus } : {}),
|
|
237
|
+
};
|
|
238
|
+
this.addOutputData(n8n_workflow_1.NodeConnectionTypes.AiTool, runIndex, [
|
|
239
|
+
[{ json: diagnostics }],
|
|
240
|
+
]);
|
|
241
|
+
this.logger.info('LightRAG Tool retrieval completed', diagnostics);
|
|
242
|
+
};
|
|
243
|
+
try {
|
|
244
|
+
const request = (0, request_1.normalizeAgentQueryRequest)(input, retrievalParameters);
|
|
245
|
+
const response = await (0, request_1.executeLightRagRequest)(this, baseUrl, request);
|
|
246
|
+
const result = (0, request_1.formatAgentRetrievalResponse)(response);
|
|
247
|
+
recordOutcome(result.outcome, result.chunkCount);
|
|
248
|
+
return result.text;
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
const httpStatus = (0, request_1.getSafeHttpStatus)(error);
|
|
252
|
+
if ((0, request_1.isLightRagTimeoutError)(error)) {
|
|
253
|
+
recordOutcome('timeout', 0, httpStatus);
|
|
254
|
+
return request_1.LIGHTRAG_TIMEOUT;
|
|
255
|
+
}
|
|
256
|
+
recordOutcome('error', 0, httpStatus);
|
|
257
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), safeErrorMessage(error, httpStatus), {
|
|
258
|
+
itemIndex,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
158
261
|
}),
|
|
159
262
|
};
|
|
160
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightRagTool.node.js","sourceRoot":"","sources":["../../../nodes/LightRagTool/LightRagTool.node.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LightRagTool.node.js","sourceRoot":"","sources":["../../../nodes/LightRagTool/LightRagTool.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,32 @@ export interface LightRagRequestOptions {
|
|
|
5
5
|
path: string;
|
|
6
6
|
query?: IDataObject;
|
|
7
7
|
body?: IDataObject;
|
|
8
|
+
timeout?: number;
|
|
8
9
|
}
|
|
10
|
+
export interface AgentRetrievalSettings {
|
|
11
|
+
mode: 'naive' | 'local' | 'global' | 'hybrid' | 'mix';
|
|
12
|
+
topK: number;
|
|
13
|
+
chunkTopK: number;
|
|
14
|
+
maxTotalTokens: number;
|
|
15
|
+
enableRerank: boolean;
|
|
16
|
+
timeoutMs: number;
|
|
17
|
+
}
|
|
18
|
+
export interface AgentRetrievalResult {
|
|
19
|
+
text: string;
|
|
20
|
+
outcome: 'success' | 'no_results';
|
|
21
|
+
chunkCount: number;
|
|
22
|
+
}
|
|
23
|
+
export declare const LIGHTRAG_NO_RESULTS = "LIGHTRAG_NO_RESULTS\n\u0412 \u0431\u0430\u0437\u0435 \u0437\u043D\u0430\u043D\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0440\u0435\u043B\u0435\u0432\u0430\u043D\u0442\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438.";
|
|
24
|
+
export declare const LIGHTRAG_TIMEOUT = "LIGHTRAG_TIMEOUT\n\u0411\u0430\u0437\u0430 \u0437\u043D\u0430\u043D\u0438\u0439 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430. \u041D\u0435 \u043F\u0440\u0438\u0434\u0443\u043C\u044B\u0432\u0430\u0439\u0442\u0435 \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0431\u0435\u0437 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430.";
|
|
9
25
|
export declare function normalizeBaseUrl(value: unknown): string;
|
|
10
26
|
export declare function parseRequestObject(value: unknown, fieldName?: string): IDataObject;
|
|
11
27
|
export declare function normalizeToolRequest(value: unknown): LightRagRequestOptions;
|
|
12
28
|
export declare function normalizeConfiguredRequest(method: unknown, path: unknown, input: unknown): LightRagRequestOptions;
|
|
13
|
-
export declare function
|
|
29
|
+
export declare function normalizeAgentRetrievalSettings(value: unknown): AgentRetrievalSettings;
|
|
30
|
+
export declare function normalizeAgentQueryRequest(input: unknown, settingsValue: unknown): LightRagRequestOptions;
|
|
14
31
|
export declare function executeLightRagRequest(executeFunctions: IExecuteFunctions | ISupplyDataFunctions, baseUrl: string, request: LightRagRequestOptions): Promise<unknown>;
|
|
32
|
+
export declare function formatAgentRetrievalResponse(response: unknown): AgentRetrievalResult;
|
|
33
|
+
export declare function getSafeHttpStatus(error: unknown): number | undefined;
|
|
34
|
+
export declare function isLightRagTimeoutError(error: unknown): boolean;
|
|
15
35
|
export declare function sanitizeAgentToolResponse(response: unknown): unknown;
|
|
16
36
|
export declare function responseToExecutionData(response: unknown, itemIndex: number): INodeExecutionData[];
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LIGHTRAG_TIMEOUT = exports.LIGHTRAG_NO_RESULTS = void 0;
|
|
3
4
|
exports.normalizeBaseUrl = normalizeBaseUrl;
|
|
4
5
|
exports.parseRequestObject = parseRequestObject;
|
|
5
6
|
exports.normalizeToolRequest = normalizeToolRequest;
|
|
6
7
|
exports.normalizeConfiguredRequest = normalizeConfiguredRequest;
|
|
8
|
+
exports.normalizeAgentRetrievalSettings = normalizeAgentRetrievalSettings;
|
|
7
9
|
exports.normalizeAgentQueryRequest = normalizeAgentQueryRequest;
|
|
8
10
|
exports.executeLightRagRequest = executeLightRagRequest;
|
|
11
|
+
exports.formatAgentRetrievalResponse = formatAgentRetrievalResponse;
|
|
12
|
+
exports.getSafeHttpStatus = getSafeHttpStatus;
|
|
13
|
+
exports.isLightRagTimeoutError = isLightRagTimeoutError;
|
|
9
14
|
exports.sanitizeAgentToolResponse = sanitizeAgentToolResponse;
|
|
10
15
|
exports.responseToExecutionData = responseToExecutionData;
|
|
11
16
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
17
|
+
exports.LIGHTRAG_NO_RESULTS = 'LIGHTRAG_NO_RESULTS\nВ базе знаний не найдено релевантной информации.';
|
|
18
|
+
exports.LIGHTRAG_TIMEOUT = 'LIGHTRAG_TIMEOUT\nБаза знаний временно недоступна. Не придумывайте сведения без контекста.';
|
|
12
19
|
const QUERY_MODES = ['local', 'global', 'hybrid', 'naive', 'mix', 'bypass'];
|
|
20
|
+
const AGENT_QUERY_MODES = ['naive', 'local', 'global', 'hybrid', 'mix'];
|
|
13
21
|
const HTTP_METHODS = ['DELETE', 'GET', 'HEAD', 'PATCH', 'POST', 'PUT'];
|
|
14
22
|
function isObject(value) {
|
|
15
23
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
@@ -54,6 +62,13 @@ function requireString(value, fieldName, minimumLength = 1) {
|
|
|
54
62
|
}
|
|
55
63
|
return value.trim();
|
|
56
64
|
}
|
|
65
|
+
function requireIntegerInRange(value, fieldName, minimum, maximum) {
|
|
66
|
+
const parsed = typeof value === 'number' ? value : Number(value);
|
|
67
|
+
if (!Number.isInteger(parsed) || parsed < minimum || parsed > maximum) {
|
|
68
|
+
throw new n8n_workflow_1.ApplicationError(`${fieldName} must be an integer between ${minimum} and ${maximum}`);
|
|
69
|
+
}
|
|
70
|
+
return parsed;
|
|
71
|
+
}
|
|
57
72
|
function normalizePath(value) {
|
|
58
73
|
const path = requireString(value, 'Path').replace(/^\/+|\/+$/g, '');
|
|
59
74
|
if (/^(?:https?:)?\/\//i.test(path)) {
|
|
@@ -185,16 +200,42 @@ function normalizeConfiguredRequest(method, path, input) {
|
|
|
185
200
|
...(body !== undefined ? { body } : {}),
|
|
186
201
|
};
|
|
187
202
|
}
|
|
188
|
-
function
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
203
|
+
function normalizeAgentRetrievalSettings(value) {
|
|
204
|
+
var _a, _b, _c, _d, _e, _f;
|
|
205
|
+
const settings = parseRequestObject(value, 'Retrieval settings');
|
|
206
|
+
const mode = String((_a = settings.mode) !== null && _a !== void 0 ? _a : 'naive');
|
|
207
|
+
const enableRerank = (_b = settings.enableRerank) !== null && _b !== void 0 ? _b : false;
|
|
208
|
+
if (!AGENT_QUERY_MODES.includes(mode)) {
|
|
209
|
+
throw new n8n_workflow_1.ApplicationError(`Retrieval mode must be one of: ${AGENT_QUERY_MODES.join(', ')}`);
|
|
210
|
+
}
|
|
211
|
+
if (typeof enableRerank !== 'boolean') {
|
|
212
|
+
throw new n8n_workflow_1.ApplicationError('Enable Rerank must be a boolean');
|
|
213
|
+
}
|
|
214
|
+
return {
|
|
215
|
+
mode: mode,
|
|
216
|
+
topK: requireIntegerInRange((_c = settings.topK) !== null && _c !== void 0 ? _c : 5, 'Top K', 1, 20),
|
|
217
|
+
chunkTopK: requireIntegerInRange((_d = settings.chunkTopK) !== null && _d !== void 0 ? _d : 5, 'Chunk Top K', 1, 20),
|
|
218
|
+
maxTotalTokens: requireIntegerInRange((_e = settings.maxTotalTokens) !== null && _e !== void 0 ? _e : 2000, 'Max Total Tokens', 1000, 10000),
|
|
219
|
+
enableRerank,
|
|
220
|
+
timeoutMs: requireIntegerInRange((_f = settings.requestTimeout) !== null && _f !== void 0 ? _f : 30, 'Request Timeout', 5, 60) *
|
|
221
|
+
1000,
|
|
193
222
|
};
|
|
223
|
+
}
|
|
224
|
+
function normalizeAgentQueryRequest(input, settingsValue) {
|
|
225
|
+
const request = parseRequestObject(input, 'Agent query');
|
|
226
|
+
const settings = normalizeAgentRetrievalSettings(settingsValue);
|
|
194
227
|
return {
|
|
195
228
|
method: 'POST',
|
|
196
|
-
path: 'query',
|
|
197
|
-
|
|
229
|
+
path: 'query/data',
|
|
230
|
+
timeout: settings.timeoutMs,
|
|
231
|
+
body: {
|
|
232
|
+
query: requireString(request.query, 'Query', 3),
|
|
233
|
+
mode: settings.mode,
|
|
234
|
+
top_k: settings.topK,
|
|
235
|
+
chunk_top_k: settings.chunkTopK,
|
|
236
|
+
max_total_tokens: settings.maxTotalTokens,
|
|
237
|
+
enable_rerank: settings.enableRerank,
|
|
238
|
+
},
|
|
198
239
|
};
|
|
199
240
|
}
|
|
200
241
|
async function executeLightRagRequest(executeFunctions, baseUrl, request) {
|
|
@@ -203,6 +244,8 @@ async function executeLightRagRequest(executeFunctions, baseUrl, request) {
|
|
|
203
244
|
url: `${baseUrl}/${request.path}`,
|
|
204
245
|
json: true,
|
|
205
246
|
};
|
|
247
|
+
if (request.timeout !== undefined)
|
|
248
|
+
options.timeout = request.timeout;
|
|
206
249
|
if (request.query !== undefined)
|
|
207
250
|
options.qs = request.query;
|
|
208
251
|
if (request.body !== undefined &&
|
|
@@ -212,6 +255,80 @@ async function executeLightRagRequest(executeFunctions, baseUrl, request) {
|
|
|
212
255
|
}
|
|
213
256
|
return await executeFunctions.helpers.httpRequestWithAuthentication.call(executeFunctions, 'lightRagApi', options);
|
|
214
257
|
}
|
|
258
|
+
function failureReason(response) {
|
|
259
|
+
if (isObject(response.metadata) && typeof response.metadata.failure_reason === 'string') {
|
|
260
|
+
return response.metadata.failure_reason;
|
|
261
|
+
}
|
|
262
|
+
return typeof response.failure_reason === 'string' ? response.failure_reason : undefined;
|
|
263
|
+
}
|
|
264
|
+
function formatAgentRetrievalResponse(response) {
|
|
265
|
+
if (!isObject(response) || typeof response.status !== 'string') {
|
|
266
|
+
throw new n8n_workflow_1.ApplicationError('LightRAG returned a malformed retrieval response');
|
|
267
|
+
}
|
|
268
|
+
if (response.status === 'failure') {
|
|
269
|
+
if (failureReason(response) === 'no_results') {
|
|
270
|
+
return { text: exports.LIGHTRAG_NO_RESULTS, outcome: 'no_results', chunkCount: 0 };
|
|
271
|
+
}
|
|
272
|
+
throw new n8n_workflow_1.ApplicationError('LightRAG retrieval failed');
|
|
273
|
+
}
|
|
274
|
+
if (response.status !== 'success' || !isObject(response.data) || !Array.isArray(response.data.chunks)) {
|
|
275
|
+
throw new n8n_workflow_1.ApplicationError('LightRAG returned a malformed retrieval response');
|
|
276
|
+
}
|
|
277
|
+
const chunks = response.data.chunks.map((chunk) => {
|
|
278
|
+
if (!isObject(chunk) || typeof chunk.content !== 'string') {
|
|
279
|
+
throw new n8n_workflow_1.ApplicationError('LightRAG returned a malformed retrieval response');
|
|
280
|
+
}
|
|
281
|
+
return chunk.content.trim();
|
|
282
|
+
});
|
|
283
|
+
const nonEmptyChunks = chunks.filter(Boolean);
|
|
284
|
+
if (nonEmptyChunks.length === 0) {
|
|
285
|
+
return { text: exports.LIGHTRAG_NO_RESULTS, outcome: 'no_results', chunkCount: 0 };
|
|
286
|
+
}
|
|
287
|
+
return {
|
|
288
|
+
text: nonEmptyChunks
|
|
289
|
+
.map((content, index) => `Фрагмент ${index + 1}:\n${content}`)
|
|
290
|
+
.join('\n\n'),
|
|
291
|
+
outcome: 'success',
|
|
292
|
+
chunkCount: nonEmptyChunks.length,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function errorObjects(error) {
|
|
296
|
+
const objects = [];
|
|
297
|
+
const pending = [error];
|
|
298
|
+
const visited = new Set();
|
|
299
|
+
while (pending.length > 0 && objects.length < 10) {
|
|
300
|
+
const current = pending.shift();
|
|
301
|
+
if (!isObject(current) || visited.has(current))
|
|
302
|
+
continue;
|
|
303
|
+
visited.add(current);
|
|
304
|
+
objects.push(current);
|
|
305
|
+
pending.push(current.cause, current.response);
|
|
306
|
+
}
|
|
307
|
+
return objects;
|
|
308
|
+
}
|
|
309
|
+
function getSafeHttpStatus(error) {
|
|
310
|
+
for (const candidate of errorObjects(error)) {
|
|
311
|
+
for (const value of [candidate.statusCode, candidate.status, candidate.httpCode]) {
|
|
312
|
+
const parsed = typeof value === 'number' ? value : Number(value);
|
|
313
|
+
if (Number.isInteger(parsed) && parsed >= 100 && parsed <= 599)
|
|
314
|
+
return parsed;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
function isLightRagTimeoutError(error) {
|
|
320
|
+
const status = getSafeHttpStatus(error);
|
|
321
|
+
if (status === 408 || status === 504)
|
|
322
|
+
return true;
|
|
323
|
+
const timeoutCodes = new Set(['ETIMEDOUT', 'ESOCKETTIMEDOUT', 'ECONNABORTED']);
|
|
324
|
+
for (const candidate of errorObjects(error)) {
|
|
325
|
+
if (typeof candidate.code === 'string' && timeoutCodes.has(candidate.code.toUpperCase())) {
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
const message = error instanceof Error ? error.message : '';
|
|
330
|
+
return /timed?\s*out|timeout/i.test(message);
|
|
331
|
+
}
|
|
215
332
|
function stripReferencesFromResponse(response) {
|
|
216
333
|
return response
|
|
217
334
|
.replace(/\n*#{1,6}\s*References[\s\S]*$/i, '')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../nodes/LightRagTool/request.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../nodes/LightRagTool/request.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED