Utilizar conexiones a Azure OpenAI en expresiones de visualización
Además de agregar preguntas y respuestas de Azure OpenAI al modelo de datos de su app mediante el script de carga, también puede realizar estas operaciones directamente en un gráfico de su app. Los datos de un solo campo se envían de ida y vuelta entre usted y el servicio Azure OpenAI.
En muchos casos, el código utilizado para una conexión de script de carga se puede reutilizar para su uso en un gráfico, con algunas diferencias.
Si el caso de uso se basa en lo introducido por el usuario, puede usar una conexión analítica y la sintaxis de extensión del lado del servidor correspondiente en su expresión de gráfico para crear gráficos interactivos que visualicen los datos recibidos de los puntos de conexión del modelo.
Consideraciones en cuanto a los volúmenes de solicitud de datos
Se recomienda utilizar conexiones de Azure OpenAI únicamente en expresiones de gráficos para una o varias filas de datos. No se recomienda utilizar expresiones de gráfico para enviar grandes cantidades de datos al servicio.
Es importante tener en cuenta cuántas filas está enviando con cada solicitud. Los errores en la configuración de la conexión de Azure OpenAI en una expresión de gráfico pueden dar lugar a solicitudes de involuntariamente grandes (por ejemplo, filas idénticas con la misma pregunta debido al uso inadecuado del modelo de datos en un gráfico). Cuanto mayor sea la solicitud que envíe al servicio Azure OpenAI, mayor será el coste financiero en el que incurrirá en Microsoft Azure. A pesar de que existe un límite de solicitudes de 25 filas por solicitud para este conector, es importante tener en cuenta esto.
Siga estas pautas para moderar y limitar el tamaño de sus solicitudes a Azure OpenAI:
-
Solo utilice sus conexiones de Azure OpenAI en una expresión de gráfico de Texto e imagen. Se desaconseja enfáticamente usar una conexión de Azure OpenAI en un objeto de Tabla, especialmente si está agregando la expresión a una tabla con una o más dimensiones ya agregadas.
-
Si la expresión del gráfico está vinculada al modelo de datos de su app, utilice una sentencia if en la expresión para calcular solo el gráfico cuando se realiza una sola selección en la app. Esto reduce drásticamente el número de filas en las solicitudes que su gráfico enviará al servicio Azure OpenAI.
-
Si está usando una conexión de Azure OpenAI para enviar solicitudes grandes, utilice la conexión en su script de carga en lugar de en una expresión de gráfico, para que los datos se carguen previamente en su modelo de datos.
Ejemplos rápidos
Aquí puede encontrar expresiones a modo de ejemplo que se pueden utilizar al empezar con el conector Azure OpenAI. Considere los siguientes detalles:
-
Utilice las expresiones solo con un objeto de Texto e imagen.
-
Considere la posibilidad de añadir una sentencia if a sus expresiones para controlar cuándo se recalcula el gráfico y para actualizarlo en función de las selecciones del usuario en la aplicación.
-
Para que las expresiones funcionen, debe sustituir el valor de connectionname y los nombres de los campos, para que coincidan con sus propias conexiones y aplicaciones.
Para ver ejemplos adicionales, consulte Tutorial: Utilizar el conector analítico de OpenAI en Qlik Cloud.
Configuración del conector | Expresión | Resumen |
---|---|---|
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.') |
Esta sentencia devolverá la respuesta a una única pregunta que se haya introducido en la expresión. Nota de aviso
Esta expresión no utiliza una sentencia if y por lo tanto no es adecuada para utilizarla si está ligada a un campo en su modelo de datos. Únicamente es adecuada para su uso en una expresión independiente, con una sola celda de entrada que contenga un valor codificado. |
OpenAI Completions API (GPT-3) - Rows | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.text"}}',vQuestion)) |
Se trata de una sentencia que puede utilizarse en un objeto de Texto e imagen vinculado a un Control de entrada de variables. El gráfico sólo se calcula cuando se introducen datos. Cuando el usuario escribe datos de entrada en el objeto y pulsa Intro, el gráfico muestra la respuesta a lo introducido. Para ver información detallada, consulte Ejercicio: crear un cuadro de entrada de texto usando una 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.') | Se trata de una sentencia if compleja, en la que el gráfico sólo se calcula si el usuario ha seleccionado un valor para el campo BusinessTopic. El gráfico sólo se actualiza si el usuario ha realizado esta selección en la aplicación, y si no lo ha hecho, el gráfico mostrará el siguiente mensaje alternativo: 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)) |
Se trata de una sentencia que puede utilizarse en un objeto de Texto e imagen vinculado a un Control de entrada de variables. El gráfico sólo se calcula cuando se introducen datos. Cuando el usuario escribe datos de entrada en el objeto y pulsa Intro, el gráfico muestra la respuesta a lo introducido. Para ver información detallada, consulte Ejercicio: crear un cuadro de entrada de texto usando una 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])) | En este ejemplo, el gráfico sólo se calcula si se ha seleccionado un valor distinto del campo IssueCategory en el modelo de datos de la aplicación. Se envía una solicitud para pedir un ejemplo de respuesta de un departamento de asistencia técnica sobre un tipo general de problema, cuya lista figura en el campo IssueCategory. El gráfico se actualiza en función del valor seleccionado por el usuario. |
Ejemplos detallados
En el tutorial para el conector de OpenAI se muestran ejemplos de cómo usar la conexión de Azure OpenAI en expresiones de gráfico. Tenga en cuenta que el conector de Azure OpenAI se comunica con los modelos a través de la plataforma de Microsoft Azure en lugar de la plataforma de OpenAI.
Tutorial: Utilizar el conector analítico de OpenAI en Qlik Cloud
Ejemplo 1: configuración de "OpenAI Completions API (GPT-3) - Rows"
Ejemplo 3: configuración de "OpenAI Chat Completions API (GPT-3.5, GPT-4) - Rows"
Conector de análisis OpenAI: ejemplo interactivo