BotSharp/src/Infrastructure/BotSharp.Abstraction/Conversations/ConversationCompletionHookBase.cs

64 lines
1.6 KiB
C#
Raw Normal View History

2023-07-19 22:30:23 +00:00
using BotSharp.Abstraction.Conversations.Models;
using BotSharp.Abstraction.MLTasks;
2023-07-19 22:30:23 +00:00
namespace BotSharp.Abstraction.Conversations;
public abstract class ConversationCompletionHookBase : IConversationCompletionHook
2023-07-19 22:30:23 +00:00
{
protected Agent _agent;
public Agent Agent => _agent;
protected Conversation _conversation;
public Conversation Conversation => _conversation;
protected List<RoleDialogModel> _dialogs;
public List<RoleDialogModel> Dialogs => _dialogs;
protected IChatCompletion _chatCompletion;
public IChatCompletion ChatCompletion => _chatCompletion;
public IConversationCompletionHook SetAgent(Agent agent)
2023-07-19 22:30:23 +00:00
{
_agent = agent;
return this;
}
public IConversationCompletionHook SetConversation(Conversation conversation)
{
2023-07-19 22:30:23 +00:00
_conversation = conversation;
return this;
}
public IConversationCompletionHook SetDialogs(List<RoleDialogModel> dialogs)
{
2023-07-19 22:30:23 +00:00
_dialogs = dialogs;
return this;
}
public IConversationCompletionHook SetChatCompletion(IChatCompletion chatCompletion)
{
_chatCompletion = chatCompletion;
return this;
}
2023-08-10 22:17:55 +00:00
public virtual Task OnStateLoaded(ConversationState state, Action<Agent>? onAgentSwitched = null)
2023-08-09 21:49:55 +00:00
{
return Task.CompletedTask;
}
public virtual Task BeforeCompletion()
{
return Task.CompletedTask;
}
2023-07-30 18:22:07 +00:00
public virtual Task OnFunctionExecuting(string name, string args)
2023-07-27 21:56:57 +00:00
{
2023-07-30 18:22:07 +00:00
return Task.CompletedTask;
2023-07-27 21:56:57 +00:00
}
public virtual Task AfterCompletion(RoleDialogModel message)
{
return Task.CompletedTask;
2023-07-19 22:30:23 +00:00
}
}