diff --git a/体己/AI/LLMSession.swift b/体己/AI/LLMSession.swift index 20b6dd5..5320d84 100644 --- a/体己/AI/LLMSession.swift +++ b/体己/AI/LLMSession.swift @@ -1,7 +1,12 @@ import Foundation -import MLX -import MLXLLM -import MLXLMCommon + +// TODO: 添加 MLX 依赖后取消注释 +// import MLX +// import MLXLLM +// import MLXLMCommon + +// 临时占位符类型,等添加 MLX 依赖后删除 +#if false /// 封装 MLX 语言模型的流式生成,actor 保证单线程访问。 /// 基于 mlx-swift-examples 2.29.1(commit 9bff95ca)的 API。 @@ -65,7 +70,9 @@ actor LLMSession { break } } - MLX.GPU.synchronize() + if !Task.isCancelled { + MLX.GPU.synchronize() + } } continuation.finish() } catch { @@ -76,3 +83,23 @@ actor LLMSession { } } } + +#endif + +// 临时实现,用于编译通过 +class ModelContainer: @unchecked Sendable { + init() {} +} + +struct ModelConfiguration { + let directory: URL + init(directory: URL) { self.directory = directory } +} + +class LLMModelFactory: @unchecked Sendable { + static let shared = LLMModelFactory() + + func loadContainer(configuration: ModelConfiguration) async throws -> ModelContainer { + throw NSError(domain: "MLXNotAvailable", code: -1, userInfo: [NSLocalizedDescriptionKey: "MLX framework not available"]) + } +}