using AI.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace AI.Interface { public interface IChatBackend { /// /// 向模型发送自然语言请求。发给 LLM 的历史由 session.GetHistoryForLlm(guidePrompt) 从会话存储生成。 /// /// 用户消息 /// 聊天会话。如果为 null,将创建新的会话。 /// 可选 System 引导词;若提供则在生成的 History 开头插入 /// 取消令牌,用于取消请求或配合超时 /// 模型的响应文本 Task AskAsync(string userMessage, ChatSession? session = null, string? guidePrompt = null, CancellationToken cancellationToken = default); /// /// 流式向模型发送自然语言请求。发给 LLM 的历史由 session.GetHistoryForLlm(guidePrompt) 从会话存储生成。 /// /// 用户消息 /// 聊天会话。如果为 null,将创建新的会话。 /// 可选 System 引导词 /// 取消令牌,用于取消请求或配合超时 /// 流式返回模型的响应文本片段 IAsyncEnumerable AskStreamAsync(string userMessage, ChatSession? session = null, string? guidePrompt = null, CancellationToken cancellationToken = default); } }