“Make me the regional sales report from sales.csv” bir dil modelinin mutlu bir şekilde bir Markdown tablosu yazarak, bir iki sayıyı yuvarlayarak ve çizemediği bir grafiği tarif ederek yanıtlayacağı bir istektir. GroupDocs.Assembly.Mcp yerel olarak çalıştırıldığında (dnx GroupDocs.Assembly.Mcp --yes), Claude Desktop, Cursor ya da Copilot veri dosyasını motorun eline verir: Word ya da PowerPoint şablonunuz tabloyu, toplamları ve gerçek bir grafiği tutar ve sunucu bunları CSV ya da elektronik tablodan doldurur; sayılar modelden hiç geçmez:
Bölgesel satış raporunu sales.xlsx dosyasından sales-report.docx olarak PDF ve sales-chart.pptx slaytıyla oluştur.
Adım adım yapılandırma ve sorun giderme sürümü belgelerde bulunabilir: How to build a report with tables and charts from a CSV or spreadsheet with an AI agent.
Neden sayılar modele geçmesin?
Çünkü bir model metin üreticisidir ve bir rapor aritmetik artı yerleşimdir. Bir ajan bir CSV’yi okur ve raporu kendisi yazar ise, her değer bir sonraki token tahminiyle yeniden yazılır. Çoğu doğru çıkar. Yanlış olan ise, kaynakla karşılaştırılana kadar görünmez; bu da raporun tasarruf etmesi amaçlanan işi tam tersine yapar. Grafikler daha da kötüdür: model bir grafik tarif edebilir ya da kod üretebilir, ancak çeyreklik sunumunuzdaki grafik bir PowerPoint dosyasındaki nesnedir, pazarlama ekibi tarafından stil verilmiştir.
Bu yüzden işi her iki tarafın da iyi olduğu bölümlere ayıralım. Şablon raporun nasıl görüneceğini belirler. Motor dosyayı okur ve sayımları yapar. Ajan şablonu ve veriyi seçer ve size çıkan sonucu söyler.
Ajanın gönderdiği ve motorun gördüğü
İşte tek bir tabloda bölünme:
ajan karar verir motor yapar şablon sahip olur
----------------------- ------------------------- -----------------------
hangi şablon sales.xlsx/.csv okur tablo yerleşimi
hangi veri dosyası sütunları tipler grafik ve stili
çıktı formatı (pdf) toplar, sıralar, max bulur başlıklar, yazı tipleri, logo
tablo satırlarını doldur, grafik "total" ne demek
Oluşturma öncesinde ajan veri dosyasına bakabilir. Elektronik tablomuz için sunucu bir tablo ve üç sütun olduğunu raporladı:
-> get_document_info {"file":{"filePath":"sales.xlsx"}}
<- { "dataKind": "table",
"data": { "tableCount": 1, "tables": [ { "number": 1,
"columns": [ "Region", "Quarter", "Revenue" ] } ] } }
Tablo raporu
Word şablonu ilk hücresinde <<foreach [r in sales]>> ve son hücresinde <</foreach>> içeren bir tablo satırı ve altında iki satır daha barındırır: <<[sales.Sum(r => r.Revenue)]>> ve <<[sales.OrderByDescending(r => r.Revenue).First().Region]>>. Tek bir çağrı:
-> 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
Rapor dört satır içerir (North 182000, South 146500, East 98250, West 211900), “Total revenue: 638650 EUR” ve “Best region: West” ifadeleriyle. Sunucu veriye sales adını verdi çünkü şablon bu adı döngüde kullanıyor; kimsenin bunu belirtmesi gerekmedi. Aynı şablon sales.csv ile de aynı toplamları verdi; CSV için hasHeaders ve csvDelimiter başlık satırı olmayan ya da noktalı virgül kullanılan dosyaları kapsar.
Grafik
GroupDocs.Assembly şablonundaki bir grafik, iki yerde etiketler bulunan sıradan bir grafiktir. Grafik başlığı Revenue by region<<foreach [r in sales]>><<x [r.Region]>> şeklinde okunur: satırları döngüyle geç, her bölge için bir kategori. Seri adı Revenue<<y [r.Revenue]>> şeklinde okunur: her satır için bir değer. Grafiğin içindeki yer tutucu veri sadece tasarımcının görebilmesi içindir.
-> 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
Sonucu açtık: Revenue by region başlıklı bir sütun grafiği, kategoriler North, South, East ve West, değerler 182000, 146500, 98250 ve 211900; etiketler kaldırılmış ve şablonun stilizasyonu korunmuş. Aynı etiketler Word ve Excel grafiklerinde de çalışır.
Neden ajanı bir grafik resmi istemeyelim?
İsteyebilirsiniz ve sohbet içinde tek seferlik bir yanıt için bu uygundur. Bir rapor için üç sorunu vardır: resim bir fotoğrafdır, kimse üzerine tıklayıp bir değeri kontrol edemez; stili, çizim kodunun varsayılanı olur, sizin kurumsal stiliniz değildir; ve üzerindeki sayılar model üzerinden geçmiştir. Şablon grafiği ise dosyadan doldurulan, şablonu oluşturan kişi tarafından bir kez stil verilen yerel bir grafik nesnesidir.
Dürüst sınırlamalar
- Tablo ve grafik etiketleri şablonda önceden bulunmalıdır; ajan bunları tasarlamaz.
get_template_fieldsşablonun okuduğu verileri gösterir. - Değerlendirme modu: her çıktı “Evaluation Only. Created with GroupDocs.Assembly 26.7…” ile başlar ve kaydedilen çalışma kitapları ekstra bir çalışma sayfası ekler.
- Veride boş bir liste sütun tipine sahip değildir, bu yüzden
allowMissingMembersile bile aritmetik işlem başarısız olur. Filtrelemenin satır döndürdüğünden emin olun. - Linux üzerindeki sunum şablonları
dnxile çalıştırıldığındalibgdiplusgerektirir; Docker imajı bunu içerir. - Veri dosyalarındaki tarih değerleri: tarih olarak ya da zaman içeren tam ISO olarak tutun ve şablonda biçimlendirin.
SSS
Bir AI ajanı CSV’imden grafik oluşturabilir mi, yüklemeden?
Evet. Sunucu yerel olarak çalışır, CSV ya da elektronik tabloyu depolama klasörünüzden okur ve raporu oraya yazar; sayılar dosyadan belgeye modele geçmeden aktarılır.
Şablon hangi veri dosyalarını okuyabilir?
JSON, XML, CSV ve TSV, ayrıca bir elektronik tablo, Word ya da PowerPoint belgesi içindeki tablo; dataTable birden fazla tablo olduğunda tabloyu seçer.
Rapor PDF yerine Excel dosyası olabilir mi?
Evet, bir XLSX şablonu kullanın; etiketler çalışma sayfası hücrelerine konur. Değerlendirme modunda kaydedilen çalışma kitabı ekstra bir çalışma sayfası ekler.
Daha derine in
- Dokümantasyon, resmi nasıl‑yapılır: How to build a report with tables and charts from a CSV or spreadsheet with an AI agent
- Dokümantasyon merkezi: GroupDocs.Assembly MCP Server
- Buradan başlayın: Let the model fill in the data, not write the document
- İlgili: A hundred personalised PDFs from one prompt: mail merge with an AI agent
- İlgili: What does this template need? Ask it.
- İlgili: Your repo already has the data; let the agent make the PDF
- Yerinde ve güvenlik modeli: 3 architectures for AI document processing, and the one that keeps files inside your network
- Sorular: GroupDocs Assembly forum
- Kaynak: GroupDocs.Assembly.Mcp on GitHub