diff --git a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua
index 59358491..0601278a 100644
--- a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua
+++ b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua
@@ -1342,6 +1342,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T1790167032
-- Slide Assistant
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T1883918574"] = "Slide Assistant"
+-- Please provide some input
+UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T2236278390"] = "Please provide some input"
+
-- Target language
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T237828418"] = "Target language"
@@ -1354,6 +1357,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T2709966651
-- Please provide a title
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T3049299559"] = "Please provide a title"
+-- Upload documents for input
+UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T3064715989"] = "Upload documents for input"
+
-- Create Slides
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::SLIDEBUILDER::SLIDEASSISTANT::T3079776593"] = "Create Slides"
diff --git a/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor b/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor
index f1413a08..5e98996b 100644
--- a/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor
+++ b/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor
@@ -3,8 +3,9 @@
-
-
+
+ @T("Upload documents for input")
+
diff --git a/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs b/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs
index a35ee766..8dbe12ef 100644
--- a/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs
+++ b/app/MindWork AI Studio/Assistants/SlideBuilder/SlideAssistant.razor.cs
@@ -1,4 +1,5 @@
-using AIStudio.Chat;
+using System.Text;
+using AIStudio.Chat;
using AIStudio.Dialogs.Settings;
namespace AIStudio.Assistants.SlideBuilder;
@@ -21,8 +22,8 @@ public partial class SlideAssistant : AssistantBaseCore loadedDocumentPaths = [];
#region Overrides of ComponentBase
@@ -168,7 +170,76 @@ public partial class SlideAssistant : AssistantBaseCore PromptLoadDocumentsContent()
+ {
+ if (this.loadedDocumentPaths.Count == 0)
+ return string.Empty;
+
+ var documents = this.loadedDocumentPaths.Where(n => n is { Exists: true, IsImage: false }).ToList();
+ var sb = new StringBuilder();
+
+ if (documents.Count > 0)
+ {
+ sb.AppendLine("""
+ # DOCUMENTS:
+
+ """);
+ }
+
+ var numDocuments = 1;
+ foreach (var document in documents)
+ {
+ if (document.IsForbidden)
+ {
+ this.Logger.LogWarning($"Skipping forbidden file: '{document.FilePath}'.");
+ continue;
+ }
+
+ var fileContent = await this.RustService.ReadArbitraryFileData(document.FilePath, int.MaxValue);
+ sb.AppendLine($"""
+
+ ## DOCUMENT {numDocuments}:
+ File path: {document.FilePath}
+ Content:
+ ```
+ {fileContent}
+ ```
+
+ ---
+
+ """);
+ numDocuments++;
+ }
+
+ var numImages = this.loadedDocumentPaths.Count(x => x is { IsImage: true, Exists: true });
+ if (numImages > 0)
+ {
+ if (documents.Count == 0)
+ {
+ sb.AppendLine($"""
+
+ There are {numImages} image file(s) attached as documents.
+ Please consider them as documents as well and use them to
+ answer accordingly.
+
+ """);
+ }
+ else
+ {
+ sb.AppendLine($"""
+
+ Additionally, there are {numImages} image file(s) attached.
+ Please consider them as documents as well and use them to
+ answer accordingly.
+
+ """);
+ }
+ }
+
+ return sb.ToString();
+ }
+
private async Task CreateSlideBuilder()
{
await this.form!.Validate();
@@ -178,6 +249,9 @@ public partial class SlideAssistant : AssistantBaseCore 0 ? this.CalculateNumberOfSlides() : 0;
this.CreateChatThread();
+ var documentContent = await this.PromptLoadDocumentsContent();
+ var imageAttachments = this.loadedDocumentPaths.Where(n => n is { Exists: true, IsImage: true }).ToList();
+
var time = this.AddUserRequest(
$"""
# PRESENTATION_TITLE
@@ -189,9 +263,11 @@ public partial class SlideAssistant : AssistantBaseCore