Merge branch 'master' of https://github.com/SciSharp/BotSharp into features/add-image-llm-config

This commit is contained in:
Jicheng Lu 2025-10-10 09:54:42 -05:00
commit 042516b17d
7 changed files with 34 additions and 11 deletions

View file

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BotSharp.Abstraction.Messaging.Enums
{
public static class AlignmentEnum
{
public const string TopLeft = "topLeft";
public const string BottomLeft = "bottomLeft";
public const string TopRight = "topRight";
public const string BottomRight = "bottomRight";
public const string TopCenter = "topCenter";
public const string BottomCenter = "bottomCenter";
}
}

View file

@ -20,4 +20,7 @@ public class ButtonTemplateMessage : IRichMessage, ITemplateMessage
[JsonPropertyName("is_horizontal")]
public bool IsHorizontal { get; set; }
[JsonPropertyName("alignment")]
public string Alignment { get; set; } = AlignmentEnum.TopLeft;
}

View file

@ -49,7 +49,7 @@ public partial class FileInstructService
var instruction = await GetAgentTemplate(innerAgentId, options?.TemplateName);
var textContent = text.IfNullOrEmptyAs(instruction).IfNullOrEmptyAs(string.Empty);
var completion = CompletionProvider.GetImageCompletion(_services, provider: options?.Provider ?? "openai", model: options?.Model ?? "gpt-image-1");
var completion = CompletionProvider.GetImageCompletion(_services, provider: options?.Provider ?? "openai", model: options?.Model ?? "gpt-image-1-mini");
var message = await completion.GetImageGeneration(new Agent()
{
Id = innerAgentId,
@ -124,7 +124,7 @@ public partial class FileInstructService
var innerAgentId = options?.AgentId ?? Guid.Empty.ToString();
var instruction = await GetAgentTemplate(innerAgentId, options?.TemplateName);
var completion = CompletionProvider.GetImageCompletion(_services, provider: options?.Provider ?? "openai", model: options?.Model ?? "gpt-image-1");
var completion = CompletionProvider.GetImageCompletion(_services, provider: options?.Provider ?? "openai", model: options?.Model ?? "gpt-image-1-mini");
var binary = await DownloadFile(image);
// Convert image
@ -173,7 +173,7 @@ public partial class FileInstructService
var innerAgentId = options?.AgentId ?? Guid.Empty.ToString();
var instruction = await GetAgentTemplate(innerAgentId, options?.TemplateName);
var completion = CompletionProvider.GetImageCompletion(_services, provider: options?.Provider ?? "openai", model: options?.Model ?? "gpt-image-1");
var completion = CompletionProvider.GetImageCompletion(_services, provider: options?.Provider ?? "openai", model: options?.Model ?? "gpt-image-1-mini");
var imageBinary = await DownloadFile(image);
var maskBinary = await DownloadFile(mask);

View file

@ -213,7 +213,7 @@ public class CompletionProvider
model = agentConfig?.Model ?? agentSetting.LlmConfig?.Model;
if (state.ContainsState("model"))
{
model = state.GetState("model", model ?? "gpt-image-1");
model = state.GetState("model", model ?? "gpt-image-1-mini");
}
else if (state.ContainsState("model_id") || !string.IsNullOrEmpty(modelId))
{

View file

@ -21,11 +21,11 @@ internal static class AiResponseHelper
internal static async Task<string> GetImageGenerationResponse(IServiceProvider services, Agent agent, string description)
{
var text = $"Please generate a user-friendly response from the following description to " +
$"inform user that you have completed the required image: {description}";
var text = $"Please generate a user-friendly and short response from the following description to " +
$"inform user that the required image is generated : {description}";
var provider = agent?.LlmConfig?.Provider ?? "openai";
var model = agent?.LlmConfig?.Model ?? "gpt-4o-mini";
var model = agent?.LlmConfig?.Model ?? "gpt-5-mini";
var completion = CompletionProvider.GetChatCompletion(services, provider: provider, model: model);
var response = await completion.GetChatCompletions(agent, [new RoleDialogModel(AgentRole.User, text)]);
return response.Content;

View file

@ -137,7 +137,7 @@ public class EditImageFn : IFunctionCallback
LlmConfig = new AgentLlmConfig
{
Provider = llmConfig?.Provider ?? "openai",
Model = llmConfig?.Model ?? "gpt-4o-mini",
Model = llmConfig?.Model ?? "gpt-5-mini",
MaxOutputTokens = llmConfig?.MaxOutputTokens,
ReasoningEffortLevel = llmConfig?.ReasoningEffortLevel
}
@ -168,7 +168,7 @@ public class EditImageFn : IFunctionCallback
}
provider = "openai";
model = "gpt-image-1";
model = "gpt-image-1-mini";
return (provider, model);
}

View file

@ -101,7 +101,7 @@ public class GenerateImageFn : IFunctionCallback
LlmConfig = new AgentLlmConfig
{
Provider = llmConfig?.Provider ?? "openai",
Model = llmConfig?.Model ?? "gpt-4o-mini",
Model = llmConfig?.Model ?? "gpt-5-mini",
MaxOutputTokens = llmConfig?.MaxOutputTokens,
ReasoningEffortLevel = llmConfig?.ReasoningEffortLevel
}
@ -132,7 +132,7 @@ public class GenerateImageFn : IFunctionCallback
}
provider = "openai";
model = "gpt-image-1";
model = "gpt-image-1-mini";
return (provider, model);
}