Usando conexões OpenAI em expressões de visualização
Além de adicionar perguntas e respostas do OpenAI ao modelo de dados do seu aplicativo usando o script de carregamento, você também pode realizar essas operações diretamente em um gráfico no seu aplicativo no modo de análise. Os dados de um único campo são enviados e recebidos entre você e o 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 OpenAI em expressões de gráfico para uma ou algumas linhas de dados. Não é recomendado o uso de expressões de gráfico para enviar grandes quantidades de dados para o OpenAI.
É importante estar ciente de quantas linhas você está enviando com cada solicitação. Erros na configuração da conexão 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). Antes de interagir com uma plataforma de terceiros, certifique-se de estar ciente de como os campos usados no cálculo da expressão do gráfico e seu lugar no modelo de dados afetam seu contrato financeiro e acordos de cobrança com terceiros. Uma maior utilização da plataforma externa pode resultar em custos mais elevados.
Siga estas diretrizes para moderar e limitar o tamanho das suas solicitações:
-
Use a conexão apenas em uma expressão de gráfico Texto e imagem. É desaconselhável usar uma conexão com o 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 enviará ao OpenAI.
-
Se você estiver usando uma conexão com o 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.
Criando a expressão de gráfico
Faça o seguinte:
-
Ao editar uma visualização, clique em para entrar no editor de expressões.
-
No editor de expressões, insira uma expressão no campo de expressão. A expressão deve ser construída usando a sintaxe de extensão no lado do servidor.
Exemplos rápidos
Aqui você pode encontrar expressões de exemplo que podem ser usadas ao começar a usar o conector do 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 do OpenAI a uma única pergunta, que foi inserida na expressão. Nota de advertência
Essa expressão não usa uma instrução if, e não é aconselhável usá-la se estiver vinculada a um campo em 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 do OpenAI à 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 do OpenAI à 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 ao OpenAI solicitando um exemplo 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
Para obter exemplos completos de como criar expressões de visualização usando sua conexão com o OpenAI, consulte Tutorial – Usando o conector de análise do OpenAI no Qlik Cloud.