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));
}