Azure OpenAI verbindingen gebruiken in visualisatie-uitdrukkingen
Naast het toevoegen van vragen en antwoorden van Azure OpenAI aan het gegevensmodel van uw app met behulp van het load-script, kunt u deze bewerkingen ook direct in een diagram in uw app uitvoeren. Gegevens voor een afzonderlijk veld worden heen en weer verzonden tussen u en de Azure OpenAI‑service.
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.
Als het gebruik is gebaseerd op invoer van de gebruiker, kunt u in uw diagramuitdrukking een analytische verbinding met overeenkomstige SSE-syntax gebruiken om interactieve diagrammen te maken die van de modeleindpunten ontvangen gegevens visualiseren.
Overwegingen voor de aanvraag van gegevensvolumes
Aanbevolen wordt om Azure 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 de service te verzenden.
Het is van belang dat u weet hoeveel rijen u verzendt bij elke aanvraag. Fouten bij de configuratie van de Azure OpenAI‑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). Hoe groter de aanvraag is die u naar de Azure OpenAI-service verzendt, hoe hoger de kosten van Microsoft Azure zullen zijn. Ondanks dat er een aanvraaglimiet van 25 rijen per limiet voor deze connector bestaat, is het toch belangrijk om hier rekening mee te houden.
Volg de volgende richtlijnen om de grootte van uw Azure OpenAI-aanvragen te beperken:
-
Gebruik uw Azure OpenAI‑verbindingen alleen in een diagramuitdrukking met tekst en afbeelding. Het wordt sterk afgeraden om een Azure 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 app, gebruikt dan een if-instructie in de uitdrukking om alleen het diagram te berekenen als er in de app een afzonderlijke selectie is gemaakt. Hierdoor wordt het aantal rijen aanzienlijk verminderd in de aanvragen die uw diagram naar de Azure OpenAI-service verzendt.
-
Als u een Azure 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.
Snelle voorbeelden
Hier vindt u voorbeelduitdrukkingen die u kunt gebruiken als u gaat werken met de Azure OpenAI‑connector. Houd rekening met het volgende:
-
Gebruik alleen uitdrukkingen met een Tekst- en afbeeldingsobject.
-
Overweeg om een if-instructie toe te voegen aan uw uitdrukking om te beheren wanneer het diagram opnieuw wordt berekend en wordt bijgewerkt op basis van selecties van de gebruiker in de app.
-
U moet de waarde van connectionname en veldnamen vervangen zodat ze overeenkomen met uw verbindingen en apps om te zorgen dat uitdrukkingen werken.
Voor aanvullende voorbeelden gaat u naar Zelfstudie – De OpenAI‑analyseconnector gebruiken in Qlik Cloud.
Connectorconfiguratie | Uitdrukking | Overzicht |
---|---|---|
OpenAI Completions API (GPT-3) – Rijen | endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for Rows Completions (GPT-3)","column":"choices.text"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.') |
De instructie retourneert de reactie op een afzonderlijke vraag, die is ingevoerd in de uitdrukking. Waarschuwing
Deze uitdrukking gebruikt geen if-instructie en is daarom niet geschikt om te gebruiken als deze is gekoppeld aan een veld in uw gegevensmodel. Deze is alleen geschikt om te gebruiken in een afzonderlijke uitdrukking met één invoercel met een hard-gecodeerde waarde. |
OpenAI Completions API (GPT-3) – Rijen | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.text"}}',vQuestion)) |
Dit is een instructie die kan worden gebruikt in een Tekst en afbeeldingsobject dat is gekoppeld aan een besturingselement voor variabeleninvoer. Het diagram wordt alleen berekend als invoer wordt opgegeven. Als de gebruiker invoer in het object typt en op Enter drukt, toont het diagram de reactie op de invoer. Voor de procedure gaat u naar Oefening: een tekstinvoervak maken met behulp van een variabele. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) – Rijen | 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.') | Dit is een complexe if-instructie waarbij het diagram alleen wordt berekend als de gebruiker één waarde heeft geselecteerd voor het veld BusinessTopic. Het diagram wordt alleen bijgewerkt als de gebruiker deze selectie heeft gemaakt in de app. Indien dit niet het geval is, toont het diagram het volgende alternatieve bericht: Please select a single value for BusinessTopic. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) – Rijen | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.message.content"}}',vQuestion)) |
Dit is een instructie die kan worden gebruikt in een Tekst en afbeeldingsobject dat is gekoppeld aan een besturingselement voor variabeleninvoer. Het diagram wordt alleen berekend als invoer wordt opgegeven. Als de gebruiker invoer in het object typt en op Enter drukt, toont het diagram de reactie op de invoer. Voor de procedure gaat u naar Oefening: een tekstinvoervak maken met behulp van een variabele. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) – Rijen | if( count(distinct [IssueCategory]) = 1, 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 dit voorbeeld wordt het diagram alleen berekend als één unieke waarde is geselecteerd in het veld IssueCategory in het gegevensmodel van de app. Er wordt aan aanvraag verzonden voor een voorbeeldreactie van een technische supportafdeling over een algemeen probleem. Een lijst daarvan is opgenomen in het veld IssueCategory. Het diagram wordt bijgewerkt op basis van de waarde die is geselecteerd door de gebruiker. |
Gedetailleerde voorbeelden
Voorbeelden van het gebruik van de Azure OpenAI‑verbinding in diagramuitdrukkingen vindt u in de zelfstudie voor de OpenAI-connector. Houd er rekening meet dat de Azure OpenAI‑connector communiceert met de modellen via het Microsoft Azure-platform in plaats van het OpenAI-platform.
Zelfstudie – De OpenAI‑analyseconnector gebruiken in Qlik Cloud
Voorbeeld 1: configuratie 'OpenAI Completions API (GPT-3) - Rijen'
Voorbeeld 3: configuratie 'OpenAI Chat Completions API (GPT-3.5, GPT-4) - Rijen'
OpenAI‑analyseconnector – Interactief voorbeeld