using LLama.Common;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace LLama.Abstractions
{
///
/// A high level interface for LLama models.
///
public interface ILLamaExecutor
{
///
/// The loaded model for this executor.
///
public LLamaModel Model { get; }
///
/// Infers a response from the model.
///
/// Your prompt
/// Any additional parameters
/// A cancellation token.
///
IEnumerable Infer(string text, IInferenceParams? inferenceParams = null, CancellationToken token = default);
///
/// Asynchronously infers a response from the model.
///
/// Your prompt
/// Any additional parameters
/// A cancellation token.
///
IAsyncEnumerable InferAsync(string text, IInferenceParams? inferenceParams = null, CancellationToken token = default);
}
}