Voorbeelden – Load-scripts en diagramuitdrukkingen maken voor de OpenAI-analyseconnector
Deze voorbeelden leren u hoe u de OpenAI-analyseconnector kunt gebruiken voor interactie met Large Language Models. De voorbeelden leiden u door de basisoefeningen zodat u leert hoe u door AI gegenereerde tekstinhoud in uw gegevensmodel en diagramuitdrukkingen kunt gebruiken.
In deze voorbeelden gebruikt u de configuratie van de OpenAI Chat Completions API van de OpenAI-analyseconnector.
U kunt dit voorbeeld ook voltooien met behulp van de Azure OpenAI-connector. Als u deze connector gebruikt, werkt u met de modellen via het Microsoft Azure-platform in plaats van het OpenAI-platform.
Voordat u van start gaat
Voordat u dit voorbeeld kunt voltooien, moet u de volgende stappen voltooien.
-
Een account voor het OpenAI-platform maken
-
Een OpenAI API‑sleutel ophalen
-
Functionaliteit van de analyseverbinding inschakelen in Qlik Cloud
-
Verbindingen maken met de toepasselijke connectorconfiguraties
Ga voor meer informatie naar:
De OpenAI‑connector in uw load-script gebruiken
Maak een nieuwe Qlik Sense-applicatie, waaraan u een load-script gaat toevoegen om te communiceren met het OpenAI-platform. De tabellen die u laadt met dit script zijn toegankelijk in het gegevensmodel van uw applicatie.
Volg de onderstaande stappen. Voor meer informatie gaat u naar Gegevens selecteren en laden via een OpenAI‑verbinding.
De tabel met gegevens maken die naar OpenAI wordt verzonden
De eerste stap is om een tabel te maken met de aanvraag die u naar OpenAI gaat verzenden. De rijen gegevens in de aanvraag worden 'completions' genoemd. De tekst van elk item moet een rij zijn in een enkel veld (kolom) in de tabel. Elke rij in deze kolom vertegenwoordigt tekst die door de OpenAIAPI moet worden voltooid.
Er kan een tweede aanvullend veld voor het koppelingsveld aanwezig zijn, maar dit veld moet overeenkomen met de veldnaam die is opgegeven in de configuratie. Dit is een speciaal veld dat niet naar OpenAI wordt verzonden, maar bij de responsen wordt bijgevoegd om een Qlik-gegevensmodel te genereren.
Open in uw applicatie de Editor voor laden van gegevens en plak de volgende code in een nieuwe scriptsectie:
SourceTable:
NoConcatenate
LOAD
RowNo() as RowId,
Text
Inline
[Text
translate from English to French: What is the time you go to work?];
Deze tabel bevat een veld met de naam Text, dat een vraag bevat die we aan OpenAI gaan stellen. U kunt aanvullende vragen toevoegen als nieuwe afzonderlijke cellen onder de bestaande cel van de vraag. Het veld RowId is het koppelingsveld, dat in de volgende stap zal worden gebruikt om de responsen te koppelen aan het gegevensmodel van de applicatie.
De OpenAI LOAD-instructie maken
De volgende stap is om nog een LOAD-instructie te maken om te communiceren met OpenAI. De tabel die u laadt met deze instructie verwijst naar de namen van de tabel en velden die u gebruikt om de aanvraaggegevens te verzenden. Kortom: er wordt een tweede tabel geladen door het script om de responsen van OpenAI op uw aanvragen ter beschikking te stellen.
Om dit deel van het script te genereren, kunt u de wizard Gegevens selecteren gebruiken voor de verbinding die u gebruikt. Hiermee wordt een sjabloonscript gegenereerd met de namen van de eigenschappen die u hebt opgegeven. U kunt deze tabel desgewenst ook handmatig toevoegen in de scripteditor zonder de wizard te gebruiken.
Zoek de verbinding die u gebruikt in het venster Gegevensbronnen van de editor voor laden van gegevens en klik op . Hiermee wordt de wizard Gegevens selecteren geopend.
Knop Gegevens selecteren voor een analyseverbinding in de editor voor laden van gegevens
Als u de wizard Gegevens selecteren gebruikt, moet u twee eigenschappen opgeven:
-
De naam van de resident-tabel. Dit is de tabel met de vragen die naar OpenAI worden verzonden. In dit geval is dit SourceTable.
-
De naam van het gegevensveld. Dit is het veld met de vragen die naar OpenAI worden verzonden. In dit geval is dit Text.
Schakel onder Tabellen het selectievakje in voor de tabel met de naam openai.
Wizard Gegevens selecteren in de editor voor het laden van gegevens
Als u klikt op Script invoegen wordt de nieuwe tabel toegevoegd aan het load-script.
Nu u de OpenAI LOAD-instructie hebt toegevoegd, ziet uw load-script er als volgt uit:
U kunt het load-script nu uitvoeren.
Gegevens laden in de applicatie
Nadat het script gereed is, klikt u op Gegevens laden. Hiermee wordt de communicatie met OpenAI uitgevoerd en worden de tabellen in het gegevensmodel van uw applicatie ingevoegd.
Open de gegevensmodelviewer en controleer of de twee tabellen zoals verwacht aan elkaar zijn gekoppeld. In het venster Voorbeeld staat in de tweede tabel de respons van OpenAI op de vraag die we hebben gesteld.
Gegevensmodel dat is gemaakt op basis van een OpenAI-verbinding
U kunt nu analyse-inhoud genereren met behulp van de gegevens die in de applicatie zijn geladen. U hoeft niet te verwijzen naar de OpenAI verbinding in diagrammen die u maakt met deze gegevens. Raadpleeg De OpenAI‑connector gebruiken in diagramuitdrukkingen om te leren u hoe u de OpenAI‑verbinding direct in diagramuitdrukkingen gebruikt (in plaats van met het load-script).
De OpenAI‑connector gebruiken in diagramuitdrukkingen
Naast het toevoegen van OpenAI vragen en antwoorden aan het gegevensmodel van uw applicatie met behulp van het load-script, kunt u deze bewerkingen ook direct uitvoeren in een diagram in uw applicatie. Dit kan een alternatief zijn voor het gebruik van tabellen in het load-script om te communiceren met OpenAI.
Gegevens voor een afzonderlijk veld worden heen en weer gestuurd tussen u en OpenAI. In veel gevallen kan de code die is gebruikt voor een verbinding met een load-script opnieuw worden gebruikt in een diagram, waarbij enkele wijzigingen moeten worden aangebracht.
Voor meer informatie gaat u naar OpenAI verbindingen gebruiken in visualisatie-uitdrukkingen.
Overwegingen voor de aanvraag van gegevensvolumes
Aanbevolen wordt om OpenAI-verbindingen alleen in diagramuitdrukkingen te gebruiken voor een klein aantal rijen met gegevens. Het wordt niet aanbevolen om diagramuitdrukkingen te gebruiken om grote hoeveelheden gegevens naar OpenAI te verzenden.
Het is van belang dat u weet hoeveel rijen u verzendt bij elke aanvraag. Fouten bij de configuratie van de verbinding in een diagramuitdrukking kunnen leiden tot onbedoeld grote aanvragen (bijvoorbeeld identieke rijen met dezelfde vraag omdat het gegevensmodel in een diagram onjuist wordt gebruikt). Voordat u werkt met een extern platform, moet u weten hoe de velden in de berekening van een diagramuitdrukking worden gebruikt, wat hun plaats is in het gegevensmodel en hoe het van invloed is op uw financiële overeenkomst en factureringsovereenkomsten met de derde partij. Een veelvuldiger gebruik van het externe platform kan leiden tot hogere kosten.
Volg de volgende richtlijnen om de grootte van uw aanvragen te beperken:
-
Bij het werken met diagramuitdrukkingen, gebruik alleen de verbinding in een Tekst-object (vanuit de Dashboard bundle). Het wordt sterk afgeraden om de OpenAI-verbinding te gebruiken in een tabelobject, met name als u de uitdrukking toevoegt aan een tabel waarbij al één of meer dimensies zijn toegevoegd.
-
Als de diagramuitdrukking is gekoppeld aan het gegevensmodel van uw applicatie, gebruik dan een if-instructie in de uitdrukking om alleen het diagram te berekenen als er in de applicatie een afzonderlijke selectie is gemaakt. Hierdoor wordt het aantal rijen aanzienlijk verminderd in de aanvragen die uw diagram zal verzenden naar OpenAI.
-
Als u een OpenAI-verbinding gebruikt om grotere aanvragen te verzenden, gebruik dan de verbinding in uw load-script in plaats van in een diagramuitdrukking zodat de gegevens vooraf in uw gegevensmodel worden geladen.
Oefening: een basisdiagramuitdrukking maken
Doe het volgende:
-
Maak een Qlik Sense-applicatie en open een nieuw werkblad in de bewerkingsmodus.
InformatieDe analyseverbinding die u gebruikt voor de diagramuitdrukking moet al zijn gemaakt in de ruimte waar u de applicatie maakt. U kunt dit doen in de Editor voor laden van gegevens binnen een applicatie, of vanaf de pagina Maken van het Analyse activiteitencentrum. Ga voor meer informatie naar Een OpenAI-verbinding maken. -
Open in het bedrijfsmiddelenvenster Diagrammen.
-
Sleep onder Dashboard objects een Tekst object naar het werkblad.
-
In het eigenschappenvenster, onder Gegevens > Metingen, voegt u een meting toe en klikt u op
om de uitdrukkingseditor te openen.
-
Plak de volgende uitdrukking in de uitdrukkingseditor:
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.')InformatieIn dit voorbeeld is het mogelijk om geen if-instructie te gebruiken, omdat we slechts één rij gegevens verzenden en er geen verbinding met een gegevensmodel aanwezig is. In andere scenario's gebruikt u een if-instructie om te zorgen dat het diagram alleen wordt berekend wanneer één veldwaarde is geselecteerd in de applicatie. Zie Snelle voorbeelden voor voorbeelden.InformatieOm deze exacte code correct te laten functioneren in uw applicatie, moet uw OpenAI-verbinding ook zijn geconfigureerd met dezelfde waarde voor Naam als de connectionname die is opgegeven in de uitdrukking. Raadpleeg De verbindingen maken voor de waarden die worden gebruikt in deze zelfstudie. -
Klik op Toepassen.
Qlik SenseTekstobject met OpenAI‑respons
Oefening: een tekstinvoervak maken met behulp van een variabele
U kunt de vraagtekenreeks ook vervangen door de naam van een variabele die u in de applicatie hebt gemaakt, waardoor een invoervak kan worden gemaakt waarin applicatiegebruikers hun eigen vragen kunnen invoeren zonder interactie met uitdrukkingen.
Deze eenvoudige interface kan worden gebruikt om uw applicatiegegevens te verrijken met contextuele informatie die in realtime wordt gegenereerd.
Doe het volgende:
-
Maak een applicatie en voeg gegevens en visualisaties toe aan een nieuw werkblad.
-
Klik op
om een variabele te maken. Voor deze oefening geeft u de variabele de naam vUserQuestion. Laat de resterende parameters leeg.
-
Sleep in het bedrijfsmiddelenvenster een diagram met variabeleninvoer naar het werkblad. U vindt deze optie onder
Aangepaste objecten > Qlik Dashboard bundle.
-
In het eigenschappenvenster voor het diagram met variabeleninvoer vouwt u Uiterlijk > Variabele uit.
-
Onder Naam selecteert u vUserQuestion.
-
Onder Weergeven als selecteert u Invoervak.
-
Sleep in het bedrijfsmiddelenvenster vanuit
Aangepaste objecten > Qlik Dashboard bundle, een tekstobject naar het werkblad.
-
In het eigenschappenvenster, onder Gegevens > Metingen, voegt u een meting toe en klikt u op
om de uitdrukkingseditor te openen.
-
Plak de volgende uitdrukking in de uitdrukkingseditor:
if(vUserQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI_Examples_Intro","column":"choices.message.content"}}',vUserQuestion))InformatieOm deze exacte code correct te laten functioneren in uw applicatie, moet uw OpenAI-verbinding ook zijn geconfigureerd met dezelfde waarde voor Naam als de connectionname die is opgegeven in de uitdrukking. Raadpleeg De verbindingen maken voor de waarden die worden gebruikt in deze zelfstudie. -
Klik op Toepassen.
-
Wijzig het formaat van de invoer- en responsvakken.
Het moet nu mogelijk zijn om de bewerkingsmodus af te sluiten en een vraag te typen in het invoervak. Als u op Enter drukt of ergens op het werkblad klikt, wordt het responsvak ingevuld met een respons van OpenAI.
Eenvoudig werkblad met algemene gegevens en invoervak om vragen te stellen aan OpenAI
De OpenAI verbinding in deze oefening communiceert helemaal niet met het gegevensmodel van de applicatie, maar het is mogelijk om veel geavanceerdere applicaties te maken die volledig zijn geïntegreerd met de gegevens die in de applicatie zijn geladen, en reageren op selecties die u maakt in de applicatie.
Voor meer informatie over het werken met variabelen raadpleegt u Een variabele maken en Besturingselement variabeleninvoer.
Verschillen tussen de code voor het load-script en de diagramuitdrukking
In deze diagram-uitdrukkingen hebben we de code die eerder in de les over het load-script is opgegeven opnieuw ingezet. De volgende lijst toont de belangrijkste verschillen tussen de load-scriptversie en de diagramuitdrukkingen.
-
We hebben ScriptEval gewijzigd in ScriptAggrStr. Dit geeft aan dat we een afzonderlijke rij gegevens verzenden en een afzonderlijke rij terug verwachten. Dit is vereist als u werkt met aangepaste gegevens, zoals in dit geval een variabele of constante. De 'Str' geeft aan dat we tekstwaarden verzenden en ontvangen.
-
We hebben een nieuwe eigenschap column toegevoegd, met een waarde van choices.message.content. Deze is genest in het endpoint-object. We moeten dit toevoegen aan de configuratietekenreeks om op te geven welk veld van de connector wordt teruggestuurd. In een diagramuitdrukking wordt er slechts één veld gebruikt en we moeten opgeven welk veld dat is.
Ga voor meer informatie naar SSE-syntax.