@zerogpu/n8n-nodes-zerogpu 0.1.0 → 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 +32 -4
- package/dist/nodes/ZeroGpuChatModel/ZeroGpuChatModel.node.d.ts +10 -0
- package/dist/nodes/ZeroGpuChatModel/ZeroGpuChatModel.node.js +165 -0
- package/dist/nodes/ZeroGpuChatModel/ZeroGpuChatModel.node.js.map +1 -0
- package/dist/package.json +5 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/dist/nodes/ZeroGpu/ZeroGpu.node.d.ts +0 -5
- package/dist/nodes/ZeroGpu/ZeroGpu.node.js +0 -36
- package/dist/nodes/ZeroGpu/ZeroGpu.node.js.map +0 -1
- /package/dist/nodes/{ZeroGpu/ZeroGpu.node.json → ZeroGpuChatModel/ZeroGpuChatModel.node.json} +0 -0
package/README.md
CHANGED
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Official [ZeroGPU](https://zerogpu.ai) community node package for [n8n](https://n8n.io/).
|
|
4
4
|
|
|
5
|
-
> **Status: early release.** This package sets up the ZeroGPU integration for n8n, but it has no ZeroGPU operations yet. The ZeroGPU node shows a notice and passes input items through unchanged, and it doesn't call the ZeroGPU API.
|
|
6
|
-
|
|
7
5
|
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.
|
|
8
6
|
|
|
9
7
|
[About ZeroGPU](#about-zerogpu)
|
|
10
8
|
[Installation](#installation)
|
|
11
9
|
[Operations](#operations)
|
|
12
10
|
[Credentials](#credentials)
|
|
11
|
+
[Usage](#usage)
|
|
13
12
|
[Compatibility](#compatibility)
|
|
14
13
|
[Resources](#resources)
|
|
15
14
|
[License](#license)
|
|
@@ -34,11 +33,11 @@ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes
|
|
|
34
33
|
|
|
35
34
|
## Operations
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
**ZeroGPU Chat Model** connects ZeroGPU's language models to n8n's AI nodes, such as AI Agent and Basic LLM Chain. More ZeroGPU models and operations will arrive in later releases.
|
|
38
37
|
|
|
39
38
|
## Credentials
|
|
40
39
|
|
|
41
|
-
The package includes a **ZeroGPU API** credential,
|
|
40
|
+
The package includes a **ZeroGPU API** credential, which the ZeroGPU Chat Model node uses to call ZeroGPU:
|
|
42
41
|
|
|
43
42
|
1. Log in to the [ZeroGPU dashboard](https://platform.zerogpu.ai/dashboard).
|
|
44
43
|
2. Copy a key from the **API Keys** page.
|
|
@@ -46,6 +45,35 @@ The package includes a **ZeroGPU API** credential, ready for future nodes:
|
|
|
46
45
|
|
|
47
46
|
n8n checks the key when you save the credential. The check doesn't run any inference.
|
|
48
47
|
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
1. Add an **AI Agent** or **Basic LLM Chain** node to your workflow.
|
|
51
|
+
2. Connect a **ZeroGPU Chat Model** node to its **Chat Model** input and select your **ZeroGPU API** credential.
|
|
52
|
+
3. Choose a model. The list comes from ZeroGPU, so it stays current as models are added. To use a model that isn't listed, switch **Model** to an expression and enter its ID. Model IDs are case-sensitive.
|
|
53
|
+
|
|
54
|
+
Each setting under **Options** is sent only if you add it:
|
|
55
|
+
|
|
56
|
+
| Option | What it does |
|
|
57
|
+
| -------------------- | -------------------------------------------------- |
|
|
58
|
+
| Maximum Tokens | Limits the length of the response. |
|
|
59
|
+
| Reasoning Effort | Sets how much the model reasons before it answers. |
|
|
60
|
+
| Sampling Temperature | Controls how random the response is. |
|
|
61
|
+
|
|
62
|
+
Some models have limits:
|
|
63
|
+
|
|
64
|
+
- Models labelled **no tool calling** can't use AI Agent tools or return schema-validated JSON. Use them in a Basic LLM Chain, or choose another model for an agent with tools.
|
|
65
|
+
- If you set **Maximum Tokens** or **Reasoning Effort** on a model that doesn't support it, the node stops with an error.
|
|
66
|
+
- `gpt-6-luna` only accepts its default temperature, so leave **Sampling Temperature** unset.
|
|
67
|
+
|
|
68
|
+
If n8n shows a general error, open its details to see ZeroGPU's message:
|
|
69
|
+
|
|
70
|
+
| Message | What to do |
|
|
71
|
+
| ---------------------------------------------------------------------- | --------------------------------------------------------------- |
|
|
72
|
+
| `Invalid credentials` | Check the API key in your **ZeroGPU API** credential. |
|
|
73
|
+
| `Model not found` | Check the model ID, including its capitalization. |
|
|
74
|
+
| `Tool calling is not supported for model` | Choose a model that isn't labelled **no tool calling**. |
|
|
75
|
+
| `doesn't support Maximum Tokens` or `doesn't support Reasoning Effort` | Remove that setting under **Options**, or choose another model. |
|
|
76
|
+
|
|
49
77
|
## Compatibility
|
|
50
78
|
|
|
51
79
|
Built against `n8n-workflow` 2.x. A minimum n8n version hasn't been established yet.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ILoadOptionsFunctions, INodePropertyOptions, INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
|
|
2
|
+
export declare class ZeroGpuChatModel implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
loadOptions: {
|
|
6
|
+
getModels(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZeroGpuChatModel = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const ai_node_sdk_1 = require("@n8n/ai-node-sdk");
|
|
6
|
+
const BASE_URL = 'https://api.zerogpu.ai/v1';
|
|
7
|
+
const MODELS_URL = 'https://api-dashboard.zerogpu.ai/api/models';
|
|
8
|
+
async function fetchModels(context) {
|
|
9
|
+
var _a;
|
|
10
|
+
const response = (await context.helpers.httpRequest({
|
|
11
|
+
method: 'GET',
|
|
12
|
+
url: MODELS_URL,
|
|
13
|
+
json: true,
|
|
14
|
+
}));
|
|
15
|
+
return (_a = response.models) !== null && _a !== void 0 ? _a : [];
|
|
16
|
+
}
|
|
17
|
+
async function assertSettingsSupported(context, model, options, itemIndex) {
|
|
18
|
+
var _a;
|
|
19
|
+
let models;
|
|
20
|
+
try {
|
|
21
|
+
models = await fetchModels(context);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const capabilities = (_a = models.find(({ modelId }) => modelId === model)) === null || _a === void 0 ? void 0 : _a.chat;
|
|
27
|
+
if (!capabilities)
|
|
28
|
+
return;
|
|
29
|
+
const unsupported = [];
|
|
30
|
+
if (options.maxTokens !== undefined && capabilities.maxTokens === false) {
|
|
31
|
+
unsupported.push('Maximum Tokens');
|
|
32
|
+
}
|
|
33
|
+
if (options.reasoningEffort !== undefined && capabilities.reasoningEffort === false) {
|
|
34
|
+
unsupported.push('Reasoning Effort');
|
|
35
|
+
}
|
|
36
|
+
if (unsupported.length > 0) {
|
|
37
|
+
throw new n8n_workflow_1.NodeOperationError(context.getNode(), `${model} doesn't support ${unsupported.join(' or ')}. Remove it from Options or choose another model.`, { itemIndex });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
class ZeroGpuChatModel {
|
|
41
|
+
constructor() {
|
|
42
|
+
this.description = {
|
|
43
|
+
displayName: 'ZeroGPU Chat Model',
|
|
44
|
+
name: 'zeroGpuChatModel',
|
|
45
|
+
icon: { light: 'file:../../icons/zerogpu.svg', dark: 'file:../../icons/zerogpu.dark.svg' },
|
|
46
|
+
group: ['transform'],
|
|
47
|
+
version: [1],
|
|
48
|
+
subtitle: '={{$parameter["model"]}}',
|
|
49
|
+
description: 'Use ZeroGPU small and nano language models in AI workflows',
|
|
50
|
+
defaults: {
|
|
51
|
+
name: 'ZeroGPU Chat Model',
|
|
52
|
+
},
|
|
53
|
+
codex: {
|
|
54
|
+
categories: ['assistant'],
|
|
55
|
+
subcategories: {
|
|
56
|
+
AI: ['Language Models', 'Root Nodes'],
|
|
57
|
+
'Language Models': ['Chat Models (Recommended)'],
|
|
58
|
+
},
|
|
59
|
+
resources: {
|
|
60
|
+
primaryDocumentation: [{ url: 'https://github.com/zerogpu/n8n-nodes-zerogpu#readme' }],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
inputs: [],
|
|
64
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.AiLanguageModel],
|
|
65
|
+
outputNames: ['Model'],
|
|
66
|
+
credentials: [
|
|
67
|
+
{
|
|
68
|
+
name: 'zeroGpuApi',
|
|
69
|
+
required: true,
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
properties: [
|
|
73
|
+
{
|
|
74
|
+
displayName: 'Model Name or ID',
|
|
75
|
+
name: 'model',
|
|
76
|
+
type: 'options',
|
|
77
|
+
required: true,
|
|
78
|
+
typeOptions: {
|
|
79
|
+
loadOptionsMethod: 'getModels',
|
|
80
|
+
allowArbitraryValues: true,
|
|
81
|
+
},
|
|
82
|
+
default: 'deepseek-v4.1-flash',
|
|
83
|
+
description: 'The model which will generate the completion. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
displayName: 'Options',
|
|
87
|
+
name: 'options',
|
|
88
|
+
placeholder: 'Add Option',
|
|
89
|
+
description: 'Additional options to add',
|
|
90
|
+
type: 'collection',
|
|
91
|
+
default: {},
|
|
92
|
+
options: [
|
|
93
|
+
{
|
|
94
|
+
displayName: 'Maximum Tokens',
|
|
95
|
+
name: 'maxTokens',
|
|
96
|
+
type: 'number',
|
|
97
|
+
default: 1024,
|
|
98
|
+
typeOptions: { minValue: 1 },
|
|
99
|
+
description: 'The maximum number of tokens to generate in the response',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
displayName: 'Reasoning Effort',
|
|
103
|
+
name: 'reasoningEffort',
|
|
104
|
+
type: 'options',
|
|
105
|
+
default: 'medium',
|
|
106
|
+
options: [
|
|
107
|
+
{ name: 'Extra High', value: 'xhigh' },
|
|
108
|
+
{ name: 'High', value: 'high' },
|
|
109
|
+
{ name: 'Low', value: 'low' },
|
|
110
|
+
{ name: 'Medium', value: 'medium' },
|
|
111
|
+
{ name: 'Minimal', value: 'minimal' },
|
|
112
|
+
{ name: 'None', value: 'none' },
|
|
113
|
+
],
|
|
114
|
+
description: 'How much the model reasons before it answers',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
displayName: 'Sampling Temperature',
|
|
118
|
+
name: 'temperature',
|
|
119
|
+
type: 'number',
|
|
120
|
+
default: 0.7,
|
|
121
|
+
typeOptions: { maxValue: 2, minValue: 0, numberPrecision: 1 },
|
|
122
|
+
description: 'Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.',
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
this.methods = {
|
|
129
|
+
loadOptions: {
|
|
130
|
+
async getModels() {
|
|
131
|
+
const models = await fetchModels(this);
|
|
132
|
+
return models
|
|
133
|
+
.filter(({ chat }) => chat)
|
|
134
|
+
.map(({ modelId, modelDisplayName, pricing, chat }) => ({
|
|
135
|
+
name: (chat === null || chat === void 0 ? void 0 : chat.tools) === false ? `${modelDisplayName} (no tool calling)` : modelDisplayName,
|
|
136
|
+
value: modelId,
|
|
137
|
+
description: pricing === null || pricing === void 0 ? void 0 : pricing.description,
|
|
138
|
+
}))
|
|
139
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
async supplyData(itemIndex) {
|
|
145
|
+
const model = this.getNodeParameter('model', itemIndex);
|
|
146
|
+
const options = this.getNodeParameter('options', itemIndex, {});
|
|
147
|
+
if (options.maxTokens !== undefined || options.reasoningEffort !== undefined) {
|
|
148
|
+
await assertSettingsSupported(this, model, options, itemIndex);
|
|
149
|
+
}
|
|
150
|
+
const credentials = await this.getCredentials('zeroGpuApi');
|
|
151
|
+
return (0, ai_node_sdk_1.supplyModel)(this, {
|
|
152
|
+
type: 'openai',
|
|
153
|
+
baseUrl: BASE_URL,
|
|
154
|
+
apiKey: credentials.apiKey,
|
|
155
|
+
model,
|
|
156
|
+
temperature: options.temperature,
|
|
157
|
+
maxTokens: options.maxTokens,
|
|
158
|
+
additionalParams: options.reasoningEffort
|
|
159
|
+
? { reasoning_effort: options.reasoningEffort }
|
|
160
|
+
: undefined,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.ZeroGpuChatModel = ZeroGpuChatModel;
|
|
165
|
+
//# sourceMappingURL=ZeroGpuChatModel.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZeroGpuChatModel.node.js","sourceRoot":"","sources":["../../../nodes/ZeroGpuChatModel/ZeroGpuChatModel.node.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerogpu/n8n-nodes-zerogpu",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Official ZeroGPU nodes for n8n. ZeroGPU is a compute-efficient inference provider for apps and agents — purpose-built small and nano language models on an edge network that run the repeatable tasks frontier models shouldn’t, ~10x faster and 50%+ cheaper. Auto-scaling, with zero GPU infrastructure. Plug in and you’re live.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://zerogpu.ai",
|
|
@@ -39,11 +39,12 @@
|
|
|
39
39
|
"n8n": {
|
|
40
40
|
"n8nNodesApiVersion": 1,
|
|
41
41
|
"strict": true,
|
|
42
|
+
"aiNodeSdkVersion": 1,
|
|
42
43
|
"credentials": [
|
|
43
44
|
"dist/credentials/ZeroGpuApi.credentials.js"
|
|
44
45
|
],
|
|
45
46
|
"nodes": [
|
|
46
|
-
"dist/nodes/
|
|
47
|
+
"dist/nodes/ZeroGpuChatModel/ZeroGpuChatModel.node.js"
|
|
47
48
|
]
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"typescript": "5.9.2"
|
|
55
56
|
},
|
|
56
57
|
"peerDependencies": {
|
|
57
|
-
"n8n-workflow": "*"
|
|
58
|
+
"n8n-workflow": "*",
|
|
59
|
+
"@n8n/ai-node-sdk": "*"
|
|
58
60
|
}
|
|
59
61
|
}
|