Usando conexões Azure OpenAI em expressões de visualização
Além de adicionar perguntas e respostas do Azure OpenAI ao modelo de dados do seu aplicativo usando o script de carregamento, você também pode executar essas operações diretamente em um gráfico no seu aplicativo. Os dados de um único campo são enviados e recebidos entre você e o serviço Azure OpenAI .
Em muitos casos, o código usado para uma conexão de script de carregamento pode ser reaproveitado para uso em um gráfico, com algumas diferenças.
Se o caso de uso for baseado na entrada do usuário, você poderá usar uma conexão analítica e a sintaxe de extensão no lado do servidor correspondente na sua expressão de gráfico para criar gráficos interativos que visualizam os dados recebidos dos terminais do modelo.
Considerações para volumes de solicitação de dados
Recomenda-se usar apenas conexões Azure OpenAI em expressões de gráfico para uma ou algumas linhas de dados. O uso de expressões de gráfico para enviar grandes quantidades de dados ao serviço não é recomendado.
É importante estar ciente de quantas linhas você está enviando com cada solicitação. Erros na configuração da conexão com o Azure OpenAI em uma expressão de gráfico podem levar a solicitações involuntariamente grandes (por exemplo, linhas idênticas com a mesma pergunta devido ao uso indevido do modelo de dados em um gráfico). Quanto maior for o pedido que enviar ao serviço Azure OpenAI, maior será o custo financeiro que poderá incorrer do Microsoft Azure. Apesar de haver um limite de solicitações de 25 linhas por solicitação para esse conector, ainda é importante reconhecer isso.
Siga essas diretrizes para moderar e limitar o tamanho das suas solicitações do Azure OpenAI:
-
Use suas conexões com o Azure OpenAI apenas em uma expressão de gráfico de Texto e imagem. É desaconselhável usar uma conexão com o Azure OpenAI em um objeto de Tabela, especialmente se você estiver adicionando a expressão a uma tabela com uma ou mais dimensões já adicionadas.
-
Se a expressão de gráfico estiver vinculada ao modelo de dados do seu aplicativo, use uma instrução se nessa expressão para calcular o gráfico somente quando uma única seleção for feita no aplicativo. Isso reduz drasticamente a contagem de linhas nas solicitações que seu gráfico envia para o serviço Azure OpenAI.
-
Se você estiver usando uma conexão com o Azure OpenAI para enviar solicitações grandes, use a conexão no seu script de carregamento em vez de em uma expressão de gráfico, para que os dados sejam pré-carregados no seu modelo de dados.
Exemplos rápidos
Aqui você pode encontrar expressões de exemplo que podem ser usadas ao começar a usar o conector do Azure OpenAI. Considere os seguintes detalhes:
-
Use as expressões apenas com um objeto Texto e imagem.
-
Considere adicionar uma instrução if às suas expressões para controlar quando o gráfico é recalculado e para atualizar dependendo das seleções do usuário no aplicativo.
-
Para que as expressões funcionem, você deve substituir o valor connectionname e quaisquer nomes de campo para corresponder às suas próprias conexões e aplicativos.
Para exemplos adicionais, consulte Tutorial – Usando o conector de análise do OpenAI no Qlik Cloud.
Configuração do conector | Expressão | Resumo |
---|---|---|
API de complementações do OpenAI (GPT-3) - Linhas | 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.') |
Essa instrução retornará a resposta a uma única pergunta, que foi inserida na expressão. Nota de advertência
Esta expressão não usa uma instrução if e, portanto, não é adequada para ser usada se estiver vinculada a um campo no seu modelo de dados. É adequado apenas para uso em uma expressão autônoma com uma única célula de entrada contendo um valor codificado. |
API de complementações do OpenAI (GPT-3) - Linhas | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.text"}}',vQuestion)) |
Esta é uma instrução que pode ser usada em um objeto Texto e imagem vinculado a um Controle de entrada variável. O gráfico só é calculado quando a entrada é inserida. Quando o usuário digita a entrada no objeto e pressiona Enter, o gráfico exibe a resposta à sua entrada. Para um passo a passo, consulte Exercício: criando uma caixa de entrada de texto usando uma variável. |
API de complementações de chat do OpenAI (GPT-3.5, GPT-4) - Linhas | 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.') | Esta é uma instrução if complexa em que o gráfico só é calculado se o usuário tiver selecionado um valor para o campo BusinessTopic. O gráfico só será atualizado se o usuário tiver feito essa seleção no aplicativo e, caso não tenha feito, o gráfico exibirá a seguinte mensagem alternativa: Please select a single value for BusinessTopic. |
API de complementações de chat do OpenAI (GPT-3.5, GPT-4) - Linhas | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.message.content"}}',vQuestion)) |
Esta é uma instrução que pode ser usada em um objeto Texto e imagem vinculado a um Controle de entrada variável. O gráfico só é calculado quando a entrada é inserida. Quando o usuário digita a entrada no objeto e pressiona Enter, o gráfico exibe a resposta à sua entrada. Para um passo a passo, consulte Exercício: criando uma caixa de entrada de texto usando uma variável. |
API de complementações de chat do OpenAI (GPT-3.5, GPT-4) - Linhas | 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])) | Neste exemplo, o gráfico só será calculado se um valor distinto tiver sido selecionado no campo IssueCategory no modelo de dados do aplicativo. Uma solicitação é enviada para solicitar um modelo de resposta de um departamento de suporte técnico sobre um tipo geral de problema, cuja lista está contida no campo IssueCategory. O gráfico é atualizado dependendo do valor selecionado pelo usuário. |
Exemplos detalhados
Exemplos mostrando como usar a conexão do Azure OpenAI em expressões de gráfico podem ser encontradas no tutorial para o conector OpenAI. Observe que o conector Azure OpenAI se comunica com os modelos por meio da plataforma Microsoft Azure em vez da plataforma OpenAI.
Tutorial – Usando o conector de análise do OpenAI no Qlik Cloud
Exemplo 1: configuração de "API de complementações do OpenAI (GPT-3) - Linhas"
Exemplo 3: configuração de "API de complementações do OpenAI Chat (GPT-3.5, GPT-4) - Linhas"
Conector de análise do OpenAI – Exemplo interativo