2023-04-23 18:49:52 -07:00
|
|
|
import Foundation
|
|
|
|
import GRPC
|
|
|
|
import StableDiffusionCore
|
|
|
|
import StableDiffusionProtos
|
|
|
|
|
2024-11-03 03:51:25 -05:00
|
|
|
final class TokenizerServiceProvider: SdTokenizerServiceAsyncProvider {
|
2023-04-23 18:49:52 -07:00
|
|
|
private let modelManager: ModelManager
|
|
|
|
|
|
|
|
init(modelManager: ModelManager) {
|
|
|
|
self.modelManager = modelManager
|
|
|
|
}
|
|
|
|
|
|
|
|
func tokenize(request: SdTokenizeRequest, context _: GRPCAsyncServerCallContext) async throws -> SdTokenizeResponse {
|
|
|
|
guard let state = await modelManager.getModelState(name: request.modelName) else {
|
|
|
|
throw SdCoreError.modelNotFound
|
|
|
|
}
|
|
|
|
return try await state.tokenize(request)
|
|
|
|
}
|
|
|
|
}
|