“Зроби мені регіональний звіт про продажі з файлу sales.csv” — це запит, на який мовна модель охоче відповість, створивши таблицю в Markdown, округливши кілька чисел і описавши діаграму, яку вона не може намалювати. Коли локально запущено GroupDocs.Assembly.Mcp (dnx GroupDocs.Assembly.Mcp --yes), Claude Desktop, Cursor або Copilot передають файл даних рушію: ваш шаблон Word або PowerPoint містить таблицю, підсумки та справжню діаграму, а сервер заповнює їх з CSV або електронної таблиці, не пропускаючи числа через модель:
Створити регіональний звіт про продажі з файлу sales.xlsx, використовуючи sales-report.docx як PDF, і слайд з діаграмою sales-chart.pptx.
Крок‑за‑кроком версія з налаштуваннями та усуненням проблем знаходиться в документації: Як створити звіт з таблицями та діаграмами з CSV або електронної таблиці за допомогою AI‑агента.
Чому числа мають обходити модель?
Тому що модель — це генератор тексту, а звіт — це арифметика плюс макет. Коли агент читає CSV і сам створює звіт, кожне значення вводиться шляхом передбачення наступного токену. Більшість виходить правильно. Той, який помилковий, залишається невидимим, доки хтось не перевірить його проти джерела, а саме це робота, яку звіт мав заощадити. Діаграми ще гірше: модель може їх описати або згенерувати код, але діаграма у вашій квартальній презентації — це об’єкт у файлі PowerPoint, оформлений маркетологом.
Тому розділіть роботу за тим, у чому кожна сторона сильна. Шаблон визначає, як виглядатиме звіт. Рушій читає файл і виконує підрахунки. Агент обирає шаблон і дані, і повідомляє вам результат.
Що передає агент, а що бачить рушій
Ось розподіл у вигляді таблиці:
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
Перед генерацією агент може переглянути файл даних. Для нашої електронної таблиці сервер повідомив про одну таблицю з трьома стовпцями:
-> get_document_info {"file":{"filePath":"sales.xlsx"}}
<- { "dataKind": "table",
"data": { "tableCount": 1, "tables": [ { "number": 1,
"columns": [ "Region", "Quarter", "Revenue" ] } ] } }
Табличний звіт
Шаблон Word містить один рядок таблиці з <<foreach [r in sales]>> у першій клітинці та <</foreach>> у останній, плюс два рядки під ним: <<[sales.Sum(r => r.Revenue)]>> і <<[sales.OrderByDescending(r => r.Revenue).First().Region]>>. Один виклик:
-> 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
Звіт містить чотири рядки (North 182000, South 146500, East 98250, West 211900), “Total revenue: 638650 EUR” і “Best region: West”. Сервер назвав дані sales, бо саме так шаблон їх перебирає; ніхто не мусив це вказувати. Той самий шаблон з sales.csv дав ті ж підсумки; для CSV параметри hasHeaders і csvDelimiter охоплюють файли без заголовка або з крапкою з комою.
Діаграма
Діаграма в шаблоні GroupDocs.Assembly — це звичайна діаграма з тегами у двох місцях. Заголовок діаграми читає Revenue by region<<foreach [r in sales]>><<x [r.Region]>>: перебір рядків, одна категорія на регіон. Назва серії читає Revenue<<y [r.Revenue]>>: одне значення на рядок. Заповнювальні дані всередині діаграми потрібні лише для того, щоб дизайнер їх бачив.
-> 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
Ми відкрили результат: стовпчаста діаграма під назвою Revenue by region, категорії North, South, East і West, значення 182000, 146500, 98250 і 211900, без тегів і зі збереженим оформленням шаблону. Ті ж теги працюють у діаграмах Word та Excel.
Чому не просити агента створити зображення діаграми?
Можна, і для одноразової відповіді в чаті це прийнятно. Для звіту це створює три проблеми: зображення — це картинка, тож ніхто не може клікнути в неї і перевірити значення; її стиль — це те, що за замовчуванням задає код побудови, а не ваш корпоративний стиль; і числа на ній проходять через модель. Шаблонна діаграма — це нативний об’єкт діаграми, заповнений з файлу, оформлений один раз тим, хто володіє шаблоном.
Чесні обмеження
- Теги таблиці та діаграми мають вже бути в шаблоні; агент їх не створює.
get_template_fieldsпоказує, які дані читає шаблон. - Режим оцінки: кожен вихід починається з “Evaluation Only. Created with GroupDocs.Assembly 26.7…”, а збережені книги отримують додатковий лист.
- Список, який порожній у даних, не має типів стовпців, тому арифметика над ним не працює, навіть за наявності
allowMissingMembers. Перевірте, чи фільтр, який ви задаєте, повертає рядки. - Шаблони презентацій у Linux потребують
libgdiplusпри запуску черезdnx; Docker‑образ його містить. - Дати у файлах даних: залишайте їх у форматі дати або повному ISO з часом і форматте у шаблоні.
FAQ
Чи може AI‑агент створити діаграму з мого CSV без його завантаження?
Так. Сервер працює локально, читає CSV або електронну таблицю з вашої папки сховища і записує звіт туди; числа переходять безпосередньо з файлу в документ, не проходячи через модель.
Які файли даних може читати шаблон?
JSON, XML, CSV і TSV, а також таблицю всередині електронної таблиці, документа Word або PowerPoint; dataTable вибирає таблицю, коли їх кілька.
Чи може звіт бути файлом Excel замість PDF?
Так, використайте шаблон XLSX; теги розміщуються у клітинках листа. У режимі оцінки збережена книга отримує додатковий лист.
Поглиблене вивчення
- Документація, канонічний посібник: Як створити звіт з таблицями та діаграмами з CSV або електронної таблиці за допомогою AI‑агента
- Центр документації: GroupDocs.Assembly MCP Server
- Почати тут: Нехай модель заповнює дані, а не пише документ
- Пов’язане: Сотня персоналізованих PDF за один запит: злиття листів за допомогою AI‑агента
- Пов’язане: Що потрібно цьому шаблону? Запитайте його.
- Пов’язане: Ваш репозиторій вже містить дані; нехай агент створить PDF
- On‑premise та модель безпеки: 3 архітектури для AI‑обробки документів, і та, що тримає файли всередині вашої мережі
- Питання: GroupDocs Assembly forum
- Джерело: GroupDocs.Assembly.Mcp на GitHub