mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-10 17:49:07 +00:00
Refined provider interface
This commit is contained in:
parent
418f458118
commit
bbb9d883a1
@ -1,6 +1,9 @@
|
||||
using AIStudio.Chat;
|
||||
using AIStudio.Settings;
|
||||
using Microsoft.JSInterop;
|
||||
|
||||
using MudBlazor;
|
||||
|
||||
namespace AIStudio.Provider;
|
||||
|
||||
/// <summary>
|
||||
@ -19,7 +22,45 @@ public interface IProvider
|
||||
/// </summary>
|
||||
public string InstanceName { get; set; }
|
||||
|
||||
public IAsyncEnumerable<string> GetChatCompletion(IJSRuntime jsRuntime, SettingsManager settings, Model chatModel, Thread chatThread);
|
||||
/// <summary>
|
||||
/// Starts a chat completion stream.
|
||||
/// </summary>
|
||||
/// <param name="jsRuntime">The JS runtime to access the Rust code.</param>
|
||||
/// <param name="settings">The settings manager to access the API key.</param>
|
||||
/// <param name="chatModel">The model to use for chat completion.</param>
|
||||
/// <param name="chatThread">The chat thread to continue.</param>
|
||||
/// <param name="token">The cancellation token.</param>
|
||||
/// <returns>The chat completion stream.</returns>
|
||||
public IAsyncEnumerable<string> StreamChatCompletion(IJSRuntime jsRuntime, SettingsManager settings, Model chatModel, ChatThread chatThread, CancellationToken token = default);
|
||||
|
||||
public Task<IList<Model>> GetModels(IJSRuntime jsRuntime, SettingsManager settings);
|
||||
/// <summary>
|
||||
/// Starts an image completion stream.
|
||||
/// </summary>
|
||||
/// <param name="jsRuntime">The JS runtime to access the Rust code.</param>
|
||||
/// <param name="settings">The settings manager to access the API key.</param>
|
||||
/// <param name="imageModel">The model to use for image completion.</param>
|
||||
/// <param name="promptPositive">The positive prompt.</param>
|
||||
/// <param name="promptNegative">The negative prompt.</param>
|
||||
/// <param name="referenceImageURL">The reference image URL.</param>
|
||||
/// <param name="token">The cancellation token.</param>
|
||||
/// <returns>The image completion stream.</returns>
|
||||
public IAsyncEnumerable<ImageURL> StreamImageCompletion(IJSRuntime jsRuntime, SettingsManager settings, Model imageModel, string promptPositive, string promptNegative = FilterOperator.String.Empty, ImageURL referenceImageURL = default, CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Load all possible text models that can be used with this provider.
|
||||
/// </summary>
|
||||
/// <param name="jsRuntime">The JS runtime to access the Rust code.</param>
|
||||
/// <param name="settings">The settings manager to access the API key.</param>
|
||||
/// <param name="token">The cancellation token.</param>
|
||||
/// <returns>The list of text models.</returns>
|
||||
public Task<IList<Model>> GetTextModels(IJSRuntime jsRuntime, SettingsManager settings, CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Load all possible image models that can be used with this provider.
|
||||
/// </summary>
|
||||
/// <param name="jsRuntime">The JS runtime to access the Rust code.</param>
|
||||
/// <param name="settings">The settings manager to access the API key.</param>
|
||||
/// <param name="token">The cancellation token.</param>
|
||||
/// <returns>The list of image models.</returns>
|
||||
public Task<IList<Model>> GetImageModels(IJSRuntime jsRuntime, SettingsManager settings, CancellationToken token = default);
|
||||
}
|
Loading…
Reference in New Issue
Block a user