@cascadeflow/n8n-nodes-cascadeflow 5.0.1 → 5.0.3
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LmChatCascadeFlow.node.d.ts","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"LmChatCascadeFlow.node.d.ts","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;AA6NtB,qBAAa,iBAAkB,YAAW,SAAS;IACjD,WAAW,EAAE,oBAAoB,CAyD/B;IAEI,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CA8ClE"}
|
|
@@ -3,7 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LmChatCascadeFlow = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
const chat_models_1 = require("@langchain/core/language_models/chat_models");
|
|
6
|
-
|
|
6
|
+
// Quality validation - optional import, fallback if unavailable
|
|
7
|
+
let QualityValidator;
|
|
8
|
+
let CASCADE_QUALITY_CONFIG;
|
|
9
|
+
try {
|
|
10
|
+
const cascadeCore = require('@cascadeflow/core');
|
|
11
|
+
QualityValidator = cascadeCore.QualityValidator;
|
|
12
|
+
CASCADE_QUALITY_CONFIG = cascadeCore.CASCADE_QUALITY_CONFIG;
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
// @cascadeflow/core not available - use simple validation
|
|
16
|
+
console.warn('⚠️ @cascadeflow/core not available, using simple quality check');
|
|
17
|
+
}
|
|
7
18
|
/**
|
|
8
19
|
* Custom CascadeChatModel that wraps two models (drafter and verifier)
|
|
9
20
|
* and implements cascading logic with cost tracking
|
|
@@ -19,11 +30,23 @@ class CascadeChatModel extends chat_models_1.BaseChatModel {
|
|
|
19
30
|
this.drafterModel = drafterModel;
|
|
20
31
|
this.verifierModelGetter = verifierModelGetter;
|
|
21
32
|
this.qualityThreshold = qualityThreshold;
|
|
22
|
-
// Initialize quality validator with CASCADE-optimized config
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
// Initialize quality validator with CASCADE-optimized config (if available)
|
|
34
|
+
if (QualityValidator && CASCADE_QUALITY_CONFIG) {
|
|
35
|
+
try {
|
|
36
|
+
this.qualityValidator = new QualityValidator({
|
|
37
|
+
...CASCADE_QUALITY_CONFIG,
|
|
38
|
+
minConfidence: qualityThreshold,
|
|
39
|
+
});
|
|
40
|
+
console.log('✅ CascadeFlow quality validator initialized');
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
console.warn('⚠️ Quality validator initialization failed, using simple check');
|
|
44
|
+
this.qualityValidator = null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.qualityValidator = null;
|
|
49
|
+
}
|
|
27
50
|
}
|
|
28
51
|
async getVerifierModel() {
|
|
29
52
|
if (!this.verifierModel) {
|
|
@@ -32,6 +55,35 @@ class CascadeChatModel extends chat_models_1.BaseChatModel {
|
|
|
32
55
|
}
|
|
33
56
|
return this.verifierModel;
|
|
34
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Simple quality validation fallback (when @cascadeflow/core not available)
|
|
60
|
+
*/
|
|
61
|
+
simpleQualityCheck(responseText) {
|
|
62
|
+
const wordCount = responseText.split(/\s+/).length;
|
|
63
|
+
// Base confidence on response length and structure
|
|
64
|
+
let confidence = 0.75;
|
|
65
|
+
// Very short responses get lower confidence
|
|
66
|
+
if (wordCount < 5) {
|
|
67
|
+
confidence = 0.50;
|
|
68
|
+
}
|
|
69
|
+
else if (wordCount < 15) {
|
|
70
|
+
confidence = 0.65;
|
|
71
|
+
}
|
|
72
|
+
else if (wordCount > 30) {
|
|
73
|
+
confidence = 0.85;
|
|
74
|
+
}
|
|
75
|
+
// Check for uncertainty markers
|
|
76
|
+
const uncertaintyMarkers = ['i don\'t know', 'i\'m not sure', 'unclear', 'uncertain'];
|
|
77
|
+
const hasUncertainty = uncertaintyMarkers.some(marker => responseText.toLowerCase().includes(marker));
|
|
78
|
+
if (hasUncertainty) {
|
|
79
|
+
confidence -= 0.20;
|
|
80
|
+
}
|
|
81
|
+
const passed = confidence >= this.qualityThreshold;
|
|
82
|
+
const reason = passed
|
|
83
|
+
? `Simple check passed (confidence: ${confidence.toFixed(2)} >= ${this.qualityThreshold})`
|
|
84
|
+
: `Simple check failed (confidence: ${confidence.toFixed(2)} < ${this.qualityThreshold})`;
|
|
85
|
+
return { passed, confidence, score: confidence, reason };
|
|
86
|
+
}
|
|
35
87
|
_llmType() {
|
|
36
88
|
return 'cascade';
|
|
37
89
|
}
|
|
@@ -43,15 +95,28 @@ class CascadeChatModel extends chat_models_1.BaseChatModel {
|
|
|
43
95
|
const drafterMessage = await this.drafterModel.invoke(messages, options);
|
|
44
96
|
const drafterLatency = Date.now() - drafterStartTime;
|
|
45
97
|
this.drafterCount++;
|
|
46
|
-
// Step 2: Quality check using CascadeFlow validator
|
|
98
|
+
// Step 2: Quality check using CascadeFlow validator (or simple fallback)
|
|
47
99
|
const responseText = drafterMessage.content.toString();
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
100
|
+
let validationResult;
|
|
101
|
+
if (this.qualityValidator) {
|
|
102
|
+
// Use full CascadeFlow quality validator
|
|
103
|
+
const queryText = messages.map(m => m.content.toString()).join(' ');
|
|
104
|
+
try {
|
|
105
|
+
validationResult = await this.qualityValidator.validate(responseText, queryText);
|
|
106
|
+
console.log(` 📊 Quality validation: confidence=${validationResult.confidence.toFixed(2)}, method=${validationResult.method}`);
|
|
107
|
+
if (validationResult.details?.alignmentScore) {
|
|
108
|
+
console.log(` 🎯 Alignment: ${validationResult.details.alignmentScore.toFixed(2)}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
console.warn(` ⚠️ Quality validator error, using simple check: ${e}`);
|
|
113
|
+
validationResult = this.simpleQualityCheck(responseText);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// Use simple quality check (fallback)
|
|
118
|
+
validationResult = this.simpleQualityCheck(responseText);
|
|
119
|
+
console.log(` 📊 Simple quality check: confidence=${validationResult.confidence.toFixed(2)}`);
|
|
55
120
|
}
|
|
56
121
|
// Step 3: If quality is sufficient, return drafter response
|
|
57
122
|
if (validationResult.passed) {
|
|
@@ -141,13 +206,13 @@ class LmChatCascadeFlow {
|
|
|
141
206
|
// eslint-disable-next-line n8n-nodes-base/node-class-description-inputs-wrong-regular-node
|
|
142
207
|
inputs: [
|
|
143
208
|
{
|
|
144
|
-
displayName: '
|
|
209
|
+
displayName: 'Verifier',
|
|
145
210
|
type: 'ai_languageModel',
|
|
146
211
|
maxConnections: 1,
|
|
147
212
|
required: true,
|
|
148
213
|
},
|
|
149
214
|
{
|
|
150
|
-
displayName: '
|
|
215
|
+
displayName: 'Drafter',
|
|
151
216
|
type: 'ai_languageModel',
|
|
152
217
|
maxConnections: 1,
|
|
153
218
|
required: true,
|
|
@@ -176,15 +241,15 @@ class LmChatCascadeFlow {
|
|
|
176
241
|
async supplyData() {
|
|
177
242
|
// Get parameters
|
|
178
243
|
const qualityThreshold = this.getNodeParameter('qualityThreshold', 0, 0.7);
|
|
179
|
-
// Get the drafter model immediately
|
|
180
|
-
const drafterData = await this.getInputConnectionData('ai_languageModel',
|
|
244
|
+
// Get the drafter model immediately (now at index 1)
|
|
245
|
+
const drafterData = await this.getInputConnectionData('ai_languageModel', 1);
|
|
181
246
|
const drafterModel = (Array.isArray(drafterData) ? drafterData[0] : drafterData);
|
|
182
247
|
if (!drafterModel) {
|
|
183
248
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Drafter model is required. Please connect an AI chat model (OpenAI, Anthropic, Ollama, etc.) to the "Drafter" input.');
|
|
184
249
|
}
|
|
185
|
-
// Create a lazy loader for the verifier model (only fetched when needed)
|
|
250
|
+
// Create a lazy loader for the verifier model (only fetched when needed) (now at index 0)
|
|
186
251
|
const verifierModelGetter = async () => {
|
|
187
|
-
const verifierData = await this.getInputConnectionData('ai_languageModel',
|
|
252
|
+
const verifierData = await this.getInputConnectionData('ai_languageModel', 0);
|
|
188
253
|
const verifierModel = (Array.isArray(verifierData) ? verifierData[0] : verifierData);
|
|
189
254
|
if (!verifierModel) {
|
|
190
255
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Verifier model is required. Please connect an AI chat model (OpenAI, Anthropic, Ollama, etc.) to the "Verifier" input.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LmChatCascadeFlow.node.js","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":";;;AAOA,+CAAsE;AAEtE,6EAA4E;AAK5E,
|
|
1
|
+
{"version":3,"file":"LmChatCascadeFlow.node.js","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cascadeflow/n8n-nodes-cascadeflow",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.3",
|
|
4
4
|
"description": "n8n node for cascadeflow - Smart AI model cascading with 40-85% cost savings",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
@@ -47,8 +47,10 @@
|
|
|
47
47
|
"n8n-workflow": "*"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@langchain/core": "^0.3.0"
|
|
51
|
-
|
|
50
|
+
"@langchain/core": "^0.3.0"
|
|
51
|
+
},
|
|
52
|
+
"optionalDependencies": {
|
|
53
|
+
"@cascadeflow/core": "^5.0.3"
|
|
52
54
|
},
|
|
53
55
|
"scripts": {
|
|
54
56
|
"build": "tsc && gulp build:icons",
|