Views
No views yet
| Pattern | Score | Tests |
|---|---|---|
| webhook_simple | 93.3% | 3 |
| data_processing | 96.7% | 1 |
| webhook_conditional | 90.0% | 2 |
| schedule_simple | 90.0% | 1 |
| schedule_complex | 93.3% | 1 |
| form | 93.3% | 1 |
| integration | 93.3% | 1 |
| error_handling | 93.3% | 1 |
| Difficulty | Average Score | Tests |
|---|---|---|
| Easy | 92.5% | 4 |
| Medium | 91.8% | 11 |
| Hard | 89.5% | 7 |
| Very Hard | 91.7% | 2 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5# Load base model
6base_model = AutoModelForCausalLM.from_pretrained(
7 "Qwen/Qwen2.5-Coder-1.5B-Instruct",
8 torch_dtype=torch.float16,
9 device_map="auto",
10 trust_remote_code=True
11)
12
13# Load LoRA adapter
14model = PeftModel.from_pretrained(base_model, "Nishan30/n8n-workflow-generator-qwen1.5b")
15model.eval()
16
17# Load tokenizer
18tokenizer = AutoTokenizer.from_pretrained(
19 "Qwen/Qwen2.5-Coder-1.5B-Instruct",
20 trust_remote_code=True
21)
22
23# Generate workflow
24SYSTEM_PROMPT = """You are an expert n8n workflow generator. n8n is a powerful workflow automation tool that connects various services and APIs.
25
26Your task is to generate TypeScript DSL code for n8n workflows based on user requests.
27
28Generate ONLY the TypeScript DSL code, wrapped in ```typescript code blocks."""
29
30user_prompt = "Create a webhook that sends data to Slack"
31
32formatted_prompt = f"""### System:
33{SYSTEM_PROMPT}
34
35### Instruction:
36{user_prompt}
37
38### Response:
39"""
40
41inputs = tokenizer(formatted_prompt, return_tensors="pt", truncation=True, max_length=2048).to(model.device)
42
43with torch.no_grad():
44 outputs = model.generate(
45 **inputs,
46 max_new_tokens=512,
47 temperature=0.3,
48 top_p=0.95,
49 top_k=50,
50 repetition_penalty=1.1,
51 do_sample=True
52 )
53
54result = tokenizer.decode(outputs[0], skip_special_tokens=True)
55response = result.split("### Response:")[-1].strip()
56print(response)1const workflow = new Workflow('Slack Webhook');
2const createWebhook = workflow.add('n8n-nodes-base.webhook', {"path": "/slack", "method": "POST"});
3const sendToSlack = workflow.add('n8n-nodes-base.slack', {"channel": "#general", "text": "={{ $json.message }}"});
4
5createWebhook.to(sendToSlack);1const workflow = new Workflow('Data Pipeline');
2const trigger = workflow.add('n8n-nodes-base.webhook', {"path": "/api/data-pipeline"});
3const transform = workflow.add('n8n-nodes-base.set', {"values": [{"name": "id", "value": "={{ $json.id }"}}]});
4const filter = workflow.add('n8n-nodes-base.filter', {"conditions": [{"leftValue": "={{ $json.status }}", "operation": "===", "rightValue": "active"}]});
5
6trigger.to(transform);
7transform.to(filter);