# Utilizzo delle connessioni OpenAI nelle espressioni di visualizzazione

Oltre ad aggiungere OpenAI domande e risposte al modello dati della propria applicazione utilizzando lo script di caricamento, è possibile anche eseguire queste operazioni direttamente in un grafico nella propria applicazione nella modalità di analisi. I dati per un singolo campo vengono inviati avanti e indietro tra l'utente e OpenAI.

In molti casi, il codice usato per la connessione di uno script di caricamento può essere riutilizzato in un grafico, con alcune differenze.

Se il caso di utilizzo si basa sull'input dell'utente, è possibile utilizzare una connessione di analisi e la sintassi corrispondente di estensione lato server nell'espressione del grafico dell'utente al fine di creare grafici interattivi che visualizzino i dati ricevuti dagli endpoint modello.

## 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.

## Creazione di espressioni del grafico

Procedere come indicato di seguito:

1. Al momento di modificare una visualizzazione, fare clic su the Espressione icon per accedere all'editor delle espressioni.

2. Nell'editor delle espressioni, inserire un'espressione nel campo espressioni. L'espressione deve essere formulata usando la sintassi dell'estensione lato server.

## Esempi rapidi

In questa sezione vengono elencate alcune espressioni di esempio che è possibile utilizzare quando con il connettore OpenAI. Tenere presente le seguenti indicazioni:

* Utilizzare unicamente espressioni con un oggetto Testo (da Dashboard bundle). Vedere [Testo](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/text-object.htm).

* Considerare di aggiungere un'istruzione `if` alle espressioni per controllare quando il grafico viene ricalcolato e aggiornato, a seconda delle selezioni dell'utente nell'applicazione.

* Affinché le espressioni funzionino, è necessario sostituire il valore `connectionname` e qualsiasi nome di campo in modo che corrispondano alle proprie connessioni e applicazioni.

Per ulteriori esempi, vedere [Tutorial – Utilizzo del connettore di analisi OpenAI in Qlik Cloud](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial.htm).

Esempi di espressioni del grafico per il connettore di analisi OpenAI

Esempi di espressioni del grafico per il connettore di analisi OpenAI

| Configurazione del connettore | Espressione | Riepilogo |
| --- | --- | --- |
| OpenAI Chat Completions API | `if(GetSelectedCount(BusinessTopic)=1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3", "column":"choices.message.content"}}', 'What are people saying about ' & 'BusinessTopic'), 'Please select a single value for BusinessTopic.')` | Questa è un'istruzione complessa `if` nella quale il grafico viene calcolato solo se l'utente seleziona un valore per il campo `BusinessTopic`. Il grafico si aggiorna solo se l'utente ha effettuato questa selezione nell'applicazione, e in caso contrario, il grafico visualizzerà il seguente messaggio alternativo: `Please select a single value for BusinessTopic`. |
| OpenAI Chat Completions API | `if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.message.content"}}',vQuestion))` | Questa è un'istruzione che può essere utilizzata in un oggetto Testo (da Dashboard bundle) collegato a un controllo Input variabile. Il grafico viene calcolato solo dopo che viene inserito l'input. Quando l'utente digita l'input nell'oggetto e preme Invio, il grafico visualizza la risposta del modello al testo inserito.<br><br>Per la procedura dettagliata, vedere [Esercizio: creazione di una casella di testo di input che utilizza una variabile](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial-example-3.htm#Exercise). |
| OpenAI Chat Completions API | `if(<br>count(distinct [IssueCategory]) = 1,<br>endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Chat_3_5","column":"choices.message.content"}}', 'write me a sample response from a technical support department for a customer complaint about ' & [IssueCategory]))` | In questo esempio, il grafico viene calcolato solo se un valore distinto è stato selezionato dal campo `IssueCategory` nel modello dati dell'applicazione. Una richiesta viene inviata a OpenAI per richiedere una risposta di esempio da un dipartimento di supporto tecnico riguardante un tipo generale di problema, un elenco dei quali è incluso nel campo `IssueCategory`. Il grafico viene aggiornato a seconda del valore selezionato dall'utente. |

## Esempi dettagliati

Per esempi completi su come creare espressioni di visualizzazione usando la connessione OpenAI, vedere [Tutorial – Utilizzo del connettore di analisi OpenAI in Qlik Cloud](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial.htm).

## Ulteriori informazioni

* [Sintassi delle estensioni lato server](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)
* [GetSelectedCount - funzione per grafici](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getselectedcount.htm)
* [Utilizzo delle variabili nelle espressioni](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)