Esempi – Creazione di script di caricamento ed espressioni del grafico per il connettore di analisi OpenAI
Questi esempi insegnano come utilizzare il connettore di analisi di OpenAI per interagire con modelli linguistici di grandi dimensioni. Gli esempi guidano l'utente attraverso esercizi di base che mostrano come incorporare contenuti testuali generati dall'IA nel proprio modello dati e nelle espressioni del grafico.
In questi esempi, si utilizzerà la configurazione dell'API completamenti chat di OpenAI del connettore di analisi OpenAI.
È possibile anche completare questo esempio utilizzando il connettore Azure OpenAI. Quando si utilizza questo connettore, si interagisce con i modelli tramite la piattaforma Microsoft Azure, piuttosto che la piattaforma OpenAI.
Prima di iniziare
Prima di poter terminare l'esempio, è necessario completare i seguenti passaggi.
-
Creare un account sulla piattaforma OpenAI
-
Ottenere una chiave OpenAI API
-
Abilitare la funzionalità della connessione di analisi in Qlik Cloud
-
Creare connessioni con le configurazioni del connettore applicabili
Per ulteriori informazioni, vedere:
Utilizzo del connettore OpenAI nello script di caricamento
Crea una nuova Qlik Sense applicazione, alla quale aggiungerai uno script di caricamento per comunicare con la piattaforma OpenAI. Le tabelle caricate con questo script saranno accessibili nel modello dati della tua applicazione.
Seguire i passaggi riportati di seguito. Per ulteriori dettagli, vedere Selezione e caricamento di dati da una connessione OpenAI.
Creazione di una tabella di dati da inviare a OpenAI
Il primo passaggio è la creazione di una tabella contenente la richiesta che si desidera inviare a OpenAI. La righe di dati nella richiesta sono note come "completamenti". Il testo di ogni elemento deve essere contenuto nelle righe di un singolo campo (colonna) nella tabella. Ogni riga nella colonna rappresenta del testo che deve essere completato dall'API OpenAI.
Può esservi un secondo campo aggiuntivo per il Campo di associazione, ma questo deve corrispondere al nome del campo specificato nella configurazione. Si tratta di un campo speciale che non sarà inviato a OpenAI, ma è allegato alle risposte allo scopo di generare un modello dati Qlik.
Nella tua applicazione, apri l'Editor caricamento dati e incolla il seguente codice in una nuova sezione dello script:
SourceTable:
NoConcatenate
LOAD
RowNo() as RowId,
Text
Inline
[Text
translate from English to French: What is the time you go to work?];
La tabella comprende un campo denominato Text, che contiene una singola domanda da porre a OpenAI. È possibile aggiungere ulteriori domande come nuove celle individuali sotto la cella della domanda esistente. Il campo RowId è il Campo di associazione, che verrà utilizzato nel passaggio successivo per collegare le risposte al modello dati dell'applicazione.
Creazione di un'istruzione di caricamento OpenAI
Il passaggio seguente consiste nella creazione di un'altra istruzione di caricamento per la comunicazione con OpenAI. La tabella che si carica con questa istruzione punta ai nomi della tabelle e dei campi utilizzati per inviare i dati della richiesta. In pratica, una seconda tabella viene caricata dallo script per fornire le risposte di OpenAI agli elementi della richiesta dell'utente.
Per generare questa parte dello script, è possibile usare la procedura guidata Seleziona dati per la connessione che utilizzata. Questa genera uno script modello che include i nomi delle proprietà fornite. In alternativa, è possibile aggiungere la tabella manualmente nell'editor dello script senza bisogno di utilizzare la procedura guidata.
Individuare la connessione utilizzata nel pannello Sorgenti dati di Editor caricamento dati e fare clic su . Questa azione apre la procedura guidata Seleziona dati.
Il pulsante Seleziona dati per una connessione di analisi nell'Editor caricamento dati
Quando si usa la procedura guidata Seleziona dati, è necessario fornire due proprietà:
-
Il nome della Tabella Resident. È la tabella con le domande da inviare a OpenAI. In questo caso, è SourceTable.
-
Il nome del Campo dati. È il campo contenente le domande da inviare a OpenAI. In questo caso, è Text.
In Tabelle, fare clic sulla casella di controllo della tabella denominata openai.
La procedura guidata di Seleziona dati nell'Editor caricamento dati
Quando si fa clic su Inserisci script, la nuova tabella viene aggiunta allo script di caricamento.
Una volta aggiunta l'istruzione di caricamento per OpenAI, lo script di caricamento dovrebbe essere il seguente:
Ora è possibile eseguire lo script di caricamento.
Caricamento dei dati nell'applicazione
Una volta completato lo script, fare clic su Carica dati. Questa opzione consente di eseguire le comunicazioni con OpenAI e inserisce le tabelle nel modello dati dell'applicazione.
Aprire il Sistema di visualizzazione modello dati e notare che le due tabelle sono collegate, come previsto. Nel pannello Anteprima, la risposta di OpenAI alla domanda posta è inclusa nella seconda tabella.
Modello dati creato da una connessione OpenAI
È ora possibile generare contenuto analitico utilizzando i dati caricati nell'applicazione. Non sarà necessario fare riferimento alla connessione OpenAI in alcun grafico creato utilizzando questi dati. Per ulteriori informazioni su come usare la connessione OpenAI direttamente nelle espressioni del grafico (anziché utilizzarla nello script di caricamento), vedere Utilizzo del connettore OpenAI nelle espressioni del grafico.
Utilizzo del connettore OpenAI nelle espressioni del grafico
Oltre ad aggiungere domande e risposte OpenAI al modello dati dell'applicazione utilizzando lo script di caricamento, è anche possibile eseguire queste operazioni direttamente in un grafico nell'applicazione. Questo può essere un alternativo all'uso di tabelle nello script di caricamento per comunicare con OpenAI.
I dati per un singolo campo vengono inviati avanti e indietro tra l'utente e OpenAI. In molti casi, il codice utilizzato per la connessione di uno script può essere riutilizzato per un grafico, con alcune differenze notevoli.
Per ulteriori dettagli, vedere Utilizzo delle connessioni OpenAI nelle espressioni di visualizzazione.
Considerazioni relative al volume dati delle richieste
Per le espressioni del grafico per una o alcune righe di dati, si consiglia di utilizzare esclusivamente le connessioni OpenAI. Non si consiglia l'utilizzo di espressioni del grafico per inviare grandi quantità di dati a OpenAI.
È importante verificare il numero di righe che si inviano con ogni richiesta. Gli errori nella configurazione della connessione in un'espressione del grafico possono portare a richieste accidentalmente grandi (ad esempio, a causa di righe identiche con la stessa domanda a causa dell'utilizzo scorretto del modello dati in un grafico). Prima di interagire con una piattaforma di terze parti, assicurarsi di conoscere in che modo i campi utilizzati nel calcolo dell'espressione del grafico, e la loro posizione nel modello dati, hanno effetto sull'accordo finanziario e sulle modalità di fatturazione con le terze parti. Un utilizzo più elevato della piattaforma esterna può determinare costi superiori.
Seguire queste linee guida per controllare e limitare le dimensioni delle richieste:
-
Quando si utilizzano le espressioni del grafico, utilizzare la connessione solo in un oggetto Testo (da Dashboard bundle). Si sconsiglia vivamente l'utilizzo di una connessione OpenAI in un oggetto Tabella, soprattutto se si desidera aggiungere l'espressione a una tabella con una o più dimensioni preesistenti.
-
Se l'espressione del grafico è collegata al modello dati dell'applicazione, utilizzare un'istruzione if nell'espressione esclusivamente per calcolare il grafico quando si effettua un'unica selezione nell'applicazione. In questo modo, il numero di righe verrà ridotto notevolmente nelle richieste che il grafico invierà a OpenAI.
-
Se si usa una connessione OpenAI per inviare richieste di grandi dimensioni, usare la connessione nello script di caricamento anziché in un'espressione del grafico, in modo che i dati vengano pre-caricati del modello dati.
Esercizio: creazione di un'espressione del grafico di base
Procedere come indicato di seguito:
-
Creare un'applicazione Qlik Sense e aprire un nuovo foglio in modalità di modifica.
Nota informaticaLa connessione di analisi che si sta utilizzando per l'espressione del grafico deve essere già creata nello spazio in cui si crea l'applicazione. È possibile farlo nell'Editor caricamento dati all'interno di un'applicazione o dalla pagina Crea del Analisi centro attività. Per ulteriori informazioni, vedere Creazione di una connessione OpenAI. -
Nel pannello risorse, visualizzare Grafici.
-
Sotto Oggetti dashboard, trascinare un oggetto Testo sul foglio.
-
Nel pannello delle proprietà, in Dati > Misure, aggiungere una misura e fare clic su
per aprire l'editor delle espressioni.
-
Incollare la seguente espressione nell'editor delle espressioni:
endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI_Examples_Intro","column":"choices.message.content"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.')Nota informaticaIn questo esempio, è consentito non utilizzare un'istruzione if, poiché si invia una sola riga di dati e non è presente nessuna connessione a un modello dati. In altri scenari, utilizzare un'istruzione if per assicurare che il grafico venga calcolato solo quando un singolo valore di campo è selezionato nell'applicazione. Per esempio, vedere Esempi rapidi.Nota informaticaAffinché questo codice esatto funzioni correttamente nella propria applicazione, anche la connessione OpenAI deve essere configurata con lo stesso valore Nome di quello specificato per connectionname nell'espressione. Per i valori utilizzati per questo tutorial, vedere Creazione di connessioni. -
Fare clic su Applica.
Oggetto testo Qlik Sense con risposta di OpenAI
Esercizio: creazione di una casella di testo di input che utilizza una variabile
In alternativa, è possibile sostituire la stringa della domanda con il nome di una variabile creata nell'applicazione, consentendo la creazione di una casella di input in cui gli utenti dell'applicazione possono inserire le proprie domande senza interagire con le espressioni.
Questa semplice interfaccia può essere utilizzata per arricchire i dati dell'applicazione con informazioni contestuali generate in tempo reale.
Procedere come indicato di seguito:
-
Creare un'applicazione e aggiungere dati e visualizzazioni a un nuovo foglio.
-
Fare clic su
per creare una variabile. Per questo esercizio, assegnare ilNome vUserQuestion. Lasciare gli altri parametri vuoti.
-
Nel pannello risorse, trascinare un grafico Input variabile sul foglio. È possibile trovarlo in
Oggetti personalizzati > Qlik Bundle dashboard.
-
Nel pannello delle proprietà del grafico Input variabile, espandere Aspetto > variabile.
-
In Nome, selezionare vUserQuestion.
-
In Mostra come, selezionare Casella di input.
-
Nel pannello risorse, da
Oggetti personalizzati > Bundle dashboard Qlik, trascinare un oggetto Testo sul foglio.
-
Nel pannello delle proprietà, in Dati > Misure, aggiungere una misura e fare clic su
per aprire l'editor delle espressioni.
-
Incollare la seguente espressione nell'editor delle espressioni:
if(vUserQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI_Examples_Intro","column":"choices.message.content"}}',vUserQuestion))Nota informaticaAffinché questo codice esatto funzioni correttamente nella propria applicazione, anche la connessione OpenAI deve essere configurata con lo stesso valore Nome di quello specificato per connectionname nell'espressione. Per i valori utilizzati per questo tutorial, vedere Creazione di connessioni. -
Fare clic su Applica.
-
Ridimensionare le caselle per input e risposta in base alle proprie esigenze.
Ora dovrebbe essere possibile uscire dalla modalità di modifica e digitare una domanda nella casella di input. Quando si preme Invio o si fa clic su un punto qualsiasi del foglio, la casella con la risposta verrà popolata con la risposta di OpenAI.
Foglio semplice con dati generici e casella di input per le domande da porre a OpenAI.
La OpenAI connessione in questo esercizio non comunica affatto con il modello dati dell'applicazione, ma è possibile creare applicazioni molto più sofisticate che sono completamente integrate con i dati caricati nell'applicazione, oltre a essere reattive alle selezioni effettuate nell'applicazione.
Per ulteriori informazioni sull'uso delle variabili, vedere Creazione di una variabile e Controllo Input variabile.
Differenze tra lo script di caricamento e il codice di espressione del grafico
Nelle seguenti espressioni del grafico, è stato riutilizzato il codice inserito nella lezione precedente relativa allo script di caricamento. Il seguente elenco evidenza le differenze più importanti tra la versione dello script di caricamento e le espressioni del grafico:
-
Modificare ScriptEval in ScriptAggrStr come illustrato. Questa operazione specifica che si desidera inviare un'unica riga di dati e che si prevede di ricevere una singola riga. Ciò è necessario quando si utilizzano dati personalizzati, come una variabile o un valore costante, come in questo caso. “Str” indica che si inviano e si ricevono valori di testo.
-
Aggiungere una nuova proprietà, column, con il valore choices.message.content, come illustrato. È annidata nell'oggetto endpoint. Questa aggiunta alla stringa di configurazione è necessaria per specificare il campo che deve essere restituito dal connettore. Nell'espressione di un grafico, viene utilizzato un unico campo ed è necessario specificare qual è.
Per ulteriori informazioni, vedere Sintassi delle estensioni lato server.