$ cat workspace-template.yaml
Creazione Quiz da Folder o da File
// Crea 1 documento con domande e risposte a partire da un input (doc/video/audio) e 1 documento con le risposte corrette
// Canvas Preview
// Instruction
Flusso Creazione Quiz PDF da Drive
Questo template genera un quiz e le relative risposte basandosi su un argomento e un set di documenti forniti. Il quiz viene creato in formato testuale leggibile e salvato come file PDF (o testo) in una cartella di Google Drive, insieme a un file separato contenente solo le risposte corrette.
Overview
Il workflow prende in input un argomento, un formato di quiz desiderato (es. Vero/Falso, a crocette), il numero di domande, e una cartella o un file di Google Drive da usare come base di conoscenza. Utilizza un agente RAG (Retrieval Augmented Generation) per recuperare informazioni pertinenti dai documenti forniti, quindi genera un quiz e un elenco di risposte corrette. Infine, salva il quiz e le risposte come file separati nella cartella di destinazione specificata in Google Drive.
Workflow Chain
Node Reference
- Argomento Quiz (
5cd512c3-7f06-4fc3-921b-a181ae9e6f4b)- What it does: Definisce l'argomento principale del quiz.
- Inputs from: Nessuno (input costante).
- Configurable inputs:
value(stringa, es. "documenti legali"). - Output: Il testo dell'argomento.
- Formato Quiz (
eaea8ffe-b92b-4f17-9980-46da6b428ccf)- What it does: Specifica il formato desiderato per le domande del quiz.
- Inputs from: Nessuno (input costante).
- Configurable inputs:
value(stringa, es. "Vero/Falso", "a crocette"). - Output: Il testo del formato del quiz.
- Numero Domande (
2c7609fd-2910-43e5-852f-af8d17bf6bf6)- What it does: Imposta il numero di domande da generare per il quiz.
- Inputs from: Nessuno (input costante).
- Configurable inputs:
value(stringa numerica, es. "10"). - Output: Il testo del numero di domande.
- Cartella Destinazione (Drive Emblema) (
5590c31a-d0c6-4430-8610-0e80aa3d3d94)- What it does: Seleziona la cartella di Google Drive dove verranno salvati i file del quiz e delle risposte.
- Inputs from: Nessuno (input costante).
- Configurable inputs:
driveItemId(ID della cartella di Drive). - Output: L'ID della cartella di Drive selezionata.
- Nome File Quiz (
b94e6fd3-46f5-482f-9200-0aaebf5253ac)- What it does: Definisce il nome del file per il quiz generato.
- Inputs from: Nessuno (input costante).
- Configurable inputs:
value(stringa, es. "quiz"). - Output: Il testo del nome del file del quiz.
- Nome File Risposte (
4021133b-0635-4798-bb7a-ca3c04de5606)- What it does: Definisce il nome del file per le risposte corrette del quiz.
- Inputs from: Nessuno (input costante).
- Configurable inputs:
value(stringa, es. "quiz-risposte"). - Output: Il testo del nome del file delle risposte.
- RAG Agent (
7004d0c2-e2a8-4299-aa77-5fe83ecb5f7e)- What it does: Recupera e analizza i contenuti da una cartella o un file di Drive basandosi su un prompt.
- Inputs from:
Argomento Quiz(inputprompt), utente (inputdriveItemId). - Configurable inputs:
driveItemId(ID della cartella/file di Drive). - Output: Il testo della risposta dell'agente (contenuto recuperato).
- Prompt Quiz (
3c74f276-c171-4d80-a394-b4fbf674d66c)- What it does: Unisce una parte fissa del prompt con il formato del quiz.
- Inputs from:
Formato Quiz(text2). - Configurable inputs:
text1(parte fissa del prompt). - Output: Il testo unito.
- Prompt Numero (
68a871d4-5854-45e0-a91f-8d85d7a840a2)- What it does: Unisce una parte fissa del prompt con il numero di domande.
- Inputs from:
Numero Domande(text2). - Configurable inputs:
text1(parte fissa del prompt). - Output: Il testo unito.
- Prompt Completo (
a2675469-5637-4251-973b-9acb5cc2b0fb)- What it does: Unisce le parti del prompt (
Prompt QuizePrompt Numero) per creare il prompt finale per la generazione del quiz. - Inputs from:
Prompt Quiz(text1),Prompt Numero(text2). - Configurable inputs: Nessuno (tutti gli input provengono da altri nodi).
- Output: Il prompt completo per la generazione del quiz.
- What it does: Unisce le parti del prompt (
- Quiz Generator (a crocette) (
c64dfb3a-3591-491d-8123-0fe62649caab)- What it does: Genera il quiz in formato JSON basandosi sul contenuto recuperato e sul prompt completo.
- Inputs from:
RAG Agent(input_text),Prompt Completo(prompt). - Configurable inputs:
language(lingua di output, impostata dinamicamente). - Output: Il quiz generato in formato JSON.
- JSON → Testo Leggibile (
992d2566-c142-4207-bd4d-71a3e38d7726)- What it does: Trasforma il quiz in formato JSON in un testo leggibile e ben formattato.
- Inputs from:
Quiz Generator (a crocette)(input_text). - Configurable inputs:
language(lingua di output, impostata dinamicamente). - Output: Il quiz formattato come testo leggibile.
- Risposte Corrette (
91eca925-f213-4f12-a440-2bb80559293f)- What it does: Estrae le risposte corrette dal quiz JSON e le formatta in un elenco leggibile.
- Inputs from:
Quiz Generator (a crocette)(input_text). - Configurable inputs:
language(lingua di output, impostata dinamicamente). - Output: L'elenco delle risposte corrette.
- Salva PDF nella cartella (
2767ada0-96c8-441d-bf2d-f0a8fcd4a81b)- What it does: Salva il testo del quiz formattato come file nella cartella di Drive specificata.
- Inputs from:
JSON → Testo Leggibile(text),Cartella Destinazione (Drive Emblema)(destinationFolder),Nome File Quiz(name). - Configurable inputs: Nessuno (tutti gli input provengono da altri nodi).
- Output: L'ID dell'elemento di Drive salvato.
- Salva Risposte (
7b418ba7-1b18-4e69-9897-ee17c78849cb)- What it does: Salva il testo delle risposte corrette come file nella cartella di Drive specificata.
- Inputs from:
Risposte Corrette(text),Cartella Destinazione (Drive Emblema)(destinationFolder),Nome File Risposte(name). - Configurable inputs: Nessuno (tutti gli input provengono da altri nodi).
- Output: L'ID dell'elemento di Drive salvato.
Execution Strategy
You MUST complete all 4 phases in order: Phase 1 → Phase 2 → Phase 3 → Phase 4. Do NOT skip any phase.
Phase 1: Configurazione Iniziale
- Risolvi la lingua di output: Determina la lingua di output desiderata. Se l'utente ha specificato una lingua nella sua richiesta, usa quella. Altrimenti, usa la lingua della richiesta dell'utente. Se non è risolvibile, imposta
languagesuauto. Memorizza il risultato inresolvedLanguage. - Raccogli i parametri di configurazione: Chiama
requestUserDecisionUNA VOLTA per raccogliere tutti i parametri necessari dall'utente. Tutti gli input sono obbligatori e non hanno valori predefiniti: Memorizza le risposte in variabili:driveItem = answers.find(a => a.key === "driveItem")?.selectedIds?.[0] || answers.find(a => a.key === "driveItem")?.otherText,quizTopic = answers.find(a => a.key === "quizTopic")?.selectedIds?.[0] || answers.find(a => a.key === "quizTopic")?.otherText,quizFormat = answers.find(a => a.key === "quizFormat")?.selectedIds?.[0],numQuestions = answers.find(a => a.key === "numQuestions")?.selectedIds?.[0] || answers.find(a => a.key === "numQuestions")?.otherText,destinationFolder = answers.find(a => a.key === "destinationFolder")?.selectedIds?.[0] || answers.find(a => a.key === "destinationFolder")?.otherText,quizFileName = answers.find(a => a.key === "quizFileName")?.selectedIds?.[0] || answers.find(a => a.key === "quizFileName")?.otherText,answersFileName = answers.find(a => a.key === "answersFileName")?.selectedIds?.[0] || answers.find(a => a.key === "answersFileName")?.otherText. Se l'utente annulla (cancelledètrue), termina l'esecuzione confollowUp. nodeFinder→ Trova i nodi necessari per la configurazione:Argomento Quiz(5cd512c3-7f06-4fc3-921b-a181ae9e6f4b)Formato Quiz(eaea8ffe-b92b-4f17-9980-46da6b428ccf)Numero Domande(2c7609fd-2910-43e5-852f-af8d17bf6bf6)Cartella Destinazione (Drive Emblema)(5590c31a-d0c6-4430-8610-0e80aa3d3d94)Nome File Quiz(b94e6fd3-46f5-482f-9200-0aaebf5253ac)Nome File Risposte(4021133b-0635-4798-bb7a-ca3c04de5606)RAG Agent(7004d0c2-e2a8-4299-aa77-5fe83ecb5f7e)Quiz Generator (a crocette)(c64dfb3a-3591-491d-8123-0fe62649caab)JSON → Testo Leggibile(992d2566-c142-4207-bd4d-71a3e38d7726)Risposte Corrette(91eca925-f213-4f12-a440-2bb80559293f)
upsertNode→ Configura i nodi con i valori raccolti dall'utente e la lingua risolta:Argomento Quiz:value=quizTopicFormato Quiz:value=quizFormatNumero Domande:value=numQuestionsCartella Destinazione (Drive Emblema):driveItemId=destinationFolderNome File Quiz:value=quizFileNameNome File Risposte:value=answersFileNameRAG Agent:driveItemId=driveItemQuiz Generator (a crocette):language=resolvedLanguageJSON → Testo Leggibile:language=resolvedLanguageRisposte Corrette:language=resolvedLanguage
Phase 1 complete. Now proceed to Phase 2.
Phase 2: Recupero Contenuti e Preparazione Prompt
nodeExecutor→ Esegui il nodoRAG Agentper recuperare i contenuti dalla fonte Drive specificata.nodeFinder→ Trova i nodi per la costruzione del prompt:Prompt Quiz(3c74f276-c171-4d80-a394-b4fbf674d66c)Prompt Numero(68a871d4-5854-45e0-a91f-8d85d7a840a2)Prompt Completo(a2675469-5637-4251-973b-9acb5cc2b0fb)
nodeExecutor→ Esegui i nodiPrompt Quiz,Prompt NumeroePrompt Completoin sequenza per costruire il prompt finale che verrà utilizzato per la generazione del quiz.
Phase 2 complete. Now proceed to Phase 3.
Phase 3: Generazione e Formattazione Quiz
nodeExecutor→ Esegui il nodoQuiz Generator (a crocette)per generare il quiz in formato JSON, utilizzando il contenuto recuperato e il prompt completo.nodeExecutor→ Esegui il nodoJSON → Testo Leggibileper convertire il quiz JSON generato in un formato testuale leggibile e ben formattato.nodeExecutor→ Esegui il nodoRisposte Corretteper estrarre e formattare le risposte corrette dal quiz JSON.
Phase 3 complete. Now proceed to Phase 4.
Phase 4: Salvataggio Output
nodeExecutor→ Esegui il nodoSalva PDF nella cartellaper salvare il quiz formattato come file nella cartella di Drive specificata.nodeExecutor→ Esegui il nodoSalva Risposteper salvare le risposte corrette come file separato nella stessa cartella di Drive.verification→ Verifica che entrambi i file siano stati salvati correttamente in Google Drive.followUp→ Riassumi che il quiz e le risposte sono stati generati e salvati con successo nella cartella di Drive specificata.
Configuration Tips
Error Handling
- File o cartella Drive non trovati: Se l'ID o il percorso fornito per
driveItemodestinationFoldernon corrisponde a un elemento Drive esistente, l'agente chiederà all'utente di fornire un ID valido o un percorso corretto. - Generazione quiz fallita: Se
Quiz Generator (a crocette)non produce un output valido, verifica il prompt completo (Prompt Completo) e il contenuto fornito daRAG Agent. Potrebbe essere necessario affinare l'argomento o il formato del quiz. - Salvataggio file fallito: Se
Salva PDF nella cartellaoSalva Rispostefalliscono, assicurati che laCartella Destinazione (Drive Emblema)sia accessibile e che i nomi dei file siano validi.
// Dependencies
$ git log --oneline
migliorato il flusso, migliorate le istruzioni
fix istruzioni iniziali
ristrutturato il flusso
corretta dicitura istruzioni
aggiunto naming output
ora crea un quiz a partire da un folder drive, con possibilità di lettura multi document
input iniziali per lancio template
l'utente sceglie input/output e tipo quiz