diff --git a/pipeline.json b/pipeline.json new file mode 100644 index 0000000..7aa2058 --- /dev/null +++ b/pipeline.json @@ -0,0 +1,190 @@ +{ + "id": "pipeline_editor", + "name": "Edited Pipeline", + "nodes": [ + { + "id": "n1", + "type": "RawForward", + "pos_x": 174, + "pos_y": 275.5, + "config": { + "passthrough_headers": true, + "extra_headers": "{}", + "_origId": "n1" + }, + "in": { + "depends": "n6.done" + } + }, + { + "id": "n2", + "type": "ProviderCall", + "pos_x": 812.8888888888889, + "pos_y": -283, + "config": { + "provider": "gemini", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[VAR:incoming.headers.authorization]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"max_completion_tokens\": {{ incoming.json.max_completion_tokens|default(params.max_tokens|default(256)) }},\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchnynm", + "name": "Сделай [[OUT1]] красивее", + "role": "user", + "prompt": "Сделай [[OUT1]] красивее", + "enabled": true, + "order": 0 + } + ], + "_origId": "n2" + }, + "in": { + "depends": "n1.done" + } + }, + { + "id": "n3", + "type": "ProviderCall", + "pos_x": 799, + "pos_y": 771.3333333333334, + "config": { + "provider": "openai", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[MyOpenAiKey]]\"}", + "template": "{\n \"model\": \"gpt-5-chat-latest\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": 500,\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchn1hq", + "name": "Сделай [[OUT1]] красивее", + "role": "user", + "prompt": "Сделай [[OUT1]] красивее", + "enabled": true, + "order": 0 + } + ], + "_origId": "n3" + }, + "in": { + "depends": "n1.done" + } + }, + { + "id": "n4", + "type": "ProviderCall", + "pos_x": 1057.5, + "pos_y": 208, + "config": { + "provider": "openai", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[MyOpenAiKey]]\"}", + "template": "{\n \"model\": \"gpt-5-chat-latest\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": 500,\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchm54f", + "name": "Объедени [[OUT3]], [[OUT2]] сделай более красиво.", + "role": "user", + "prompt": "Объедени [[OUT3]], [[OUT4]] сделай более красиво. [[TEST]]", + "enabled": true, + "order": 0 + } + ], + "_origId": "n4" + }, + "in": { + "depends": [ + "n3.done", + "n2.done" + ] + } + }, + { + "id": "n5", + "type": "Return", + "pos_x": 1366, + "pos_y": 234, + "config": { + "target_format": "auto", + "text_template": "[[OUT4]] [[Test]]", + "_origId": "n5" + }, + "in": { + "depends": "n4.done" + } + }, + { + "id": "n6", + "type": "SetVars", + "pos_x": -102, + "pos_y": 691, + "config": { + "variables": [ + { + "id": "vmfche3wn", + "name": "Test", + "mode": "string", + "value": "Быбра" + }, + { + "id": "vmfchjpw4", + "name": "MyOpenAiKey", + "mode": "string", + "value": "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" + } + ], + "_origId": "n6" + }, + "in": {} + } + ] +} \ No newline at end of file diff --git a/presets/test1.json b/presets/test1.json new file mode 100644 index 0000000..e2b12d3 --- /dev/null +++ b/presets/test1.json @@ -0,0 +1,61 @@ +{ + "id": "pipeline_editor", + "name": "Edited Pipeline", + "nodes": [ + { + "id": "n1", + "type": "RawForward", + "pos_x": 96, + "pos_y": 179.25, + "config": { + "_origId": "n1", + "passthrough_headers": true, + "extra_headers": "{}" + }, + "in": {} + }, + { + "id": "n2", + "type": "ProviderCall", + "pos_x": 526, + "pos_y": 91, + "config": { + "provider": "gemini", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[VAR:incoming.headers.authorization]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"max_completion_tokens\": {{ incoming.json.max_completion_tokens|default(params.max_tokens|default(256)) }},\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmf9c2u94", + "name": "TestGemini", + "role": "system", + "prompt": "Hey revrite [[OUT1]]", + "enabled": true, + "order": 0 + } + ], + "_origId": "n2" + }, + "in": { + "payload": "n1.result" + } + } + ] +} \ No newline at end of file diff --git a/presets/test2.json b/presets/test2.json new file mode 100644 index 0000000..f7172ce --- /dev/null +++ b/presets/test2.json @@ -0,0 +1,190 @@ +{ + "id": "pipeline_editor", + "name": "Edited Pipeline", + "nodes": [ + { + "id": "n1", + "type": "RawForward", + "pos_x": 174, + "pos_y": 275.5, + "config": { + "passthrough_headers": true, + "extra_headers": "{}", + "_origId": "n1" + }, + "in": { + "depends": "n6.done" + } + }, + { + "id": "n2", + "type": "ProviderCall", + "pos_x": 812.8888888888889, + "pos_y": -283, + "config": { + "provider": "gemini", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[VAR:incoming.headers.authorization]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"max_completion_tokens\": {{ incoming.json.max_completion_tokens|default(params.max_tokens|default(256)) }},\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchnynm", + "name": "Сделай [[OUT1]] красивее", + "role": "user", + "prompt": "Сделай [[OUT1]] красивее", + "enabled": true, + "order": 0 + } + ], + "_origId": "n2" + }, + "in": { + "depends": "n1.done" + } + }, + { + "id": "n3", + "type": "ProviderCall", + "pos_x": 799, + "pos_y": 771.3333333333334, + "config": { + "provider": "openai", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[MyOpenAiKey]]\"}", + "template": "{\n \"model\": \"gpt-5-chat-latest\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": 500,\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchn1hq", + "name": "Сделай [[OUT1]] красивее", + "role": "user", + "prompt": "Сделай [[OUT1]] красивее", + "enabled": true, + "order": 0 + } + ], + "_origId": "n3" + }, + "in": { + "depends": "n1.done" + } + }, + { + "id": "n4", + "type": "ProviderCall", + "pos_x": 1057.5, + "pos_y": 208, + "config": { + "provider": "openai", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[MyOpenAiKey]]\"}", + "template": "{\n \"model\": \"gpt-5-chat-latest\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": 500,\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchm54f", + "name": "Объедени [[OUT3]], [[OUT2]] сделай более красиво.", + "role": "user", + "prompt": "Объедени [[OUT3]], [[OUT4]] сделай более красиво. [[TEST]]", + "enabled": true, + "order": 0 + } + ], + "_origId": "n4" + }, + "in": { + "depends": [ + "n3.done", + "n2.done" + ] + } + }, + { + "id": "n5", + "type": "Return", + "pos_x": 1366, + "pos_y": 234, + "config": { + "target_format": "auto", + "text_template": "[[OUT4]] [[TEST]]", + "_origId": "n5" + }, + "in": { + "depends": "n4.done" + } + }, + { + "id": "n6", + "type": "SetVars", + "pos_x": -102, + "pos_y": 691, + "config": { + "variables": [ + { + "id": "vmfche3wn", + "name": "Test", + "mode": "string", + "value": "Быбра" + }, + { + "id": "vmfchjpw4", + "name": "MyOpenAiKey", + "mode": "string", + "value": "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" + } + ], + "_origId": "n6" + }, + "in": {} + } + ] +} \ No newline at end of file diff --git a/presets/test3.json b/presets/test3.json new file mode 100644 index 0000000..7aa2058 --- /dev/null +++ b/presets/test3.json @@ -0,0 +1,190 @@ +{ + "id": "pipeline_editor", + "name": "Edited Pipeline", + "nodes": [ + { + "id": "n1", + "type": "RawForward", + "pos_x": 174, + "pos_y": 275.5, + "config": { + "passthrough_headers": true, + "extra_headers": "{}", + "_origId": "n1" + }, + "in": { + "depends": "n6.done" + } + }, + { + "id": "n2", + "type": "ProviderCall", + "pos_x": 812.8888888888889, + "pos_y": -283, + "config": { + "provider": "gemini", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[VAR:incoming.headers.authorization]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"max_completion_tokens\": {{ incoming.json.max_completion_tokens|default(params.max_tokens|default(256)) }},\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchnynm", + "name": "Сделай [[OUT1]] красивее", + "role": "user", + "prompt": "Сделай [[OUT1]] красивее", + "enabled": true, + "order": 0 + } + ], + "_origId": "n2" + }, + "in": { + "depends": "n1.done" + } + }, + { + "id": "n3", + "type": "ProviderCall", + "pos_x": 799, + "pos_y": 771.3333333333334, + "config": { + "provider": "openai", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[MyOpenAiKey]]\"}", + "template": "{\n \"model\": \"gpt-5-chat-latest\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": 500,\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchn1hq", + "name": "Сделай [[OUT1]] красивее", + "role": "user", + "prompt": "Сделай [[OUT1]] красивее", + "enabled": true, + "order": 0 + } + ], + "_origId": "n3" + }, + "in": { + "depends": "n1.done" + } + }, + { + "id": "n4", + "type": "ProviderCall", + "pos_x": 1057.5, + "pos_y": 208, + "config": { + "provider": "openai", + "provider_configs": { + "openai": { + "base_url": "https://api.openai.com", + "endpoint": "/v1/chat/completions", + "headers": "{\"Authorization\":\"Bearer [[MyOpenAiKey]]\"}", + "template": "{\n \"model\": \"gpt-5-chat-latest\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": 500,\n \"presence_penalty\": {{ incoming.json.presence_penalty|default(0) }},\n \"frequency_penalty\": {{ incoming.json.frequency_penalty|default(0) }},\n \"stop\": {{ incoming.json.stop|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }}\n}" + }, + "gemini": { + "base_url": "https://generativelanguage.googleapis.com", + "endpoint": "/v1beta/models/{{ model }}:generateContent?key=[[VAR:incoming.api_keys.key]]", + "headers": "{}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"safetySettings\": {{ incoming.json.safetySettings|default([]) }},\n \"generationConfig\": {\n \"temperature\": {{ incoming.json.generationConfig.temperature|default(params.temperature|default(0.7)) }},\n \"topP\": {{ incoming.json.generationConfig.topP|default(params.top_p|default(1)) }},\n \"maxOutputTokens\": {{ incoming.json.generationConfig.maxOutputTokens|default(params.max_tokens|default(256)) }},\n \"stopSequences\": {{ incoming.json.generationConfig.stopSequences|default(params.stop|default([])) }},\n \"candidateCount\": {{ incoming.json.generationConfig.candidateCount|default(1) }},\n \"thinkingConfig\": {\n \"includeThoughts\": {{ incoming.json.generationConfig.thinkingConfig.includeThoughts|default(false) }},\n \"thinkingBudget\": {{ incoming.json.generationConfig.thinkingConfig.thinkingBudget|default(0) }}\n }\n }\n}" + }, + "claude": { + "base_url": "https://api.anthropic.com", + "endpoint": "/v1/messages", + "headers": "{\"x-api-key\":\"[[VAR:incoming.headers.x-api-key]]\",\"anthropic-version\":\"2023-06-01\",\"anthropic-beta\":\"[[VAR:incoming.headers.anthropic-beta]]\"}", + "template": "{\n \"model\": \"{{ model }}\",\n [[PROMPT]],\n \"temperature\": {{ incoming.json.temperature|default(params.temperature|default(0.7)) }},\n \"top_p\": {{ incoming.json.top_p|default(params.top_p|default(1)) }},\n \"max_tokens\": {{ incoming.json.max_tokens|default(params.max_tokens|default(256)) }},\n \"stop_sequences\": {{ incoming.json.stop_sequences|default(params.stop|default([])) }},\n \"stream\": {{ incoming.json.stream|default(false) }},\n \"thinking\": {\n \"type\": \"{{ incoming.json.thinking.type|default('disabled') }}\",\n \"budget_tokens\": {{ incoming.json.thinking.budget_tokens|default(0) }}\n },\n \"anthropic_version\": \"{{ anthropic_version|default('2023-06-01') }}\"\n}" + } + }, + "blocks": [ + { + "id": "bmfchm54f", + "name": "Объедени [[OUT3]], [[OUT2]] сделай более красиво.", + "role": "user", + "prompt": "Объедени [[OUT3]], [[OUT4]] сделай более красиво. [[TEST]]", + "enabled": true, + "order": 0 + } + ], + "_origId": "n4" + }, + "in": { + "depends": [ + "n3.done", + "n2.done" + ] + } + }, + { + "id": "n5", + "type": "Return", + "pos_x": 1366, + "pos_y": 234, + "config": { + "target_format": "auto", + "text_template": "[[OUT4]] [[Test]]", + "_origId": "n5" + }, + "in": { + "depends": "n4.done" + } + }, + { + "id": "n6", + "type": "SetVars", + "pos_x": -102, + "pos_y": 691, + "config": { + "variables": [ + { + "id": "vmfche3wn", + "name": "Test", + "mode": "string", + "value": "Быбра" + }, + { + "id": "vmfchjpw4", + "name": "MyOpenAiKey", + "mode": "string", + "value": "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" + } + ], + "_origId": "n6" + }, + "in": {} + } + ] +} \ No newline at end of file