Split out worker related things to a separate service definition.

This commit is contained in:
2023-05-08 22:12:24 -07:00
parent ace2c07aa1
commit 2e5a37ea4b
28 changed files with 1271 additions and 359 deletions

View File

@ -9,7 +9,11 @@ struct StableDiffusionClient {
let channel: GRPCChannel
let modelService: SdModelServiceAsyncClient
let hostModelService: SdHostModelServiceAsyncClient
let imageGenerationService: SdImageGenerationServiceAsyncClient
let tokenizerService: SdTokenizerServiceAsyncClient
let jobService: SdJobServiceAsyncClient
let serverMetadataService: SdServerMetadataServiceAsyncClient
init(connectionTarget: ConnectionTarget, transportSecurity: GRPCChannelPool.Configuration.TransportSecurity) throws {
group = PlatformSupport.makeEventLoopGroup(loopCount: 1)
@ -21,7 +25,11 @@ struct StableDiffusionClient {
)
modelService = SdModelServiceAsyncClient(channel: channel)
hostModelService = SdHostModelServiceAsyncClient(channel: channel)
imageGenerationService = SdImageGenerationServiceAsyncClient(channel: channel)
tokenizerService = SdTokenizerServiceAsyncClient(channel: channel)
jobService = SdJobServiceAsyncClient(channel: channel)
serverMetadataService = SdServerMetadataServiceAsyncClient(channel: channel)
}
func close() async throws {

View File

@ -11,7 +11,7 @@ Task { @MainActor in
let modelListResponse = try await client.modelService.listModels(.init())
print("Loading random model...")
let modelInfo = modelListResponse.availableModels.randomElement()!
_ = try await client.modelService.loadModel(.with { request in
_ = try await client.hostModelService.loadModel(.with { request in
request.modelName = modelInfo.name
})
print("Loaded random model.")