n8n-nodes-agentic-rag-ai-bigboss 1.0.1 → 1.0.2
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.
|
@@ -13,14 +13,22 @@ class AgenticAIAgentAgenticRag {
|
|
|
13
13
|
defaults: {
|
|
14
14
|
name: 'Agentic RAG',
|
|
15
15
|
},
|
|
16
|
-
inputs: [
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
inputs: [
|
|
17
|
+
{
|
|
18
|
+
displayName: 'Main',
|
|
19
|
+
type: 'main',
|
|
20
|
+
},
|
|
19
21
|
{
|
|
20
|
-
|
|
22
|
+
displayName: 'Model',
|
|
23
|
+
type: 'ai_languageModel',
|
|
21
24
|
required: true,
|
|
22
25
|
},
|
|
26
|
+
{
|
|
27
|
+
displayName: 'Vector Store',
|
|
28
|
+
type: 'ai_vectorStore',
|
|
29
|
+
},
|
|
23
30
|
],
|
|
31
|
+
outputs: ['main'],
|
|
24
32
|
properties: [
|
|
25
33
|
{
|
|
26
34
|
displayName: 'Resource',
|
|
@@ -228,9 +236,9 @@ class AgenticAIAgentAgenticRag {
|
|
|
228
236
|
complete: false
|
|
229
237
|
};
|
|
230
238
|
while (!agentState.complete && agentState.iteration < maxIterations) {
|
|
231
|
-
const plan = await generatePlan(this, agentState);
|
|
232
|
-
const results = await executeResearch(this, plan, agentState);
|
|
233
|
-
const reflection = await reflectOnResults(this, results, agentState);
|
|
239
|
+
const plan = await generatePlan(this, i, agentState);
|
|
240
|
+
const results = await executeResearch(this, i, plan, agentState);
|
|
241
|
+
const reflection = await reflectOnResults(this, i, results, agentState);
|
|
234
242
|
agentState.findings.push({
|
|
235
243
|
iteration: agentState.iteration,
|
|
236
244
|
results
|
|
@@ -239,11 +247,11 @@ class AgenticAIAgentAgenticRag {
|
|
|
239
247
|
agentState.complete = reflection.should_stop || agentState.confidence >= (confidenceThreshold * 100);
|
|
240
248
|
agentState.iteration++;
|
|
241
249
|
if (!agentState.complete) {
|
|
242
|
-
const followUps = await generateFollowUpQuestions(this, agentState);
|
|
250
|
+
const followUps = await generateFollowUpQuestions(this, i, agentState);
|
|
243
251
|
agentState.questions_asked.push(...followUps);
|
|
244
252
|
}
|
|
245
253
|
}
|
|
246
|
-
const finalAnswer = await synthesizeAnswer(this, agentState);
|
|
254
|
+
const finalAnswer = await synthesizeAnswer(this, i, agentState);
|
|
247
255
|
returnData.push({
|
|
248
256
|
json: {
|
|
249
257
|
answer: finalAnswer,
|
|
@@ -252,7 +260,8 @@ class AgenticAIAgentAgenticRag {
|
|
|
252
260
|
sources: agentState.findings,
|
|
253
261
|
reasoning_trace: agentState.questions_asked,
|
|
254
262
|
metadata: {
|
|
255
|
-
|
|
263
|
+
status: 'success',
|
|
264
|
+
agent: 'BigBoss-Agentic-RAG-v1'
|
|
256
265
|
}
|
|
257
266
|
}
|
|
258
267
|
});
|
|
@@ -281,56 +290,81 @@ class AgenticAIAgentAgenticRag {
|
|
|
281
290
|
}
|
|
282
291
|
}
|
|
283
292
|
exports.AgenticAIAgentAgenticRag = AgenticAIAgentAgenticRag;
|
|
284
|
-
async function runLlm(thisRef, system, prompt, jsonMode = false) {
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
temperature: 0.2
|
|
292
|
-
};
|
|
293
|
-
if (jsonMode) {
|
|
294
|
-
body.response_format = { type: 'json_object' };
|
|
295
|
-
}
|
|
296
|
-
const response = await thisRef.helpers.requestWithAuthentication.call(thisRef, 'openAiApi', {
|
|
297
|
-
method: 'POST',
|
|
298
|
-
uri: 'https://api.openai.com/v1/chat/completions',
|
|
299
|
-
body,
|
|
300
|
-
json: true,
|
|
293
|
+
async function runLlm(thisRef, itemIndex, system, prompt, jsonMode = false) {
|
|
294
|
+
const messages = [
|
|
295
|
+
{ role: 'system', content: system },
|
|
296
|
+
{ role: 'user', content: prompt }
|
|
297
|
+
];
|
|
298
|
+
const response = await thisRef.helpers.executeLanguageModel(itemIndex, messages, {
|
|
299
|
+
jsonMode,
|
|
301
300
|
});
|
|
302
|
-
const content = response.
|
|
303
|
-
|
|
301
|
+
const content = typeof response === 'string' ? response : response.text || response.content;
|
|
302
|
+
if (jsonMode && typeof content === 'string') {
|
|
303
|
+
try {
|
|
304
|
+
const cleanContent = content.replace(/```json\n?|\n?```/g, '').trim();
|
|
305
|
+
return JSON.parse(cleanContent);
|
|
306
|
+
}
|
|
307
|
+
catch (e) {
|
|
308
|
+
return { error: 'Failed to parse model response as JSON', raw: content };
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return content;
|
|
304
312
|
}
|
|
305
|
-
async function generatePlan(thisRef, state) {
|
|
313
|
+
async function generatePlan(thisRef, itemIndex, state) {
|
|
306
314
|
const prompt = `Decompose this query into specific research sub-questions: "${state.query}".
|
|
307
315
|
Previous questions asked: ${JSON.stringify(state.questions_asked)}.
|
|
308
316
|
Return a JSON object with: { "sub_questions": string[], "search_strategies": string[] }`;
|
|
309
|
-
return await runLlm(thisRef, "You are a research planner.", prompt, true);
|
|
317
|
+
return await runLlm(thisRef, itemIndex, "You are a research planner. Output VALID JSON ONLY.", prompt, true);
|
|
310
318
|
}
|
|
311
|
-
async function executeResearch(thisRef, plan, state) {
|
|
319
|
+
async function executeResearch(thisRef, itemIndex, plan, state) {
|
|
320
|
+
const ragSource = thisRef.getNodeParameter('ragSource', itemIndex);
|
|
321
|
+
if (ragSource !== 'webSearch') {
|
|
322
|
+
try {
|
|
323
|
+
const results = [];
|
|
324
|
+
for (const q of plan.sub_questions) {
|
|
325
|
+
const searchResults = await thisRef.helpers.executeVectorStore(itemIndex, q, {
|
|
326
|
+
topK: 3,
|
|
327
|
+
});
|
|
328
|
+
if (searchResults && searchResults.length > 0) {
|
|
329
|
+
results.push({
|
|
330
|
+
question: q,
|
|
331
|
+
evidence: searchResults.map((r) => r.pageContent).join('\n'),
|
|
332
|
+
sources: searchResults.map((r) => ({
|
|
333
|
+
title: (r.metadata && r.metadata.title) || 'Source Document',
|
|
334
|
+
url: (r.metadata && r.metadata.url) || '#'
|
|
335
|
+
})),
|
|
336
|
+
confidence: 0.9
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (results.length > 0)
|
|
341
|
+
return results;
|
|
342
|
+
}
|
|
343
|
+
catch (e) {
|
|
344
|
+
}
|
|
345
|
+
}
|
|
312
346
|
return plan.sub_questions.map((q) => ({
|
|
313
347
|
question: q,
|
|
314
|
-
evidence: `
|
|
315
|
-
sources: [{ title: '
|
|
316
|
-
confidence: 0.
|
|
348
|
+
evidence: `Search result for: ${q} (Simulated)`,
|
|
349
|
+
sources: [{ title: 'Web Analysis', url: 'https://google.com' }],
|
|
350
|
+
confidence: 0.8
|
|
317
351
|
}));
|
|
318
352
|
}
|
|
319
|
-
async function reflectOnResults(thisRef, results, state) {
|
|
353
|
+
async function reflectOnResults(thisRef, itemIndex, results, state) {
|
|
320
354
|
const prompt = `Based on these results: ${JSON.stringify(results)}, assess our progress for the query: "${state.query}".
|
|
321
355
|
Return a JSON object with: { "confidence": number (0-100), "should_stop": boolean, "knowledge_gaps": string[] }`;
|
|
322
|
-
return await runLlm(thisRef, "You are a research critic.", prompt, true);
|
|
356
|
+
return await runLlm(thisRef, itemIndex, "You are a research critic. Output VALID JSON ONLY.", prompt, true);
|
|
323
357
|
}
|
|
324
|
-
async function generateFollowUpQuestions(thisRef, state) {
|
|
358
|
+
async function generateFollowUpQuestions(thisRef, itemIndex, state) {
|
|
325
359
|
const prompt = `Based on current findings, what deeper questions should we ask to resolve gaps? Current state: ${JSON.stringify(state.findings)}.
|
|
326
360
|
Return a JSON object with: { "follow_ups": string[] }`;
|
|
327
|
-
const res = await runLlm(thisRef, "You are a research assistant.", prompt, true);
|
|
328
|
-
return res.follow_ups;
|
|
361
|
+
const res = await runLlm(thisRef, itemIndex, "You are a research assistant. Output VALID JSON ONLY.", prompt, true);
|
|
362
|
+
return res.follow_ups || [];
|
|
329
363
|
}
|
|
330
|
-
async function synthesizeAnswer(thisRef, state) {
|
|
364
|
+
async function synthesizeAnswer(thisRef, itemIndex, state) {
|
|
331
365
|
const prompt = `Synthesize a final comprehensive answer for: "${state.query}".
|
|
332
366
|
Use these findings: ${JSON.stringify(state.findings)}.
|
|
333
367
|
System Persona: ${state.systemPrompt}`;
|
|
334
|
-
return await runLlm(thisRef, state.systemPrompt, prompt, false);
|
|
368
|
+
return await runLlm(thisRef, itemIndex, state.systemPrompt, prompt, false);
|
|
335
369
|
}
|
|
336
370
|
//# sourceMappingURL=AgenticAIAgentAgenticRag.node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgenticAIAgentAgenticRag.node.js","sourceRoot":"","sources":["../../../nodes/AgenticAIAgentAgenticRag/AgenticAIAgentAgenticRag.node.ts"],"names":[],"mappings":";;;AASA,MAAa,wBAAwB;IAArC;QACI,gBAAW,GAAyB;YAChC,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,mCAAmC;YACzC,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE;gBACN,IAAI,EAAE,aAAa;aACtB;YACD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"AgenticAIAgentAgenticRag.node.js","sourceRoot":"","sources":["../../../nodes/AgenticAIAgentAgenticRag/AgenticAIAgentAgenticRag.node.ts"],"names":[],"mappings":"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"}
|