Overview

RAG Chatbot — Prompt supportati

Cosa si puo' chiedere al chatbot <wuic-rag-chatbot> a seconda della pagina in cui ci

si trova, e quali operazioni sa eseguire su ciascuna.

Questa pagina risponde alla domanda dell'utente ("cosa posso chiedergli qui?"); il

catalogo dei tool risponde a quella dello sviluppatore ("quale

kind viene emesso e quali metadata tocca").

I prompt in blockquote sono quelli usati dai test end-to-end: un prompt che compare

qui e' stato verificato dal chatbot reale — prompt, proposta, conferma, effetto sulla

pagina. Se cambia nel test e non qui (o viceversa), il test di parita' fallisce.

Come funziona una richiesta

1. Si scrive la richiesta in linguaggio naturale nel pannello del chatbot.

2. Il modello riceve, insieme al prompt, un riassunto della pagina corrente: e' cio'

che gli permette di capire che "aggiungi la colonna X" significa una cosa diversa su

/pivot-builder e su una lista.

3. Se la richiesta corrisponde a un'operazione eseguibile, compare una card con

Applica. Nulla viene modificato prima del click, e il click chiede conferma.

4. Se la richiesta e' ambigua o si riferisce a qualcosa che non esiste, il chatbot **non

propone**: risponde spiegando, ed elenca i valori reali disponibili.

Pivot builder — <route>/pivot-builder

Costruzione della vista (canvas del View Builder) e configurazione del pivot.

Prompt utente:

> Aggiungi la tabella <route> al view builder e mettine una colonna nelle righe del pivot.

Su questa pagina "tabella", "colonna", "riga" si riferiscono alla vista e al pivot,

mai a tabelle o colonne SQL: chiedere di aggiungere una colonna non crea una colonna sul

database. Se la richiesta e' ambigua il chatbot chiede conferma invece di procedere.

OperazioneChe cosa fa
injectAggiunge piu' tabelle e i loro join in un colpo solo (es. "unisci ordini e clienti su customer_id")
add_table / remove_tableAggiunge o toglie una tabella dal canvas
join / unjoinCrea o rimuove un join. Ammesso solo verso una colonna chiave e con tipi compatibili: altrimenti l'operazione viene rifiutata spiegando il motivo
select_columnsAttiva o disattiva colonne della vista
add_aggregation / remove_aggregationSUM, COUNT, COUNT_DISTINCT, AVG, MIN, MAX su una colonna
set_group_byImposta le colonne di raggruppamento
set_column_formulaColonna calcolata con una formula
pivot_set_axisPopola righe, colonne o valori del pivot
pivot_removeToglie una colonna da un asse
pivot_set_value_optionsAggregazione ed etichetta di una colonna nei valori
pivot_set_date_groupRaggruppa un asse per anno, trimestre, mese, settimana, giorno...
pivot_set_top_rowsLimite di righe dell'anteprima

Le operazioni sul canvas portano automaticamente in primo piano il tab View Builder,

cosi' la modifica avviene sotto gli occhi dell'utente e non in un tab nascosto.

Restano fuori, di proposito: creare la vista SQL, salvare la configurazione e cancellare.

Sono azioni che l'utente esegue dai pulsanti della pagina.

Impostazioni applicative — /appsettings-editor

Prompt utente:

> Imposta <chiave> a <valore>.

Il chatbot prepara le modifiche: compaiono come "modifiche pendenti" e il salvataggio

resta un click esplicito su Save & Apply. Nel riepilogo viene indicato se una delle

chiavi richiede il riavvio del backend.

OperazioneChe cosa fa
setPrepara una o piu' impostazioni
resetAnnulla le modifiche pendenti

Non sono modificabili dall'assistente: stringhe di connessione, password, chiavi API,

licenza, tipo di database. Se le si chiede, il chatbot spiega che vanno impostate a mano

nel campo corrispondente. I loro valori non compaiono mai nel contesto inviato al

modello.

Un valore fuori dall'elenco ammesso viene rifiutato indicando i valori validi; una chiave

inesistente viene rifiutata suggerendo quelle simili.

Report designer — <route>/report-designer

Prompt utente:

> Genera un report tabellare con le colonne principali di questa route.

Viene creato un file nuovo, con nome datato: il report aperto non viene sovrascritto.

A differenza delle altre pagine l'effetto e' immediato sul server, quindi il click su

Applica e' la conferma definitiva.

TemplateQuando usarlo
bandsElenco tabellare, con eventuali dettagli annidati
crosstabTabella incrociata (righe × colonna, con aggregazione)
crossgroupRaggruppamento con totali

Aggregazioni ammesse: Sum, Avg, Count, Min, Max. Una colonna inesistente fa rifiutare la

richiesta con l'elenco di quelle disponibili.

Struttura dell'applicazione (scaffolding)

Disponibile ovunque, per chi ha i permessi di amministrazione.

OperazioneChe cosa fa
db_table_createCrea una tabella nuova e la registra nell'applicazione (SQL Server e MySQL)
metadata_scaffold_tableImporta una tabella che esiste gia' sul database. Ripetibile: serve anche a riallineare una route dopo una modifica allo schema
metadata_scaffold_viewImporta una vista (route in sola lettura)
metadata_scaffold_columnMappa una colonna aggiunta al database fuori dall'applicazione
menu_entry_moveSposta o riordina una voce di menu

Prima di proporre, il chatbot legge la struttura reale del database (connessioni

disponibili, tabelle, colonne) e l'albero del menu: non inventa nomi. Delle connessioni

conosce solo i nomi, mai le stringhe di connessione.

Operazioni che rimuovono

Rimozione di una colonna e di una voce di menu sono irreversibili e trattate a parte:

vanno chieste nominando esplicitamente l'oggetto, e la conferma richiede di **digitarne il

nome esatto**. Una richiesta generica ("fai pulizia", "togli le colonne inutili") non

produce alcuna proposta.

Non e' possibile rimuovere tabelle o route dalla chat.

Designer visuali

Dashboard designer, workflow designer e scena 3D hanno i propri prompt, documentati nel

catalogo dei tool: rispettivamente designer_inject,

workflow_inject e scene3d_inject.

Quando il chatbot non propone

Non e' un errore: e' il comportamento previsto quando

  • la richiesta e' ambigua e potrebbe corrispondere a operazioni diverse;
  • si cita una colonna, una route o una chiave che non esiste — in quel caso vengono

elencate quelle reali;

  • l'operazione richiesta non e' disponibile su quella pagina.

In tutti questi casi il chatbot risponde a parole, senza card Applica.

Riferimenti

campi della proposta e i metadata modificati.

  • RAG Chatbot: configurazione del componente e del motore.