@@ -77,31 +77,9 @@ extension BedrockService {
7777 quality: quality,
7878 resolution: resolution
7979 )
80- let input : InvokeModelInput = try request. getInvokeModelInput ( )
81- logger. trace (
82- " Sending request to invokeModel " ,
83- metadata: [
84- " model " : . string( model. id) , " request " : . string( String ( describing: input) ) ,
85- ]
86- )
87- let response = try await self . bedrockRuntimeClient. invokeModel ( input: input)
88- guard let responseBody = response. body else {
89- logger. trace (
90- " Invalid response " ,
91- metadata: [
92- " response " : . string( String ( describing: response) ) ,
93- " hasBody " : . stringConvertible( response. body != nil ) ,
94- ]
95- )
96- throw BedrockLibraryError . invalidSDKResponse (
97- " Something went wrong while extracting body from response. "
98- )
99- }
100- let invokemodelResponse : InvokeModelResponse = try InvokeModelResponse . createImageResponse (
101- body: responseBody,
102- model: model
103- )
104- return try invokemodelResponse. getGeneratedImage ( )
80+
81+ return try await sendRequest ( request: request, model: model)
82+
10583 } catch {
10684 try handleCommonError ( error, context: " listing foundation models " )
10785 }
@@ -174,7 +152,15 @@ extension BedrockService {
174152 quality: quality,
175153 resolution: resolution
176154 )
177- let input : InvokeModelInput = try request. getInvokeModelInput ( )
155+ return try await sendRequest ( request: request, model: model)
156+ } catch {
157+ try handleCommonError ( error, context: " listing foundation models " )
158+ }
159+ }
160+
161+ /// Sends the request to invoke the model and returns the generated image(s)
162+ private func sendRequest( request: InvokeModelRequest , model: BedrockModel ) async throws -> ImageGenerationOutput {
163+ let input : InvokeModelInput = try request. getInvokeModelInput ( forRegion: self . region)
178164 logger. trace (
179165 " Sending request to invokeModel " ,
180166 metadata: [
@@ -199,9 +185,6 @@ extension BedrockService {
199185 model: model
200186 )
201187 return try invokemodelResponse. getGeneratedImage ( )
202- } catch {
203- try handleCommonError ( error, context: " listing foundation models " )
204- }
205188 }
206189
207190 /// Generates 1 to 5 image variation(s) from reference images and a text prompt using a specific model
0 commit comments