using LLama.Abstractions; using System; using System.Collections.Generic; using System.Text; namespace LLama.Control { /// /// The default generation control in LLamaSharp, using antiprompts. This class should not be inherited. /// Note that this class has state. The previous outputs feeded to it will affect its control. /// If you use it in a session, please don't reuse it for another session unless you intend to do so. /// public sealed class DefaultGenerationControl: IGenerationControl { private AntipromptProcessor _antipromptProcessor; /// /// /// public DefaultGenerationControl() { _antipromptProcessor = new AntipromptProcessor(); } /// /// /// public bool ShouldStopGeneration(LLamaContext context, IInferenceParams inferenceParams, string lastOutputText) { _antipromptProcessor.SetAntiprompts(inferenceParams.AntiPrompts); return _antipromptProcessor.Add(lastOutputText); } /// /// /// public bool ShouldStopGeneration(LLamaContext context, IInferenceParams inferenceParams, IEnumerable lastOutputIds) { return false; } } }