“Make me the regional sales report from sales.csv” je požadavek, na který model jazykové generace rádo odpoví vytvořením tabulky v Markdownu, zaokrouhlením jedné‑dvou čísel a popisem grafu, který nedokáže vykreslit. S GroupDocs.Assembly.Mcp běžícím lokálně (dnx GroupDocs.Assembly.Mcp --yes) předá Claude Desktop, Cursor nebo Copilot soubor s daty motoru: váš šablonový soubor Word nebo PowerPoint obsahuje tabulku, součty a skutečný graf a server je vyplní z CSV nebo tabulky, aniž by čísla prošla modelem:
Vytvořte regionální prodejní zprávu ze souboru sales.xlsx s šablonou sales-report.docx jako PDF a snímek s grafem sales-chart.pptx.
Krok‑za‑krokem s konfigurací a řešením problémů najdete v dokumentaci: How to build a report with tables and charts from a CSV or spreadsheet with an AI agent.
Proč by čísla měla obejít model?
Protože model je generátor textu a zpráva je aritmetika plus rozvržení. Když agent přečte CSV a sám napíše zprávu, každá hodnota je znovu zadána predikcí dalšího tokenu. Většina je správná. Ta, která není, je neviditelná, dokud si ji někdo neověří vůči zdroji – což je přesně to, co měla zpráva ušetřit. Grafy jsou horší: model může jeden popsat nebo vygenerovat kód, ale graf ve vašem čtvrtletním decku je objekt v PowerPoint souboru, stylizovaný někým z marketingu.
Proto rozdělte práci podle toho, v čem je každá strana dobrá. Šablona určuje, jak zpráva vypadá. Motor čte soubor a provádí výpočty. Agent vybírá šablonu a data a říká vám, co vyšlo.
Co agent předá a co motor vidí
Zde je rozdělení v jedné tabulce:
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
Před generováním si může agent prohlédnout datový soubor. Pro náš sešit server nahlásil jednu tabulku se třemi sloupci:
-> get_document_info {"file":{"filePath":"sales.xlsx"}}
<- { "dataKind": "table",
"data": { "tableCount": 1, "tables": [ { "number": 1,
"columns": [ "Region", "Quarter", "Revenue" ] } ] } }
Tabulková zpráva
Šablona Word má jeden řádek tabulky s <<foreach [r in sales]>> v prvním buňce a <</foreach>> v poslední, plus dva řádky pod ní: <<[sales.Sum(r => r.Revenue)]>> a <<[sales.OrderByDescending(r => r.Revenue).First().Region]>>. Jeden požadavek:
-> 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
Zpráva má čtyři řádky (North 182000, South 146500, East 98250, West 211900), “Total revenue: 638650 EUR” a “Best region: West”. Server pojmenoval data sales, protože šablona nad nimi iteruje; nikdo to nemusí explicitně říkat. Stejná šablona s sales.csv dala stejné součty; pro CSV hasHeaders a csvDelimiter pokrývají soubory bez hlavičky nebo s středníky.
Graf
Graf v šabloně GroupDocs.Assembly je obyčejný graf se značkami na dvou místech. Název grafu čte Revenue by region<<foreach [r in sales]>><<x [r.Region]>>: iteruje přes řádky, jedna kategorie na region. Název řady čte Revenue<<y [r.Revenue]>>: jedna hodnota na řádek. Zástupná data uvnitř grafu jsou jen pro návrháře, aby je viděl.
-> 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
Otevřeli jsme výsledek: sloupcový graf s názvem Revenue by region, kategorie North, South, East a West, hodnoty 182000, 146500, 98250 a 211900, značky jsou odstraněny a styl šablony zůstává nedotčen. Stejné značky fungují v Word a Excel grafech.
Proč nepožádat agenta o obrázek grafu?
Můžete, a pro jednorázovou odpověď v chatu to stačí. Pro zprávu to má tři problémy: obrázek je jen obrázek, takže do něj nikdo nemůže kliknout a ověřit hodnotu; jeho styl je to, co nastavil výchozí kód pro vykreslení, ne váš firemní styl; a čísla na něm prošla modelem. Graf v šabloně je nativní objekt grafu, naplněný ze souboru a stylizovaný jednou osobou, která šablonu vlastní.
Upřímná omezení
- Značky tabulky a grafu musí být už v šabloně; agent je nenavrhuje.
get_template_fieldsukazuje, jaká data šablona čte. - Režim hodnocení: každý výstup začíná “Evaluation Only. Created with GroupDocs.Assembly 26.7…” a uložené sešity získají další list.
- Seznam, který je v datech prázdný, nemá žádné typy sloupců, takže aritmetika selže i při
allowMissingMembers. Ověřte, že filtr, který žádáte, vrací řádky. - Šablony prezentací na Linuxu potřebují
libgdipluspři spuštění přesdnx; Docker image jej obsahuje. - Data v datových souborech: uchovávejte je jako datum nebo plný ISO s časem a formátujte je v šabloně.
Často kladené otázky
Může AI agent vytvořit graf z mého CSV bez nahrání?
Ano. Server běží lokálně, načte CSV nebo sešit z vašeho úložního adresáře a zapíše zprávu tam; čísla jdou přímo ze souboru do dokumentu, aniž by prošla modelem.
Jaké datové soubory může šablona číst?
JSON, XML, CSV a TSV a tabulku uvnitř sešitu, Word nebo PowerPoint dokumentu; dataTable vybere tabulku, pokud jich je několik.
Může být zpráva Excel soubor místo PDF?
Ano, použijte XLSX šablonu; značky se umístí do buněk listu. V režimu hodnocení získá uložený sešit další list.
Ponořte se hlouběji
- Dokumentace, kanonický návod: How to build a report with tables and charts from a CSV or spreadsheet with an AI agent
- Dokumentační hub: GroupDocs.Assembly MCP Server
- Začněte zde: Let the model fill in the data, not write the document
- Související: A hundred personalised PDFs from one prompt: mail merge with an AI agent
- Související: What does this template need? Ask it.
- Související: Your repo already has the data; let the agent make the PDF
- On‑premise a bezpečnostní model: 3 architectures for AI document processing, and the one that keeps files inside your network
- Otázky: GroupDocs Assembly forum
- Zdroj: GroupDocs.Assembly.Mcp on GitHub