namespace OASystem.API.OAMethodLib.DeepSeekAPI { /// /// DeepSeek API 服务接口 /// public interface IDeepSeekService { /// /// 测试API连通性 /// /// Task TestApiConnectivityAsync(); /// /// 检查可用端点 /// /// Task> DiscoverAvailableEndpointsAsync(); /// /// 上传文件到DeepSeek API /// /// 要上传的文件 /// 文件用途 /// 文件上传响应 Task UploadFileAsync(IFormFile file, string purpose = "assistants"); /// /// 批量上传文件 /// /// 文件列表 /// 文件用途 /// 上传结果列表 Task> UploadFilesAsync(List files, string purpose = "assistants"); /// /// 获取文件列表 /// /// 文件列表响应 Task ListFilesAsync(); /// /// 获取文件信息 /// /// 文件ID /// 文件信息 Task GetFileInfoAsync(string fileId); /// /// 删除文件 /// /// 文件ID /// 是否删除成功 Task DeleteFileAsync(string fileId); /// /// 使用已上传的文件进行聊天 /// /// 文件ID列表 /// 问题 /// 模型名称 /// 温度参数 /// 最大token数 /// 聊天响应 Task ChatWithFilesAsync(List fileIds, string question, string model = "deepseek-chat", float temperature = 0.7f, int maxTokens = 4000); /// /// 等待文件处理完成 /// /// 文件ID /// 超时时间(秒) /// 处理后的文件状态 Task WaitForFileProcessingAsync(string fileId, int timeoutSeconds = 60); #region 本地项目相关 /// /// 读取项目内的指定文件并转换为IFormFile /// /// 文件相对路径列表 /// 文件读取响应 Task ReadProjectFilesAsync(List relativePaths); /// /// 读取项目内指定目录的文件 /// /// 目录相对路径 /// 文件搜索模式 /// 是否递归搜索 /// 文件读取响应 Task ReadProjectDirectoryAsync(string directoryPath, string searchPattern = "*.cs", bool recursive = false); /// /// 获取项目根目录路径 /// /// 项目根目录完整路径 string GetProjectRootPath(); /// /// 检查文件是否存在 /// /// 文件相对路径 /// 是否存在 bool FileExists(string relativePath); /// /// 将物理文件转换为IFormFile /// /// 文件完整路径 /// IFormFile实例 Task ConvertToFormFileAsync(string filePath); /// /// 读取特定的签证申请表单文件 /// /// /// Task ReadVisaFormFileAsync(string fileName); /// /// 读取OASystem项目中的所有CS文件 /// Task ReadOASystemFilesAsync(string searchPattern = "*.cs", bool recursive = true); /// /// 读取指定域模型中的CS文件 /// Task ReadDomainViewModelsAsync(string searchPattern = "*.cs", bool recursive = true); /// /// 读取签证表单相关的所有CS文件 /// Task ReadVisaFormFilesAsync(string searchPattern = "*.cs", bool recursive = true); #endregion } }