-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathIAIChatService.cs
More file actions
31 lines (28 loc) · 1.12 KB
/
IAIChatService.cs
File metadata and controls
31 lines (28 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using ModelContextProtocol.Client;
using OpenAI.Responses;
namespace EssentialCSharp.Chat.Common.Services;
public interface IAIChatService
{
Task<(string response, string responseId)> GetChatCompletion(
string prompt,
string? systemPrompt = null,
string? previousResponseId = null,
IMcpClient? mcpClient = null,
#pragma warning disable OPENAI001
IEnumerable<ResponseTool>? tools = null,
ResponseReasoningEffortLevel? reasoningEffortLevel = null,
#pragma warning restore OPENAI001
bool enableContextualSearch = false,
CancellationToken cancellationToken = default);
IAsyncEnumerable<(string text, string? responseId)> GetChatCompletionStream(
string prompt,
string? systemPrompt = null,
string? previousResponseId = null,
IMcpClient? mcpClient = null,
#pragma warning disable OPENAI001
IEnumerable<ResponseTool>? tools = null,
ResponseReasoningEffortLevel? reasoningEffortLevel = null,
#pragma warning restore OPENAI001
bool enableContextualSearch = false,
CancellationToken cancellationToken = default);
}