Table of Contents

Interface IAIService

Namespace
Mythosia.AI.Services
Assembly
Mythosia.AI.Abstractions.dll

Core abstraction for AI completion and streaming services. Implement this interface to create custom AI service providers.

public interface IAIService

Properties

ActivateChat

The currently active chat block containing conversation history.

ChatBlock ActivateChat { get; }

Property Value

ChatBlock

Model

The AI model identifier currently in use.

string Model { get; }

Property Value

string

Provider

The AI provider name (e.g., "OpenAI", "Anthropic").

string Provider { get; }

Property Value

string

StatelessMode

When true, each request is processed independently without maintaining conversation history.

bool StatelessMode { get; set; }

Property Value

bool

SystemMessage

System message for the active chat.

string SystemMessage { get; set; }

Property Value

string

Methods

GetCompletionAsync(Message, AIRequestProfile?, AIRequestContext?)

Task<string> GetCompletionAsync(Message message, AIRequestProfile? profile = null, AIRequestContext? context = null)

Parameters

message Message
profile AIRequestProfile
context AIRequestContext

Returns

Task<string>

GetCompletionAsync(string, AIRequestProfile?, AIRequestContext?)

Task<string> GetCompletionAsync(string prompt, AIRequestProfile? profile = null, AIRequestContext? context = null)

Parameters

prompt string
profile AIRequestProfile
context AIRequestContext

Returns

Task<string>

StreamAsync(Message, AIRequestContext?, CancellationToken)

IAsyncEnumerable<string> StreamAsync(Message message, AIRequestContext? context = null, CancellationToken cancellationToken = default)

Parameters

message Message
context AIRequestContext
cancellationToken CancellationToken

Returns

IAsyncEnumerable<string>

StreamAsync(Message, StreamOptions, AIRequestContext?, CancellationToken)

IAsyncEnumerable<StreamingContent> StreamAsync(Message message, StreamOptions options, AIRequestContext? context = null, CancellationToken cancellationToken = default)

Parameters

message Message
options StreamOptions
context AIRequestContext
cancellationToken CancellationToken

Returns

IAsyncEnumerable<StreamingContent>

StreamAsync(string, StreamOptions, CancellationToken)

IAsyncEnumerable<StreamingContent> StreamAsync(string prompt, StreamOptions options, CancellationToken cancellationToken = default)

Parameters

prompt string
options StreamOptions
cancellationToken CancellationToken

Returns

IAsyncEnumerable<StreamingContent>

StreamAsync(string, CancellationToken)

IAsyncEnumerable<string> StreamAsync(string prompt, CancellationToken cancellationToken = default)

Parameters

prompt string
cancellationToken CancellationToken

Returns

IAsyncEnumerable<string>