namespace BotSharp.Abstraction.MLTasks; public interface IChatCompletion { /// /// The LLM provider like Microsoft Azure, OpenAI, ClaudAI /// string Provider { get; } string Model { get; } /// /// Set model name, one provider can consume different model or version(s) /// /// deployment name void SetModelName(string model); Task GetChatCompletions(Agent agent, List conversations); Task GetChatCompletionsAsync(Agent agent, List conversations, Func onMessageReceived, Func onFunctionExecuting); Task GetChatCompletionsStreamingAsync(Agent agent, List conversations) => Task.FromResult(new RoleDialogModel(AgentRole.Assistant, string.Empty)); }