“Faça-me o relatório de vendas regional a partir de sales.csv” é um pedido que um modelo de linguagem responderá felizmente digitando uma tabela Markdown, arredondando um número ou dois ao longo do caminho e descrevendo um gráfico que não pode desenhar. Com o GroupDocs.Assembly.Mcp em execução localmente (dnx GroupDocs.Assembly.Mcp --yes), Claude Desktop, Cursor ou Copilot entregam o arquivo de dados ao mecanismo: seu modelo Word ou PowerPoint contém a tabela, os totais e um gráfico real, e o servidor os preenche a partir do CSV ou da planilha sem que os números jamais passem pelo modelo:
Crie o relatório de vendas regional a partir de sales.xlsx com sales-report.docx como PDF, e o slide de gráfico com sales-chart.pptx.
A versão passo a passo com configuração e solução de problemas está na documentação: Como criar um relatório com tabelas e gráficos a partir de um CSV ou planilha com um agente de IA.
Por que os números devem pular o modelo?
Porque um modelo é um gerador de texto, e um relatório é aritmética mais layout. Quando um agente lê um CSV e escreve o relatório por conta própria, cada valor é reescrito por predição de próximo token. A maioria sai correta. A que não sai fica invisível até que alguém a verifique contra a fonte, que é exatamente o trabalho que o relatório deveria economizar. Gráficos são ainda piores: o modelo pode descrevê‑los ou gerar código para eles, mas o gráfico no seu deck trimestral é um objeto em um arquivo PowerPoint, estilizado por alguém do marketing.
Então divida o trabalho pelo que cada lado faz melhor. O modelo decide como o relatório deve parecer. O mecanismo lê o arquivo e faz as contagens. O agente escolhe o modelo e os dados, e informa o que foi gerado.
O que o agente passa, e o que o mecanismo vê
Aqui está a divisão em uma tabela:
the agent decides the engine does the template owns
----------------------- ------------------------- -----------------------
which template reads sales.xlsx/.csv the table layout
which data file types the columns the chart and its style
output format (pdf) sums, sorts, picks max headings, fonts, logo
fills table rows, chart what "total" means
Antes de gerar, o agente pode olhar o arquivo de dados. Para nossa planilha o servidor relatou uma tabela com três colunas:
-> get_document_info {"file":{"filePath":"sales.xlsx"}}
<- { "dataKind": "table",
"data": { "tableCount": 1, "tables": [ { "number": 1,
"columns": [ "Region", "Quarter", "Revenue" ] } ] } }
O relatório em tabela
O modelo Word tem uma linha de tabela com <<foreach [r in sales]>> na primeira célula e <</foreach>> na última, além de duas linhas abaixo: <<[sales.Sum(r => r.Revenue)]>> e <<[sales.OrderByDescending(r => r.Revenue).First().Region]>>. Uma chamada:
-> assemble_document {"template":{"filePath":"sales-report.docx"},
"data":{"filePath":"sales.xlsx"},"format":"pdf"}
<- Assembled 'sales-report.docx' with 'sales.xlsx' (table 1 (3
column(s): Region, Quarter, Revenue) as 'sales') as PDF
Saved to: .../sales-report_assembled.pdf
O relatório tem quatro linhas (North 182000, South 146500, East 98250, West 211900), “Total revenue: 638650 EUR” e “Best region: West”. O servidor nomeou os dados como sales porque é isso que o modelo itera; ninguém precisou dizer isso. O mesmo modelo com sales.csv produziu os mesmos totais; para CSV, hasHeaders e csvDelimiter cobrem arquivos sem linha de cabeçalho ou com ponto‑e‑vírgula.
O gráfico
Um gráfico em um modelo GroupDocs.Assembly é um gráfico comum com tags em dois lugares. O título do gráfico lê Revenue by region<<foreach [r in sales]>><<x [r.Region]>>: itera sobre as linhas, uma categoria por região. O nome da série lê Revenue<<y [r.Revenue]>>: um valor por linha. Os dados de espaço reservado dentro do gráfico estão apenas para que o designer possa vê‑los.
-> assemble_document {"template":{"filePath":"sales-chart.pptx"},
"data":{"filePath":"sales.xlsx"}}
<- Assembled 'sales-chart.pptx' with 'sales.xlsx' (table 1 (3
column(s): Region, Quarter, Revenue) as 'sales') as PPTX
Saved to: .../sales-chart_assembled.pptx
Abrimos o resultado: um gráfico de colunas intitulado Revenue by region, categorias North, South, East e West, valores 182000, 146500, 98250 e 211900, com as tags removidas e o estilo do modelo intacto. As mesmas tags funcionam em gráficos Word e Excel.
Por que não pedir ao agente uma imagem do gráfico?
Você pode, e para uma resposta pontual em chat isso é aceitável. Para um relatório há três problemas: a imagem é uma foto, então ninguém pode clicar nela e verificar um valor; seu estilo é o padrão do código de plotagem, não o seu estilo corporativo; e os números nela passaram pelo modelo. Um gráfico de modelo é um objeto de gráfico nativo, preenchido a partir do arquivo, estilizado uma única vez por quem possui o modelo.
Limitações honestas
- As tags de tabela e de gráfico já precisam estar no modelo; o agente não as cria.
get_template_fieldsmostra quais dados o modelo lê. - Modo de avaliação: toda saída começa com “Evaluation Only. Created with GroupDocs.Assembly 26.7…”, e as pastas de trabalho salvas ganham uma planilha extra.
- Uma lista vazia nos dados não tem tipos de coluna, portanto a aritmética sobre ela falha, mesmo com
allowMissingMembers. Verifique se o filtro que você solicita devolve linhas. - Modelos de apresentação no Linux precisam de
libgdiplusquando executados viadnx; a imagem Docker já o inclui. - Datas em arquivos de dados: mantenha-as como datas ou ISO completo com hora, e formate‑as no modelo.
Perguntas frequentes
Um agente de IA pode criar um gráfico a partir do meu CSV sem enviá‑lo?
Sim. O servidor roda localmente, lê o CSV ou a planilha da sua pasta de armazenamento e grava o relatório lá; os números vão do arquivo para o documento sem passar pelo modelo.
Quais arquivos de dados o modelo pode ler?
JSON, XML, CSV e TSV, e uma tabela dentro de uma planilha, documento Word ou PowerPoint; dataTable escolhe a tabela quando há várias.
O relatório pode ser um arquivo Excel em vez de PDF?
Sim, use um modelo XLSX; as tags vão para as células da planilha. No modo de avaliação a pasta de trabalho salva ganha uma planilha extra.
Aprofunde
- Documentação, guia canônico: Como criar um relatório com tabelas e gráficos a partir de um CSV ou planilha com um agente de IA
- Hub de documentação: GroupDocs.Assembly MCP Server
- Comece aqui: Deixe o modelo preencher os dados, não escrever o documento
- Relacionado: Cem PDFs personalizados a partir de um prompt: mala direta com um agente de IA
- Relacionado: Do que este modelo precisa? Pergunte a ele.
- Relacionado: Seu repositório já tem os dados; deixe o agente gerar o PDF
- Modelo on‑premise e de segurança: 3 arquiteturas para processamento de documentos com IA, e a que mantém arquivos dentro da sua rede
- Perguntas: Fórum GroupDocs Assembly
- Fonte: GroupDocs.Assembly.Mcp no GitHub