--- title: "Exemplo de PromptFunctions para Desktop - Geração de Insights com Cegid Pulse" slug: "1783351391" updated: 2026-07-09T08:19:50Z published: 2026-07-09T08:19:50Z canonical: "help.ila.cegid.com/1783351391" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://help.ila.cegid.com/llms.txt > Use this file to discover all available pages before exploring further. # Exemplo de PromptFunctions para Desktop - Geração de Insights com Cegid Pulse - [x] PT - [ ] AO - [ ] MZ - [ ] CV - [ ] CS - [ ] Evolution - [ ] Web - [ ] Desktop --- **Prompt Function para Geração de Insights com Cegid Pulse** A *Prompt Function* de insights é uma funcionalidade que permite gerar automaticamente análises inteligentes sobre dados apresentados em ecrãs de análise do Cegid PHC, recorrendo ao **Cegid Pulse**. Esta funcionalidade transforma listagens e dados operacionais em **insights claros, objetivos e acionáveis**, apresentados diretamente no ecrã da análise, sem necessidade de intervenção manual por parte do utilizador. Vantagens de utilização: - Interpretar dados de uma análise (ex: listagens, relatórios) - Identificar padrões, tendências ou concentrações relevantes - Gerar um **insight principal (Insight do dia)** - Apresentar um **racional associado**, explicando o significado do insight Desta forma, o sistema deixa de ser apenas um repositório de informação, passando a atuar como um **apoio à decisão**. --- ## **Criação da Prompt Function** 1. Aceder ao ecrã de Funções de utilizador - Menu Supervisor » Framework » Funções de utilizador ) 2. Introduzir um novo registo e no campo **Nome da função**, definir um identificador claro, por exemplo:`promptinsight` 3. No campo **Expressão da função em XBASE**, inserir o seguinte código: lparameters lcegidpulsemath, lcUserCriteria lcRetVal = alltrim(tempsql.descricao) && * Obtém a descrição da análise atual e remove espaços em branco no início/fim lcPrompt = "Esta é uma análise de " + lcRetVal && * Cria o contexto inicial para identificar o tipo de análise ao modelo AI if used("sqltmp") and !eof("sqltmp") lcContextData = "" && * Inicializa a variável que irá guardar os dados CSV *** Converter o cursor para CSV (em Desktop, os dados devem ser enviados para Cegid Pulse em CSV) lcFileDir = tmp_dir + "sqltmp.csv" && * O ficheiro csv deve ter o nome do cursor e é colocado na tmp_dir if LISTtoCSV("sqltmp") and file(lcFileDir) && * A nova função LISTtoCSV permite exportar os dados de cursor para CSV lcContextData = filetostr(lcFileDir) delete file (lcFileDir) endif if !empty(lcContextData) *** Prompt #1 *** Este prompt é agnóstico, e pede ao Cegid Pulse para sugerir um prompt para AI *** Explicamos que ele deve analisar os dados, e ter em conta o âmbito (que sabe porque inicializamos o prompt com o título da análise) *** Com base nisso o Cegid Pulse deve inferir um cálculo relevante para o que seria a persona alvo desta análise **** E explicamos que esse prompt será usado para gerar o melhor insight para este tipo de análise lcPrompt = lcPrompt + "Faz uma análise profunda aos dados (em CSV), interpreta possíveis conceitos e classificações discretas no âmbito da análise." lcPrompt = lcPrompt + "O teu objetivo é sugerir um prompt para AI que permita obter cálculos a serem realizados sobre os dados." lcPrompt = lcPrompt + "O prompt deve solicitar o cálculo que permita o melhor insight, relevante e acionável, não vago, para a persona target deste tipo de análise numa empresa." if !empty(lcUserCriteria) lcPrompt = lcPrompt + "O prompt devera focar-se na preferencia do user: " + lcUserCriteria endif *** Adicionamos instruções para garantirmos narrow da resposta, de forma a ser curta, para reduzir o tempo de resposta lcPrompt = lcPrompt + "/r/n/r/n" + "O texto da tua resposta deve conter única e exclusivamente o prompt com um único cálculo a efetuar." *** Usamos a função PromptFunction passando o prompt e o contexto lcPrompt = promptfunction(lcPrompt, lcContextData) *** Prompt #2 *** Começando pelo prompt obtido na chamada anterior *** Adicionamos o pedido para que efetue o cálculo e elabore o Insight do dia lcPrompt = lcPrompt + "/r/n/r/n" lcPrompt = lcPrompt + "Efetua o cálculo solicitado e com base nisso gera um insight, relevante e acionável, não vago, num texto sem markdown, " lcPrompt = lcPrompt + "com o formato html puro simples Insight do dia (by Cegid Pulse): (...)

Racional: (...)" *** Adicionamos instruções para garantirmos narrow da resposta, de forma a ser curta, para reduzir o tempo de resposta lcContext = "O texto da tua resposta ao utilizador deve conter única e exclusivamente o insight e racional. Sem texto ou explicações ou tabelas antes ou depois." lcPrompt = lcPrompt + lcContext _cliptext = lcPrompt *** Há duas hipóteses para essa segunda chamada: com o Cegid Pulse a usar cálculo matemático ou não (ou seja, passando 3 parametros com o CSV no último, ou não). if lcegidpulsemath lcRetVal = promptfunction(lcPrompt, lcContext , lcContextData) && ativar a skill de cálculo analítico/matemático (importante para cálculos ou dados complexos; usar em chamadas separadas de geração de texto, quando ocorre alucinação) else lcRetVal = promptfunction(lcPrompt, lcContextData) && Mais rápido, recorrendo apenas a GenaI. endif endif endif * Devolve o insight final gerado return lcRetVal Após a criação da função, é necessário associá-la às análises onde se pretende apresentar insights. ### **Passos:** A utilização de Prompt Functions com Cegid Pulse permite automatizar a análise de dados e gerar insights relevantes diretamente no sistema, aumentando a eficiência operacional e apoiando a tomada de decisão. ### 1. Aceder a: **Supervisor » Configuração de Análises » Análises Avançadas de Utilizador** 2. Selecionar a análise pretendida 3. No separador **Outra informação**, preencher o campo: **Expressão para título**, com a chamada da função. Por exmeplo: *return user_promptinsight(.t., #18#)* 4. Após a configuração, executar a análise avançada 5. O sistema irá automaticamente gerar e apresentar o insight, que está visível na parte superior do ecrã da análise