Adicionando assuntos do deetalhe de produtos
davinTI/app-dono-modulos/pipeline/head There was a failure building this commit

This commit is contained in:
sarah.magalhaes
2026-06-10 15:32:39 -03:00
parent c7345dd7f1
commit 3ed227c3a1
+194
View File
@@ -9,6 +9,200 @@ export default moduleFactory
label: "Consulta de Produtos", label: "Consulta de Produtos",
icon: "search", icon: "search",
order: 0, order: 0,
ai : {
topics : {
produtos_detalhe_geral: {
descricao: "Consulta consolidada de indicadores de um produto em todas as lojas da rede. Útil para: 'Qual loja está sem estoque?', 'Qual vende mais?', 'Qual tem maior giro?', comparativos de giro e identificação de lojas sem vendas recentes.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros especializado. Sua única tarefa: extrair os parâmetros (produto e regras de tempo) para analisar o panorama de um produto em todas as lojas da rede.",
prompt_tarefa: "1. Filtros: extraia nome, EAN ou código em 'produto'. Para lojas inativas/sem venda, extraia o número de dias em 'dias_sem_venda'.\n2. Agrupamento: use 'loja' quando a análise exigir quebra por unidade (ranking de vendas, comparação de estoques).",
prompt_regras_gerais: "- 'dias_sem_venda': apenas número inteiro.\n- Use agrupamento 'loja' para separar e ordenar unidades.",
prompt_regras_contexto: "- Em continuações, resgate o produto da mensagem anterior.",
prompt_exemplos: "Ex.1: 'Qual loja vende mais Coca-Cola?' → produto='Coca-Cola', agrupamento 'loja'.\nEx.2: 'Quais lojas não venderam nos últimos 10 dias?' → dias_sem_venda=10, agrupamento 'loja'.",
prompt_outras_infos: "A query já retorna Estoque, MDV, Margem e Última Venda por loja. Ordenações e variações % são feitas depois.",
prompt_saida: "Responda com uma análise dos dados recebidos conforme a pergunta do usuário, de forma objetiva e direta, apenas com as informações solicitadas."
},
json_params_saida: {
agrupamentos: [
{ nome_parametro: "loja", coluna_vtr: "pemp.nroempresa" }
],
filtros: {
produto: {
descricao_agente: "O código interno, código de barras (EAN) ou nome do produto.",
coluna_vtr: "args.codproduto",
tabela_rag: "consinco.map_produto"
},
dias_sem_venda: {
descricao_agente: "Número de dias para filtrar lojas sem registro de vendas recentes.",
coluna_vtr: "args.dias_sem_venda"
}
}
}
},
produtos_detalhe_preco: {
descricao: "Consulta o detalhamento da composição de preço e margem de um produto em uma loja específica. Útil para verificar custo vs preço e margem de lucro pontual.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros focado em formação de preços. Sua tarefa: extrair os filtros para detalhar os preços vigentes de um produto em uma unidade.",
prompt_tarefa: "1. Filtros: extraia 'produto' e 'loja'.\n2. Agrupamento: vazio.",
prompt_regras_gerais: "- Exige obrigatoriamente 'produto' e 'loja'.",
prompt_regras_contexto: "- Em continuações (ex: 'E o preço na loja Sul?'), resgate produto ou loja do histórico.",
prompt_exemplos: "Ex.: 'Qual a margem da Heineken na loja Centro?' → produto='Heineken', loja='Centro'.",
prompt_outras_infos: "A consulta cruza args.codproduto e args.nrempresa no banco.",
prompt_saida: "Responda com uma análise dos dados recebidos conforme a pergunta do usuário, de forma objetiva e direta, apenas com as informações solicitadas."
},
json_params_saida: {
agrupamentos: [],
filtros: {
produto: {
descricao_agente: "Nome, EAN ou código do produto.",
coluna_vtr: "mgmp.seqproduto",
tabela_rag: "consinco.map_produto"
},
loja: {
descricao_agente: "Nome ou código da loja/empresa.",
coluna_vtr: "mgmp.nroempresa",
tabela_rag: "tb_flash_nodo"
}
}
}
},
produtos_detalhe_mdv: {
descricao: "Consulta o histórico diário de giro (MDV - Média de Venda Diária) e quantidade vendida de um produto em uma loja específica. Útil para entender a vazão do item dia a dia.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros focado no histórico de vendas e giro diário. Sua tarefa: preparar a busca pelo histórico de MDV de um produto em uma unidade.",
prompt_tarefa: "1. Filtros: extraia 'produto' e 'loja'.\n2. Agrupamento: vazio (dados virão por dia).",
prompt_regras_gerais: "- 'produto' e 'loja' são fundamentais para não sobrecarregar o banco.",
prompt_regras_contexto: "- Se a loja for omitida, busque-a no contexto.",
prompt_exemplos: "Ex.: 'Como foi a venda diária de Picanha na loja Sul?' → produto='Picanha', loja='Sul'.",
prompt_outras_infos: "A query retorna a timeline (data, quantidade vendida, estoque inicial) limitada ao produto e loja filtrados.",
prompt_saida: "Responda com uma análise dos dados recebidos conforme a pergunta do usuário, de forma objetiva e direta, apenas com as informações solicitadas."
},
json_params_saida: {
agrupamentos: [],
filtros: {
produto: {
descricao_agente: "Nome, EAN ou código do produto.",
coluna_vtr: "mcdia.seqproduto",
tabela_rag: "map_produto"
},
loja: {
descricao_agente: "Nome ou código da loja/empresa.",
coluna_vtr: "mcdia.nroempresa",
tabela_rag: "tb_flash_nodo"
}
}
}
},
produtos_situacao_vigente: {
descricao: "Consulta o histórico de promoções e preços vigentes (situação vigente) de um produto em uma loja específica. Útil para verificar campanhas promocionais e variações de preço ofertado.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros focado no histórico de campanhas promocionais. Sua tarefa: preparar a busca pela situação vigente de preços de um produto em uma loja.",
prompt_tarefa: "1. Extraia 'produto' e 'loja'.",
prompt_regras_gerais: "- Identifique os nomes do produto e da loja.",
prompt_regras_contexto: "- Resgate filtros de turnos anteriores se a frase atual for incompleta.",
prompt_exemplos: "Ex.: 'A Brahma esteve em promoção na loja Norte?' → produto='Brahma', loja='Norte'.",
prompt_outras_infos: "Retorna o período (data início e fim) das promoções do produto na loja.",
prompt_saida: "Responda com uma análise dos dados recebidos conforme a pergunta do usuário, de forma objetiva e direta, apenas com as informações solicitadas."
},
json_params_saida: {
agrupamentos: [],
filtros: {
produto: {
descricao_agente: "Nome, EAN ou código do produto.",
coluna_vtr: "mrl_prodempseg.seqproduto",
tabela_rag: "consinco.map_produto"
},
loja: {
descricao_agente: "Nome ou código da loja/empresa.",
coluna_vtr: "mrl_prodempseg.nroempresa",
tabela_rag: "tb_flash_nodo"
}
}
}
},
produtos_custo_liquido: {
descricao: "Consulta a evolução histórica do custo líquido, entradas e saídas de um produto em uma loja específica. Útil para análise de flutuação de custo de reposição.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros focado na evolução de custos de mercadoria. Extraia o produto e a loja alvo.",
prompt_tarefa: "1. Filtros: identifique 'produto' e 'loja'.",
prompt_regras_gerais: "- Preencha rigorosamente os filtros exigidos.",
prompt_regras_contexto: "- Em 'E na loja Leste?', resgate o produto em discussão.",
prompt_exemplos: "Ex.: 'Como variou o custo do feijão na loja Centro?' → produto='feijão', loja='Centro'.",
prompt_outras_infos: "Retorna dados linha a linha por data; sem necessidade de agrupamento.",
prompt_saida: "Responda com uma análise dos dados recebidos conforme a pergunta do usuário, de forma objetiva e direta, apenas com as informações solicitadas."
},
json_params_saida: {
agrupamentos: [],
filtros: {
produto: {
descricao_agente: "Nome, EAN ou código do produto.",
coluna_vtr: "mrl_prodempseg.seqproduto",
tabela_rag: "consinco.map_produto"
},
loja: {
descricao_agente: "Nome ou código da loja/empresa.",
coluna_vtr: "mrl_prodempseg.nroempresa",
tabela_rag: "tb_flash_nodo"
}
}
}
},
produtos_estoque_disponivel: {
descricao: "Consulta o histórico diário de movimentação do estoque (entradas, saídas e saldo) de um produto em uma loja específica nos últimos 365 dias.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros focado no fluxo contínuo de estoque. Extraia o necessário para rastrear o saldo do item.",
prompt_tarefa: "1. Extraia 'produto' e 'loja'.",
prompt_regras_gerais: "- É vital identificar a loja correta.",
prompt_regras_contexto: "- Considere o histórico; o usuário pode analisar várias lojas seguidamente sobre o mesmo produto.",
prompt_exemplos: "Ex.: 'Movimentação do estoque de Fralda Turma da Mônica na unidade Brooklin.' → produto='Fralda Turma da Mônica', loja='Brooklin'.",
prompt_outras_infos: "Timeline do estoque, cruzando entradas e saídas diárias do produto na loja escolhida.",
prompt_saida: "Responda com uma análise dos dados recebidos conforme a pergunta do usuário, de forma objetiva e direta, apenas com as informações solicitadas."
},
json_params_saida: {
agrupamentos: [],
filtros: {
produto: {
descricao_agente: "Nome, EAN ou código do produto.",
coluna_vtr: "x.seqproduto",
tabela_rag: "consinco.map_produto"
},
loja: {
descricao_agente: "Nome ou código da loja/empresa.",
coluna_vtr: "x.nroempresa",
tabela_rag: "tb_flash_nodo"
}
}
}
},
detalhe_estoque_transito: {
descricao: "Consulta detalhes de notas fiscais e mercadorias em trânsito de um produto para uma loja específica. Útil para rastrear entregas pendentes, identificar fornecedores e verificar quantidades e valores de produtos a caminho.",
prompt: {
prompt_persona: "Você é um Extrator de Filtros de Logística e Recebimento. Sua tarefa: extrair os filtros para rastrear o estoque em trânsito (notas fiscais emitidas) de um item para uma loja.",
prompt_tarefa: "1. Filtros: identifique 'produto' e 'loja' (empresa) de destino.\n2. Agrupamento: vazio (dados retornam por nota fiscal).",
prompt_regras_gerais: "- Obrigatório preencher os filtros de produto e loja para execução otimizada.",
prompt_regras_contexto: "- Resgate filtros de turnos anteriores. Ex: em 'E na loja Sul, tem algo chegando?', herde o produto do histórico.",
prompt_exemplos: "Ex.: 'Tem nota de Arroz Tio João chegando na loja Norte?' → produto='Arroz Tio João', loja='Norte'.",
prompt_outras_infos: "Retorna as notas fiscais do último ano com fornecedor, datas de emissão/entrada e quantidade em trânsito do produto para a loja.",
prompt_saida: "Responda ÚNICA e EXCLUSIVAMENTE com um objeto JSON válido, aderente ao schema. Sem texto extra e sem markdown — apenas o objeto puro."
},
json_params_saida: {
agrupamentos: [],
filtros: {
produto: {
descricao_agente: "Nome, EAN ou código do produto.",
coluna_vtr: "b.seqproduto",
tabela_rag: "consinco.map_produto"
},
loja: {
descricao_agente: "Nome ou código da loja/empresa de destino.",
coluna_vtr: "a.nroempresa",
tabela_rag: "tb_flash_nodo"
}
}
}
}
}
},
queries: { queries: {
consulta: { consulta: {
name: "Consulta de Produtos", name: "Consulta de Produtos",