È possibile creare un task di IA generativa per implementare la logica di IA generativa nel flusso di servizi. I task di intelligenza artificiale generativa consentono di inviare una richiesta a un modello linguistico di grandi dimensioni (LLM) e di ricevere l'output generato.
Prima di iniziare
Per utilizzare gli strumenti dell'intelligenza artificiale generativa nell'editor dei flussi di servizio, è necessario configurare il server con una connessione al provider watsonx.ai™. Se si passa alla scheda Gen AI nell'editor del flusso di servizio e il server non è configurato, viene visualizzata una pagina con un messaggio di errore e un link alla documentazione di configurazione.
Per sapere come configurare le attività di IA generativa, vedere Abilitazione dell'IA generativa in Business Automation Workflow sui contenitori.
Dopo la configurazione del server, nella sezione Attività della palette dell'editor del flusso di servizi viene aggiunta una nuova voce AI () per il task AI generativo.
Procedura
- Aprite l'applicazione di processo nel designer e aprite un flusso di servizio esistente o createne uno nuovo dall'albero di navigazione sul lato sinistro.
- Nella vista Diagramma del flusso di servizi, fare clic sulla freccia accanto all'icona Attività nella tavolozza dei componenti per aprire la sottopaletta e trascinare l'icona AI () sulla tela del diagramma.
- Per configurare l'attività di IA generativa, fare clic sull'attività nel diagramma, andare alla scheda Implementazione e fare clic su Apri IA generativa, oppure fare clic sulla scheda IA generativa nella parte superiore dell'editor e fare clic sul nome dell'attività nel pannello di sinistra.
Si apre un editor nella scheda Gen AI.
- Selezionare il modello linguistico di grandi dimensioni (LLM) che si desidera utilizzare per il prompt.
Ogni voce include una breve descrizione del LLM.
- Creare una richiesta che verrà inviata all'LLM per l'elaborazione.
- Nel campo Contesto, inserire un'affermazione imperativa.
- Facoltativo: nel campo Input, inserire il testo a cui si desidera che il modello risponda.
- Opzionale: Aggiungere variabili per rendere il contesto e gli input più riutilizzabili.
- Accedere alla scheda Variabili del flusso di servizi e fare clic sul segno + accanto alla sezione Variabili per ciascuna variabile di ingresso e di uscita richiesta nel flusso di servizi. Nel campo Nome, sostituire il nome predefinito con un nome più descrittivo. Fare clic su Seleziona accanto a Tipo di variabile e scegliere Dati di sistema stringa dall'elenco. Opzionalmente, è possibile impostare un valore predefinito per la variabile, selezionando Has default e inserendo un valore nel campo corrispondente della sezione Default Value.
- Dall'editor nella scheda Gen AI, fare clic su Aggiungi variabile + nella sezione Variabili.
- Selezionare le variabili da aggiungere all'attività Gen AI dal menu a discesa e fare clic su Aggiungi. Sono supportate solo le variabili di tipo String e che non sono un elenco, disponibili nel menu a discesa.
Le variabili sono ora aggiunte al task di IA generativa e sono elencate nella sezione
Variabili. Queste variabili possono essere successivamente rimosse facendo clic sull'icona del cestino.
Attenzione: Se una variabile viene eliminata dalla scheda Variabili, non sarà più disponibile per l'uso nell'input e nel contesto del prompt e dovrà essere eliminata anche da lì.
- Per vedere quali tipi di output vengono generati per l'LLM con diversi valori di input, inserire un valore di prova per la variabile nel campo Valore da utilizzare nel prompt. Questo valore non verrà utilizzato in fase di esecuzione.
Nota: se nel flusso di servizio è stato aggiunto un valore predefinito per la variabile, questo verrà visualizzato automaticamente nel campo Valore quando la variabile viene aggiunta al task Gen AI.
- Aggiungete le variabili dal flusso di servizio al contesto o all'input facendo clic sul segno + nell'angolo in basso a sinistra delle aree, oppure premendo . Il nome della variabile viene visualizzato nel campo relativo, racchiuso tra doppie parentesi graffe, ad esempio:
- Opzionale: Per limitare la lunghezza dell'output generato, dal riquadro Parametri specificare il numero minimo e massimo di token che l'LLM può generare.
Suggerimento: Un token è una sequenza di caratteri che ha un significato semantico per un modello. Prima dell'elaborazione LLM, le parole del testo richiesto vengono convertite in token. Allo stesso modo, anche l'output grezzo del modello è sotto forma di token. Questi token in uscita vengono poi riconvertiti in parole da visualizzare come risultato finale.
- I valori predefiniti minimo e massimo sono impostati su 1 e 50.
- Il valore minimo non può essere 0.
- Ogni LLM ha un limite massimo al numero totale di token, che comprende sia i token presenti nella richiesta di input sia quelli presenti nell'output generato. È possibile visualizzare tali limiti nelle descrizioni LLM nel menu a discesa Modello linguistico grande. Per ulteriori informazioni sui token, vedere Token e tokenizzazione
.
Il costo della chiamata al LLM dipende dal numero di token che consuma e produce. Per garantire che la risposta sia pertinente senza essere eccessivamente prolissa, si consiglia di limitare il risultato. Ad esempio, se ci si aspetta una risposta "sì" o "no", è possibile impostare il numero massimo di token a 1.
- Facoltativo: Per migliorare la precisione e la pertinenza dell'attività di IA generativa, aggiungere esempi di addestramento e specificare una o più coppie di campioni di input e di output corrispondenti facendo clic su Nuovo esempio nella sezione Esempi di addestramento e digitando l'input e l'output previsto.
Fornendo all'LLM esempi di addestramento adeguati, si otterranno risultati migliori, ma bisogna assicurarsi di non superare il limite massimo di token in ingresso impostato dall'LLM e il limite massimo complessivo di token sia per i token in ingresso che per quelli in uscita generati.
- Fare clic su Genera.
Suggerimento: Facendo clic su RAW accanto al pulsante Genera, vengono visualizzate le informazioni inviate all'LLM.
- Esaminare il risultato nel riquadro Output generato facendo clic sull'icona prompt grezzo per visualizzare i prompt grezzi.
Nella finestra
View raw prompt, è possibile vedere il contesto, l'input e gli esempi di addestramento utilizzati per ottenere l'output generato:
- Per migliorare ulteriormente i risultati del prompt, è possibile modificare l'input o l'output previsto e fornire altri esempi.
- Quando si è soddisfatti dell'output generato, si può fare clic su Salva come esempio per salvare l'input richiesto e l'output generato come esempio di allenamento, che verrà elencato nella sezione Esempi di allenamento.
- Mappare l'output generato alle variabili del flusso di servizi, accedendo alla sezione Mappatura dei dati nel riquadro delle proprietà della scheda Diagramma.
L'output del task è mappato sulle variabili del flusso di servizio, in modo che l'output possa essere utilizzato da altri task a valle o da processi o task di servizio chiamanti. Non c'è alcuna mappatura di input da compilare, perché viene fatta implicitamente quando si aggiungono le variabili nella scheda
Gen AI. È possibile mappare quattro risultati dell'attività:
- Testo generato: L'output di LLM.
- Conteggio dei token generati: Il numero di token generati dal LLM per il testo generato.
- Conteggio dei token in ingresso: Il numero di token consumati dall'LLM per l'input dato.
- Motivo dell'interruzione: Il motivo per cui la chiamata si è interrotta. Può essere:
- non_finito: Possibilmente altri token da trasmettere.
- max_tokens: Raggiunto il numero massimo di token richiesti.
- eos_token: Riscontro di un token di fine sequenza.
- annullata: Richiesta annullata dal cliente.
- time_limit: limite di tempo raggiunto.
- stop_sequence: Sequenza di arresto incontrata.
- token_limit: raggiunto il limite dei token.
- errore: Errore riscontrato.
Risultati
Il prompt dell'IA generativa configurato per un'attività di IA generativa in un flusso di servizi può ora essere richiamato dall'applicazione di processo.