From bb9feb2697abdd34b5545bb5508ba77be6f98743 Mon Sep 17 00:00:00 2001 From: Jicheng Lu Date: Thu, 18 Jul 2024 22:49:24 -0500 Subject: [PATCH] minor change --- .../Controllers/InstructModeController.cs | 4 ++++ .../ImageCompletionProvider.Generation.cs | 16 ++++++++-------- .../Image/ImageCompletionProvider.Variation.cs | 8 ++++---- .../ImageCompletionProvider.Generation.cs | 18 ++++++++---------- .../Image/ImageCompletionProvider.Variation.cs | 10 +++++----- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs index dbfdeea0..8d433123 100644 --- a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs +++ b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs @@ -141,6 +141,10 @@ public class InstructModeController : ControllerBase try { var file = input.Files.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x.FileUrl) || !string.IsNullOrWhiteSpace(x.FileData)); + if (file == null) + { + return new ImageGenerationViewModel { Message = "Error! Cannot find an image!" }; + } var message = await fileService.VarifyImage(input.Provider, input.Model, file); imageViewModel.Content = message.Content; imageViewModel.Images = message.GeneratedImages.Select(x => ImageViewModel.ToViewModel(x)).ToList(); diff --git a/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Generation.cs b/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Generation.cs index 995054d6..eeda728b 100644 --- a/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Generation.cs +++ b/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Generation.cs @@ -53,18 +53,18 @@ public partial class ImageCompletionProvider var prompt = message?.Payload ?? message?.Content ?? string.Empty; var state = _services.GetRequiredService(); - var size = state.GetState("image_size"); - var quality = state.GetState("image_quality"); - var style = state.GetState("image_style"); - var format = state.GetState("image_format"); + var size = GetImageSize(state.GetState("image_size")); + var quality = GetImageQuality(state.GetState("image_quality")); + var style = GetImageStyle(state.GetState("image_style")); + var format = GetImageFormat(state.GetState("image_format")); var count = GetImageCount(state.GetState("image_count", "1")); var options = new ImageGenerationOptions { - Size = GetImageSize(size), - Quality = GetImageQuality(quality), - Style = GetImageStyle(style), - ResponseFormat = GetImageFormat(format) + Size = size, + Quality = quality, + Style = style, + ResponseFormat = format }; return (prompt, count, options); } diff --git a/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Variation.cs b/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Variation.cs index 8d9b4f39..e7543e8a 100644 --- a/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Variation.cs +++ b/src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Image/ImageCompletionProvider.Variation.cs @@ -51,14 +51,14 @@ public partial class ImageCompletionProvider private (int, ImageVariationOptions) PrepareOptions() { var state = _services.GetRequiredService(); - var size = state.GetState("image_size"); - var format = state.GetState("image_format"); + var size = GetImageSize(state.GetState("image_size")); + var format = GetImageFormat(state.GetState("image_format")); var count = GetImageCount(state.GetState("image_count", "1")); var options = new ImageVariationOptions { - Size = GetImageSize(size), - ResponseFormat = GetImageFormat(format) + Size = size, + ResponseFormat = format }; return (count, options); } diff --git a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Generation.cs b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Generation.cs index c03deb6f..18bf7228 100644 --- a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Generation.cs +++ b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Generation.cs @@ -53,21 +53,19 @@ public partial class ImageCompletionProvider var prompt = message?.Payload ?? message?.Content ?? string.Empty; var state = _services.GetRequiredService(); - var size = state.GetState("image_size"); - var quality = state.GetState("image_quality"); - var style = state.GetState("image_style"); - var format = state.GetState("image_format"); + var size = GetImageSize(state.GetState("image_size")); + var quality = GetImageQuality(state.GetState("image_quality")); + var style = GetImageStyle(state.GetState("image_style")); + var format = GetImageFormat(state.GetState("image_format")); var count = GetImageCount(state.GetState("image_count", "1")); var options = new ImageGenerationOptions { - Size = GetImageSize(size), - Quality = GetImageQuality(quality), - Style = GetImageStyle(style), - ResponseFormat = GetImageFormat(format) + Size = size, + Quality = quality, + Style = style, + ResponseFormat = format }; return (prompt, count, options); } - - } \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Variation.cs b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Variation.cs index 13142bc0..a95097bf 100644 --- a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Variation.cs +++ b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Image/ImageCompletionProvider.Variation.cs @@ -10,7 +10,7 @@ public partial class ImageCompletionProvider var (imageCount, options) = PrepareOptions(); var imageClient = client.GetImageClient(_model); - var response = imageClient.GenerateImageVariations(image, imageFileName, imageCount, options); + var response = await imageClient.GenerateImageVariationsAsync(image, imageFileName, imageCount, options); var values = response.Value; var generatedImages = new List(); @@ -51,14 +51,14 @@ public partial class ImageCompletionProvider private (int, ImageVariationOptions) PrepareOptions() { var state = _services.GetRequiredService(); - var size = state.GetState("image_size"); - var format = state.GetState("image_format"); + var size = GetImageSize(state.GetState("image_size")); + var format = GetImageFormat(state.GetState("image_format")); var count = GetImageCount(state.GetState("image_count", "1")); var options = new ImageVariationOptions { - Size = GetImageSize(size), - ResponseFormat = GetImageFormat(format) + Size = size, + ResponseFormat = format }; return (count, options); }