23 lines
1 KiB
C#
23 lines
1 KiB
C#
|
|
|
|
using AuthorBuddy.Web.Models;
|
|
|
|
namespace AuthorBuddy.Web.Services;
|
|
|
|
public interface IOllamaService
|
|
{
|
|
Task<IEnumerable<LLM_Model>> GetLocalModelsAsync();
|
|
Task<bool> PullModelAsync(string modelName, IProgress<string> progress);
|
|
Task<string> QuickSpellCheckAsync(string text);
|
|
Task<float[]> GetEmbeddingAsync(string text);
|
|
Task<bool> TestEmbeddingAsync(string model);
|
|
Task<string> Chat(string model, string userMessage, string? systemPrompt = null, double? temperature = null);
|
|
Task ChatStream(string model, string userMessage, Func<string, Task> onToken, string? systemPrompt = null, double? temperature = null);
|
|
Task<string> AnswerBasedOnFactsAsync(string question, string facts);
|
|
Task<(bool Success, long LatencyMs)> TestConnectionAsync();
|
|
Task<bool> ModelExistsAsync(string model);
|
|
Task<bool> DeleteModelAsync(string modelName);
|
|
Task<(bool Success, int ContextWindow)> GetModelContextWindowAsync(string model);
|
|
Task<long> MeasureLatencyAsync(string model);
|
|
void Reconfigure(string ollamaUrl);
|
|
}
|