Skip to content

AI & LLM

AI model integration, text generation, embeddings, and autonomous agents.

18 modules

ModuleDescription
Agente AutonomoAgente AI auto-diretto con memoria e comportamento orientato agli obiettivi
Agente CatenaCatena di elaborazione AI sequenziale con passaggi multipli
Agente Uso StrumentiAgente AI che può chiamare strumenti/funzioni
Incorporamenti TestualiGenera incorporamenti vettoriali dal testo usando modelli AI
Estrazione AIEstrai dati strutturati dal testo usando AI
Chat Ollama LocaleChatta con LLM locale tramite Ollama (completamente offline)
Memoria AIMemoria conversazione per Agente AI
Memoria EntitaEstrai e traccia entita (persone, luoghi, concetti) dalle conversazioni
Memoria RedisMemoria conversazione persistente usando archiviazione Redis
Memoria VettorialeMemoria semantica usando embedding vettoriali per recupero contesto rilevante
Modello AIConfigurazione modello LLM per Agente AI
AI ToolExpose a module as a tool for AI Agent
Analisi VisioneAnalizza immagini usando modelli di visione AI
Claude ChatInvia messaggio chat a Anthropic Claude AI e ottieni risposta
Google Gemini ChatInvia messaggio chat a Google Gemini AI e ottieni risposta
OpenAI ChatInvia messaggio chat a modelli OpenAI GPT
DALL-E Generazione ImmaginiGenera immagini usando DALL-E
Agente AIAgente AI autonomo con connessioni multi-porta (modello, memoria, strumenti)

Modules

Agente Autonomo

agent.autonomous

Agente AI auto-diretto con memoria e comportamento orientato agli obiettivi

Parameters:

NameTypeRequiredDefaultDescription
goalstringYes-L'obiettivo per l'agente da raggiungere
contextstringNo-L'obiettivo per l'agente da raggiungere
max_iterationsnumberNo5Contesto o vincoli aggiuntivi
llm_providerselect (openai, ollama)NoopenaiPassaggi di ragionamento massimi
modelstringNogpt-4-turbo-previewNome modello (es. gpt-4, llama2, mistral)
ollama_urlstringNohttp://localhost:11434Nome modello (es. gpt-4, llama2, mistral)
temperaturenumberNo0.7URL server Ollama (solo per provider ollama)

Output:

FieldTypeDescription
resultstringLivello creativita (0-2)
thoughtsarrayIl risultato operazione
iterationsnumberIl risultato operazione
goal_achievedbooleanPassaggi di ragionamento agente

Example: Research task

yaml
goal: Research the latest trends in AI and summarize the top 3
max_iterations: 5
model: gpt-4

Example: Problem solving

yaml
goal: Find the best approach to optimize database queries
context: PostgreSQL database with 10M records
max_iterations: 10

Agente Catena

agent.chain

Catena di elaborazione AI sequenziale con passaggi multipli

Parameters:

NameTypeRequiredDefaultDescription
inputstringYes-Input iniziale per la catena
chain_stepsarrayYes-Input iniziale per la catena
llm_providerselect (openai, ollama)NoopenaiArray di passaggi elaborazione (ogni passaggio e un template prompt)
modelstringNogpt-4-turbo-previewNome modello (es. gpt-4, llama2, mistral)
ollama_urlstringNohttp://localhost:11434Nome modello (es. gpt-4, llama2, mistral)
temperaturenumberNo0.7URL server Ollama (solo per provider ollama)

Output:

FieldTypeDescription
resultstringLivello creativita (0-2)
intermediate_resultsarrayIl risultato operazione
steps_completednumberIl risultato operazione

Example: Content pipeline

yaml
input: AI and machine learning trends
chain_steps: ["Generate 5 blog post ideas about: {input}", "Take the first idea and write a detailed outline: {previous}", "Write an introduction paragraph based on: {previous}"]
model: gpt-4

Example: Data analysis chain

yaml
input: User behavior data shows 60% bounce rate
chain_steps: ["Analyze what might cause this issue: {input}", "Suggest 3 solutions based on: {previous}", "Create an action plan from: {previous}"]

Agente Uso Strumenti

agent.tool_use

Agente AI che può chiamare strumenti/funzioni

Parameters:

NameTypeRequiredDefaultDescription
promptstringYes-L'obiettivo o compito per l'agente
toolsarrayYes-Elenco delle definizioni degli strumenti [{nome, descrizione, parametri}]
providerselect (openai, anthropic)NoopenaiFornitore LLM per l'agente
modelstringNogpt-4oModello da utilizzare
api_keystringNo-Chiave API (predefinita alla variabile d'ambiente)
max_iterationsnumberNo10Numero massimo di round di chiamate agli strumenti
system_promptstringNo-Prompt di sistema opzionale per guidare l'agente

Output:

FieldTypeDescription
resultstringRisposta finale dell'agente
tool_callsarrayTutte le chiamate agli strumenti effettuate durante l'esecuzione
iterationsnumberNumero di iterazioni completate
modelstringModello utilizzato

Example: File Processing Agent

yaml
prompt: Read the config file and update the version number
tools: [{"name": "read_file", "description": "Read contents of a file", "parameters": {"type": "object", "properties": {"path": {"type": "string", "description": "File path"}}, "required": ["path"]}}, {"name": "write_file", "description": "Write contents to a file", "parameters": {"type": "object", "properties": {"path": {"type": "string", "description": "File path"}, "content": {"type": "string", "description": "File content"}}, "required": ["path", "content"]}}]
provider: openai
model: gpt-4o
max_iterations: 5

Incorporamenti Testuali

ai.embed

Genera incorporamenti vettoriali dal testo usando modelli AI

Parameters:

NameTypeRequiredDefaultDescription
textstringYes-Testo da incorporare
providerselect (openai, local)NoopenaiFornitore AI per incorporamenti
modelstringNotext-embedding-3-smallModello di incorporamento da usare
api_keystringNo-Chiave API (predefinito alla variabile d'ambiente)
dimensionsnumberNo-Dimensioni di incorporamento (per modelli che lo supportano)

Output:

FieldTypeDescription
embeddingsarrayArray di incorporamenti vettoriali
modelstringModello usato per l'incorporamento
dimensionsnumberNumero di dimensioni nel vettore di incorporamento
token_countnumberNumero di token elaborati

Example: Single Text Embedding

yaml
text: The quick brown fox jumps over the lazy dog
provider: openai
model: text-embedding-3-small

Example: Reduced Dimensions

yaml
text: Semantic search query
provider: openai
model: text-embedding-3-small
dimensions: 256

Estrazione AI

ai.extract

Estrai dati strutturati dal testo usando AI

Parameters:

NameTypeRequiredDefaultDescription
textstringYes-Testo da cui estrarre dati
schemaobjectYes-Schema JSON che definisce i campi da estrarre
instructionsstringNo-Istruzioni aggiuntive per l'estrazione
providerselect (openai, anthropic)NoopenaiFornitore AI da usare
modelstringNogpt-4o-miniModello da usare per l'estrazione
api_keystringNo-Chiave API (predefinito alla variabile d'ambiente)
temperaturenumberNo0Temperatura di campionamento (0-2)

Output:

FieldTypeDescription
extractedobjectDati strutturati estratti
modelstringModello usato per l'estrazione
raw_responsestringRisposta grezza del modello

Example: Extract Contact Info

yaml
text: John Smith is a senior engineer at Acme Corp. Email: john@acme.com
schema: {"type": "object", "properties": {"name": {"type": "string"}, "title": {"type": "string"}, "company": {"type": "string"}, "email": {"type": "string"}}}
provider: openai
model: gpt-4o-mini

Example: Extract Invoice Data

yaml
text: Invoice #1234 from Acme Corp. Total: $500.00. Due: 2024-03-01
schema: {"type": "object", "properties": {"invoice_number": {"type": "string"}, "vendor": {"type": "string"}, "total": {"type": "number"}, "due_date": {"type": "string"}}}
instructions: Extract all invoice fields. Parse amounts as numbers.

Chat Ollama Locale

ai.local_ollama.chat

Chatta con LLM locale tramite Ollama (completamente offline)

Parameters:

NameTypeRequiredDefaultDescription
promptstringYes-Il messaggio da inviare al LLM locale
modelselect (llama2, llama2:13b, llama2:70b, mistral, mixtral, codellama, codellama:13b, phi, neural-chat, starling-lm)Nollama2Il messaggio da inviare al LLM locale
temperaturenumberNo0.7Temperatura di campionamento (0-2)
system_messagestringNo-Messaggio ruolo sistema (opzionale)
ollama_urlstringNohttp://localhost:11434Messaggio ruolo sistema (opzionale)
max_tokensnumberNo-URL server Ollama

Output:

FieldTypeDescription
responsestringToken massimi nella risposta (opzionale, dipende dal modello)
modelstringRisposta dall'operazione
contextarrayRisposta dall'operazione
total_durationnumberNome o identificatore modello
load_durationnumberContesto conversazione per richieste successive
prompt_eval_countnumberDurata totale elaborazione
eval_countnumberDurata caricamento modello

Example: Simple local chat

yaml
prompt: Explain quantum computing in 3 sentences
model: llama2

Example: Code generation with local model

yaml
prompt: Write a Python function to calculate fibonacci numbers
model: codellama
temperature: 0.2
system_message: You are a Python programming expert. Write clean, efficient code.

Example: Local reasoning task

yaml
prompt: What are the pros and cons of microservices architecture?
model: mistral
temperature: 0.7

Memoria AI

ai.memory

Memoria conversazione per Agente AI

Parameters:

NameTypeRequiredDefaultDescription
memory_typeselect (buffer, window, summary)YesbufferTipo di archiviazione memoria
window_sizenumberNo10Numero di messaggi recenti da mantenere (per memoria finestra)
session_idstringNo-Identificatore univoco per questa sessione di conversazione
initial_messagesarrayNo[]Cronologia conversazione precaricata

Output:

FieldTypeDescription
memory_typestringCronologia conversazione precaricata
session_idstringCronologia conversazione precaricata
messagesarrayTipo di memoria
configobjectIdentificatore sessione

Example: Simple Buffer Memory

yaml
memory_type: buffer

Example: Window Memory (last 5 messages)

yaml
memory_type: window
window_size: 5

Memoria Entita

ai.memory.entity

Estrai e traccia entita (persone, luoghi, concetti) dalle conversazioni

Parameters:

NameTypeRequiredDefaultDescription
entity_typesmultiselectNo['person', 'organization', 'location']Types of entities to extract and track
extraction_modelselect (llm, spacy, regex)YesllmModel for entity extraction
session_idstringNo-Unique identifier for this memory session
track_relationshipsbooleanNoTrueTrack relationships between entities
max_entitiesnumberNo100Maximum number of entities to remember

Output:

FieldTypeDescription
memory_typestringNumero massimo di entita da ricordare
session_idstringNumero massimo di entita da ricordare
entitiesobjectTipo di memoria (entita)
relationshipsarrayIdentificatore sessione
configobjectEntita tracciate per tipo

Example: People & Organizations

yaml
entity_types: ["person", "organization"]
extraction_model: llm

Example: Full Entity Tracking

yaml
entity_types: ["person", "organization", "location", "concept"]
track_relationships: true
max_entities: 200

Memoria Redis

ai.memory.redis

Memoria conversazione persistente usando archiviazione Redis

Parameters:

NameTypeRequiredDefaultDescription
redis_urlstringYesredis://localhost:6379Redis connection URL
key_prefixstringNoflyto:memory:Prefix for all Redis keys
session_idstringYes-Unique identifier for this memory session
ttl_secondsnumberNo86400Time-to-live for memory entries (0 = no expiry)
max_messagesnumberNo100Maximum messages to store per session
load_on_startbooleanNoTrueLoad existing messages from Redis on initialization

Output:

FieldTypeDescription
memory_typestringCarica messaggi esistenti da Redis all'inizializzazione
session_idstringCarica messaggi esistenti da Redis all'inizializzazione
messagesarrayTipo di memoria (redis)
connectedbooleanIdentificatore sessione
configobjectCronologia messaggi caricata

Example: Local Redis

yaml
redis_url: redis://localhost:6379
session_id: my-session
ttl_seconds: 3600

Example: Cloud Redis with Auth

yaml
redis_url: redis://:password@redis-cloud.example.com:6379
session_id: user-session
ttl_seconds: 86400
max_messages: 500

Memoria Vettoriale

ai.memory.vector

Memoria semantica usando embedding vettoriali per recupero contesto rilevante

Parameters:

NameTypeRequiredDefaultDescription
embedding_modelselect (text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002, local)Yestext-embedding-3-smallModel to use for generating embeddings
top_knumberNo5Number of most relevant memories to retrieve
similarity_thresholdnumberNo0.7Minimum similarity score (0-1) for retrieval
session_idstringNo-Unique identifier for this memory session
include_metadatabooleanNoTrueInclude timestamp and other metadata with memories

Output:

FieldTypeDescription
memory_typestringIncludi timestamp e altri metadati con le memorie
session_idstringIncludi timestamp e altri metadati con le memorie
embedding_modelstringTipo di memoria (vettoriale)
configobjectIdentificatore sessione

Example: Default Vector Memory

yaml
embedding_model: text-embedding-3-small
top_k: 5

Example: High Precision Memory

yaml
embedding_model: text-embedding-3-large
top_k: 10
similarity_threshold: 0.85

Modello AI

ai.model

Configurazione modello LLM per Agente AI

Parameters:

NameTypeRequiredDefaultDescription
providerselect (openai, anthropic, ollama)NoopenaiAI model provider
modelstringNogpt-4oSpecific model to use
temperaturenumberNo0.7Creativity level (0=deterministic, 1=creative)
api_keystringNo-API key (defaults to provider env var)
base_urlstringNo-Custom API base URL (for Ollama or proxies)
max_tokensnumberNo4096Token massimi nella risposta

Output:

FieldTypeDescription
providerstringToken massimi nella risposta
modelstringNome provider LLM
configobjectNome provider LLM

Example: OpenAI GPT-4

yaml
provider: openai
model: gpt-4o
temperature: 0.7

Example: Anthropic Claude

yaml
provider: anthropic
model: claude-3-5-sonnet-20241022
temperature: 0.5

AI Tool

ai.tool

Expose a module as a tool for AI Agent

Parameters:

NameTypeRequiredDefaultDescription
module_idstringYes-Module ID to expose as tool (e.g. http.request, data.json_parse)
tool_descriptionstringNo-Custom description for the agent (overrides module default)

Output:

FieldTypeDescription
module_idstringModule ID exposed as tool

Example: HTTP Request Tool

yaml
module_id: http.request

Example: JSON Parse Tool

yaml
module_id: data.json_parse

Analisi Visione

ai.vision.analyze

Analizza immagini usando modelli di visione AI

Parameters:

NameTypeRequiredDefaultDescription
image_pathstringNo-Percorso locale al file immagine
image_urlstringNo-URL dell'immagine da analizzare
promptstringNoDescribe this image in detailCosa analizzare o chiedere sull'immagine
providerselect (openai, anthropic)NoopenaiFornitore AI per l'analisi visiva
modelstringNogpt-4oModello di visione da usare
api_keystringNo-Chiave API (predefinito alla variabile d'ambiente)
max_tokensnumberNo1000Massimo numero di token nella risposta
detailselect (low, high, auto)NoautoLivello di dettaglio dell'immagine (basso/alto/auto)

Output:

FieldTypeDescription
analysisstringAnalisi AI dell'immagine
modelstringModello usato per l'analisi
providerstringFornitore usato per l'analisi
tokens_usednumberNumero di token usati

Example: Analyze Screenshot

yaml
image_path: /tmp/screenshot.png
prompt: Describe what you see in this UI screenshot
provider: openai
model: gpt-4o

Example: Analyze from URL

yaml
image_url: https://example.com/photo.jpg
prompt: What objects are in this image?
provider: anthropic
model: claude-sonnet-4-20250514

Claude Chat

api.anthropic.chat

Invia messaggio chat a Anthropic Claude AI e ottieni risposta

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Chiave API Anthropic (default env.ANTHROPIC_API_KEY)
modelstringNoclaude-3-5-sonnet-20241022Modello Claude da usare
messagesarrayYes-Array di oggetti messaggio con ruolo e contenuto
max_tokensnumberNo1024Contenuto restituito dall'operazione
temperaturenumberNo1.0Temperatura campionamento (0-1). Valori piu alti rendono output piu casuale
systemstringNo-Prompt di sistema per guidare comportamento Claude

Output:

FieldTypeDescription
contentstringPrompt di sistema per guidare comportamento Claude
modelstringTesto risposta Claude
stop_reasonstringModello usato per risposta
usageobjectPerche il modello ha smesso di generare (end_turn, max_tokens, ecc)

Example: Simple question

yaml
messages: [{"role": "user", "content": "What is the capital of France?"}]
max_tokens: 100

Example: Text summarization

yaml
system: You are a helpful assistant that summarizes text concisely.
messages: [{"role": "user", "content": "Summarize this article: ${article_text}"}]
max_tokens: 500

Google Gemini Chat

api.google_gemini.chat

Invia messaggio chat a Google Gemini AI e ottieni risposta

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Chiave API Google AI (default env.GOOGLE_AI_API_KEY)
modelstringNogemini-1.5-proModello Gemini da usare
promptstringYes-Il prompt di testo da inviare a Gemini
temperaturenumberNo1.0Controlla casualita (0-2). Valori piu alti rendono output piu casuale
max_output_tokensnumberNo2048Numero massimo token nella risposta

Output:

FieldTypeDescription
textstringGenerated text response from Gemini
modelstringModel used for generation
candidatesarrayAll candidate responses

Example: Simple question

yaml
prompt: Explain quantum computing in simple terms

Example: Content generation

yaml
prompt: Write a professional email about ${topic}
temperature: 0.7
max_output_tokens: 500

OpenAI Chat

api.openai.chat

Invia messaggio chat a modelli OpenAI GPT

Parameters:

NameTypeRequiredDefaultDescription
promptstringYes-Il messaggio da inviare a GPT
modelselect (gpt-4-turbo-preview, gpt-4, gpt-3.5-turbo)Nogpt-4-turbo-previewIl messaggio da inviare a GPT
temperaturenumberNo0.7Temperatura campionamento (0-2)
max_tokensnumberNo1000Temperatura campionamento (0-2)
system_messagestringNo-Token massimi nella risposta

Output:

FieldTypeDescription
responsestringMessaggio ruolo sistema (opzionale)
modelstringRisposta dall'operazione
usageobjectRisposta dall'operazione

Example: Simple chat

yaml
prompt: Explain quantum computing in 3 sentences
model: gpt-3.5-turbo

Example: Code generation

yaml
prompt: Write a Python function to calculate fibonacci numbers
model: gpt-4
temperature: 0.2
system_message: You are a Python programming expert

DALL-E Generazione Immagini

api.openai.image

Genera immagini usando DALL-E

Parameters:

NameTypeRequiredDefaultDescription
promptstringYes-Descrizione dell'immagine da generare
sizeselect (256x256, 512x512, 1024x1024, 1792x1024, 1024x1792)No1024x1024Descrizione dell'immagine da generare
modelselect (dall-e-3, dall-e-2)Nodall-e-3Versione modello DALL-E
qualityselect (standard, hd)NostandardQualita immagine (solo DALL-E 3)
nnumberNo1Numero di immagini da generare (1-10)

Output:

FieldTypeDescription
imagesarrayList of generated images
modelstringModel name or identifier

Example: Generate artwork

yaml
prompt: A serene mountain landscape at sunset, digital art
size: 1024x1024
model: dall-e-3
quality: hd

Example: Create logo

yaml
prompt: Modern tech startup logo with blue and green colors
size: 512x512
model: dall-e-2
n: 3

Agente AI

llm.agent

Agente AI autonomo con connessioni multi-porta (modello, memoria, strumenti)

Parameters:

NameTypeRequiredDefaultDescription
prompt_sourceselect (manual, auto)NomanualDa dove ottenere il prompt del task
taskstringNo-Il task da completare per l'agente. Usa {{input}} per riferimento a dati upstream.
prompt_pathstringNo{<!-- -->{input}<!-- -->}Percorso per estrarre prompt dall'input (es. {{input.message}})
join_strategyselect (first, newline, separator, json)NofirstCome gestire gli input array
join_separatorstringNo`

| Separatore per unire elementi array | |max_input_size| number | No |10000| Caratteri massimi per prompt (previene overflow) | |system_prompt| string | No |You are a helpful AI agent. Use the available tools to complete the task. Think step by step.| Istruzioni per il comportamento dell'agente | |tools| array | No |[]| Lista di ID modulo (alternativa alla connessione di nodi strumento) | |context| object | No |{}| Lista di ID modulo (alternativa alla connessione di nodi strumento) | |max_iterations| number | No |10| Dati di contesto aggiuntivi per l'agente | |provider | select (openai, anthropic, ollama) | No | openai| AI model provider | |model| string | No |gpt-4o| Specific model to use | |temperature| number | No |0.3| Creativity level (0=deterministic, 1=creative) | |api_key| string | No | - | API key (defaults to provider env var) | |base_url` | string | No | - | Custom API base URL (for Ollama or proxies) |

Output:

FieldTypeDescription
okbooleanSe l'agente ha completato con successo
resultstringSe l'agente ha completato con successo
stepsarraySe l'agente ha completato con successo
tool_callsnumberIl risultato finale dell'agente
tokens_usednumberLista dei passaggi eseguiti dall'agente

Example: Web Research Agent

yaml
task: Search for the latest news about AI and summarize the top 3 stories
tools: ["http.request", "data.json_parse"]
model: gpt-4o

Example: Data Processing Agent

yaml
task: Read the CSV file, filter rows where status is "active", and count them
tools: ["file.read", "data.csv_parse", "array.filter"]
model: gpt-4o

Released under the Apache 2.0 License.