using BotSharp.Abstraction.Instructs.Models;
namespace BotSharp.Abstraction.Instructs;
public interface IInstructService
{
///
/// Execute completion by using specified instruction or template
///
/// Agent (static agent)
/// Additional message provided by user
/// Template name
/// System prompt
///
Task Execute(string agentId, RoleDialogModel message, string? templateName = null, string? instruction = null);
///
/// A generic way to execute completion by using specified instruction or template
///
///
/// Prompt
/// Agent id
/// Llm Provider, model, message, prompt data
///
Task Instruct(string instruction, string agentId, InstructOptions options) where T : class;
}