| @@ -16,14 +16,16 @@ public sealed class LLamaSharpTextCompletion : ITextCompletion | |||||
| public async Task<IReadOnlyList<ITextResult>> GetCompletionsAsync(string text, AIRequestSettings? requestSettings, CancellationToken cancellationToken = default) | public async Task<IReadOnlyList<ITextResult>> GetCompletionsAsync(string text, AIRequestSettings? requestSettings, CancellationToken cancellationToken = default) | ||||
| { | { | ||||
| var settings = (ChatRequestSettings)requestSettings; | |||||
| var settings = (ChatRequestSettings?)requestSettings; | |||||
| var result = executor.InferAsync(text, settings?.ToLLamaSharpInferenceParams(), cancellationToken); | var result = executor.InferAsync(text, settings?.ToLLamaSharpInferenceParams(), cancellationToken); | ||||
| return await Task.FromResult(new List<ITextResult> { new LLamaTextResult(result) }.AsReadOnly()).ConfigureAwait(false); | return await Task.FromResult(new List<ITextResult> { new LLamaTextResult(result) }.AsReadOnly()).ConfigureAwait(false); | ||||
| } | } | ||||
| #pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously. | |||||
| public async IAsyncEnumerable<ITextStreamingResult> GetStreamingCompletionsAsync(string text, AIRequestSettings? requestSettings, CancellationToken cancellationToken = default) | public async IAsyncEnumerable<ITextStreamingResult> GetStreamingCompletionsAsync(string text, AIRequestSettings? requestSettings, CancellationToken cancellationToken = default) | ||||
| #pragma warning restore CS1998 | |||||
| { | { | ||||
| var settings = (ChatRequestSettings)requestSettings; | |||||
| var settings = (ChatRequestSettings?)requestSettings; | |||||
| var result = executor.InferAsync(text, settings?.ToLLamaSharpInferenceParams(), cancellationToken); | var result = executor.InferAsync(text, settings?.ToLLamaSharpInferenceParams(), cancellationToken); | ||||
| yield return new LLamaTextResult(result); | yield return new LLamaTextResult(result); | ||||
| } | } | ||||