Utilisation de connexions Azure OpenAI dans des expressions de visualisation
Outre l'ajout de questions et de réponses Azure OpenAI au modèle de données de votre application via le script de chargement, vous pouvez effectuer ces opérations directement dans un graphique de votre application. Les données d'un seul champ font l'aller-retour entre vous et le service Azure OpenAI.
Dans de nombreux cas, le code utilisé pour une connexion de script de chargement peut être adapté pour être réutilisé dans un graphique, en y intégrant quelques différences.
Si le cas d'utilisation est basé sur la saisie de l'utilisateur, vous pouvez utiliser une connexion analytique et la syntaxe server-side extension (SSE) correspondante dans votre expression de graphique pour créer des graphiques interactifs qui visualisent les données reçues depuis les points de terminaison du modèle.
Considérations relatives aux volumes de requêtes de données
Il est recommandé d'utiliser uniquement des connexions Azure OpenAI dans des expressions de graphique pour une ou plusieurs lignes de données. Il n'est pas recommandé d'utiliser des expressions de graphique pour envoyer de grandes quantités de données au service.
Il est important de connaître le nombre de lignes que vous envoyez à chaque requête. Des erreurs de configuration de la connexion Azure OpenAI dans une expression de graphique peuvent produire des requêtes involontairement volumineuses (par exemple, des lignes identiques avec la même question en raison de l'utilisation inappropriée du modèle de données dans un graphique). Plus la requête que vous envoyez au service Azure OpenAI est volumineuse, plus vous risquez d'encourir un coût financier important auprès de Microsoft Azure. Il est important de le savoir, malgré l'existence d'une limite de requête de 25 lignes par requête pour ce connecteur.
Suivez ces recommandations pour modérer et limiter la taille de vos requêtes Azure OpenAI :
-
Utilisez uniquement vos connexions Azure OpenAI dans une expression de graphique Texte et image. L'utilisation d'une connexion Azure OpenAI dans un objet Table est vivement déconseillée, en particulier si vous ajoutez l'expression à une table à laquelle une ou plusieurs dimensions ont déjà été ajoutées.
-
Si l'expression de graphique est liée au modèle de données de votre application, utilisez une instruction if dans l'expression pour calculer uniquement le graphique lorsqu'une seule sélection est effectuée dans l'application. Cela réduit radicalement le nombre de lignes des requêtes envoyées par votre graphique au service Azure OpenAI.
-
Si vous utilisez une connexion Azure OpenAI pour envoyer des requêtes volumineuses, utilisez la connexion dans votre script de chargement au lieu de l'utiliser dans une expression de graphique, de sorte que les données soient préchargées dans votre modèle de données.
Exemples rapides
Vous trouverez ici en exemple des expressions qui peuvent être utilisées lorsque vous démarrez avec le connecteur Azure OpenAI. N'oubliez pas les informations suivantes :
-
Utilisez uniquement les expressions avec un objet Texte et image.
-
Pensez à ajouter une instruction if à vos expressions pour contrôler le moment du recalcul du graphique et pour effectuer une mise à jour en fonction des sélections utilisateur dans l'application.
-
Pour que les expressions fonctionnent, vous devez remplacer la valeur connectionname et tous les noms de champ de sorte qu'ils correspondent à vos propres connexions et applications.
Pour d'autres exemples, voir Didacticiel – Utilisation du connecteur analytique OpenAI dans Qlik Cloud.
Configuration du connecteur | Expression | Récapitulatif |
---|---|---|
OpenAI Completions API (GPT-3) - Rows | 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.') |
Cette instruction renverra la réponse à une seule question, qui a été saisie dans l'expression. Note Avertissement
Cette expression n'utilise pas d'instruction if. Par conséquent, il n'est pas recommandé de l'utiliser si elle est liée à un champ de votre modèle de données. Elle peut être utilisée uniquement dans une expression autonome avec une seule cellule d'entrée contenant une valeur codée en dur. |
OpenAI Completions API (GPT-3) - Rows | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.text"}}',vQuestion)) |
Cette instruction peut être utilisée dans un objet Texte et image lié à un Contrôle d'entrée de variable. Le graphique est calculé uniquement lorsque l'entrée est validée via Entrée. Lorsque l'utilisateur saisit une entrée dans l'objet et appuie sur Entrée, le graphique affiche la réponse à son entrée. Pour une présentation détaillée, voir Exercice : Création d'une zone de saisie de texte via une variable. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) - Rows | 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.') | Il s'agit d'une instruction if complexe dans laquelle le graphique est calculé uniquement si l'utilisateur a sélectionné une valeur pour le champ BusinessTopic. Le graphique se met à jour uniquement si l'utilisateur a effectué cette sélection dans l'application. Sinon, le graphique affiche le message alternatif suivant : Please select a single value for BusinessTopic. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) - Rows | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.message.content"}}',vQuestion)) |
Cette instruction peut être utilisée dans un objet Texte et image lié à un Contrôle d'entrée de variable. Le graphique est calculé uniquement lorsque l'entrée est validée via Entrée. Lorsque l'utilisateur saisit une entrée dans l'objet et appuie sur Entrée, le graphique affiche la réponse à son entrée. Pour une présentation détaillée, voir Exercice : Création d'une zone de saisie de texte via une variable. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) - Rows | 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])) | Dans cet exemple, le graphique est calculé uniquement si une valeur distincte a été sélectionnée dans le champ IssueCategory du modèle de données de l'application. Une requête est envoyée pour demander un exemple de réponse d'un service d'assistance technique sur un type de problème général, dont la liste est contenue dans le champ IssueCategory. Le graphique est mis à jour en fonction de la valeur sélectionnée par l'utilisateur. |
Exemples détaillés
Vous trouverez des exemples montrant comment utiliser la connexion Azure OpenAI dans des expressions de graphique dans le didacticiel sur le connecteur OpenAI. Notez que le connecteur Azure OpenAI communique avec les modèles via la plateforme Microsoft Azure au lieu de la plateforme OpenAI.
Didacticiel – Utilisation du connecteur analytique OpenAI dans Qlik Cloud
Exemple 1 : configuration 'OpenAI Completions API (GPT-3) - Rows'
Exemple 3 : configuration 'OpenAI Chat Completions API (GPT-3.5, GPT-4) - Rows'
Connecteur analytique OpenAI – exemple interactif