From 3b195c05397c583b6a0a37a9e5d98ae638d966fb Mon Sep 17 00:00:00 2001 From: Sichan Yoo Date: Mon, 14 Apr 2025 13:22:53 -0700 Subject: [PATCH 1/4] Add integration test for AWSBedrockRuntime::InvokeModelWithBidirectionalStream API. --- IntegrationTests/Package.swift | 1 + ...vokeModelWithBidirectionalStreamTest.swift | 233 ++++++++++++++++++ .../Resources/japan16k.raw | Bin 0 -> 114534 bytes 3 files changed, 234 insertions(+) create mode 100644 IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift create mode 100644 IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/Resources/japan16k.raw diff --git a/IntegrationTests/Package.swift b/IntegrationTests/Package.swift index 539fbfa6c64..4b9754ab6d7 100644 --- a/IntegrationTests/Package.swift +++ b/IntegrationTests/Package.swift @@ -59,6 +59,7 @@ private var integrationTestTargets: [Target] { "AWSSTS", "AWSTranscribeStreaming", "AWSCognitoIdentity", + "AWSBedrockRuntime", ].map { integrationTestTarget($0) } return integrationTests + [.target(name: "AWSIntegrationTestUtils", path: "./AWSIntegrationTestUtils")] } diff --git a/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift new file mode 100644 index 00000000000..7062cca1dfd --- /dev/null +++ b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift @@ -0,0 +1,233 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import AWSBedrockRuntime +import AWSClientRuntime +import ClientRuntime +import Smithy +import XCTest + +class InvokeModelWithBidirectionalStreamTest: XCTestCase { + private var client: BedrockRuntimeClient! + private let region = "us-east-1" + private var requestEvents: [String] = [] + private let modelID: String = "amazon.nova-sonic-v1:0" + + // The two end events required to close the stream successfully. + private let CONTENT_END_EVENT = + """ + { + "event": { + "contentEnd": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "b3917935-2398-4889-94a8-e677f6c3e351" + } + } + } + """ + private let PROMPT_END_EVENT = + """ + { + "event": { + "promptEnd": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "b3917935-2398-4889-94a8-e677f6c3e351" + } + } + } + """ + + override func setUp() async throws { + let PREAMBLE_EVENTS: [String] = [ + // Start Session. + """ + { + "event": { + "sessionStart": { + "inferenceConfiguration": { + "maxTokens": 10000, + "topP": 0.95, + "temperature": 0.9 + } + } + } + } + """, + // Start Prompt. + """ + { + "event": { + "promptStart": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "textOutputConfiguration": { + "mediaType": "text/plain" + }, + "audioOutputConfiguration": { + "mediaType": "audio/lpcm", + "sampleRateHertz": 24000, + "sampleSizeBits": 16, + "channelCount": 1, + "voiceId": "en_us_matthew", + "encoding": "base64", + "audioType": "SPEECH" + }, + "toolUseOutputConfiguration": { + "mediaType": "application/json" + }, + "toolConfiguration": { + "tools": [] + } + } + } + } + """, + // Start Content. + """ + { + "event": { + "contentStart": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "a6431ef2-e23c-4f8c-a552-3f308629d3c3", + "type": "TEXT", + "interactive": true, + "textInputConfiguration": { + "mediaType": "text/plain" + } + } + } + } + """, + // System Setup. + """ + { + "event": { + "textInput": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "a6431ef2-e23c-4f8c-a552-3f308629d3c3", + "content": "You are a friend. The user and you will engage in a spoken dialog exchanging the transcripts of a natural real-time conversation. Keep your responses short, generally two or three sentences for chatty scenarios.", + "role": "SYSTEM" + } + } + } + """, + // End System Setup. + """ + { + "event": { + "contentEnd": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "a6431ef2-e23c-4f8c-a552-3f308629d3c3" + } + } + } + """, + // Start Audio Stream. + """ + { + "event": { + "contentStart": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "b3917935-2398-4889-94a8-e677f6c3e351", + "type": "AUDIO", + "interactive": true, + "audioInputConfiguration": { + "mediaType": "audio/lpcm", + "sampleRateHertz": 16000, + "sampleSizeBits": 16, + "channelCount": 1, + "audioType": "SPEECH", + "encoding": "base64" + } + } + } + } + """ + ] + + // Individual audio events. + // Contains "%@" which is a formatter string that will be replaced by + // the Base64-encoded audio content. + let AUDIO_EVENT = + """ + { + "event": { + "audioInput": { + "promptName": "126680f5-5859-4d15-ae70-488de4146484", + "contentName": "b3917935-2398-4889-94a8-e677f6c3e351", + "content": "%@", + "role": "USER" + } + } + } + """ + + // First append preamble (setup) events. + requestEvents.append(contentsOf: PREAMBLE_EVENTS) + + // Then, parse audio file into separate events and append them to list of events. + guard let audioURL = Bundle.module.url(forResource: "japan16k", withExtension: "raw") else { + throw ClientError.dataNotFound("Audio file not found.") + } + let audioData = try Data(contentsOf: audioURL) + let chunkSize = 1024 + let totalSize = audioData.count + var offset = 0 + + while offset < totalSize { + let end = min(offset + chunkSize, totalSize) + let chunk = audioData.subdata(in: offset.. + let continuation: AsyncThrowingStream.Continuation + (inputStream, continuation) = AsyncThrowingStream.makeStream() + + // Start up background task that feeds events to the stream. + Task { + for event in requestEvents { + let currentEvent = BedrockRuntimeClientTypes.InvokeModelWithBidirectionalStreamInput.chunk( + BedrockRuntimeClientTypes.BidirectionalInputPayloadPart(bytes: event.data(using: .utf8)) + ) + // Put 0.5 second delays to simulate real time events. + try await Task.sleep(nanoseconds: UInt64(500_000_000)) + continuation.yield(currentEvent) + } + continuation.yield(BedrockRuntimeClientTypes.InvokeModelWithBidirectionalStreamInput.chunk( + BedrockRuntimeClientTypes.BidirectionalInputPayloadPart(bytes: CONTENT_END_EVENT.data(using: .utf8)) + )) + continuation.yield(BedrockRuntimeClientTypes.InvokeModelWithBidirectionalStreamInput.chunk( + BedrockRuntimeClientTypes.BidirectionalInputPayloadPart(bytes: PROMPT_END_EVENT.data(using: .utf8)) + )) + continuation.finish() + } + + // Create BedrockRuntime client. + let bedrock = try BedrockRuntimeClient(region: region) + + // Call the `invokeModelWithBidirectionalStream` API. + let resp = try await bedrock.invokeModelWithBidirectionalStream(input: InvokeModelWithBidirectionalStreamInput( + body: inputStream, + modelId: modelID + )) + + // Iterate on the returned output stream for output events. + for try await output in resp.body! { + switch output { + case .chunk(let output): + XCTAssertTrue(output.bytes != nil && !output.bytes!.isEmpty) + case .sdkUnknown(let str): + throw ClientError.unknownError(str) + } + } + } +} diff --git a/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/Resources/japan16k.raw b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/Resources/japan16k.raw new file mode 100644 index 0000000000000000000000000000000000000000..8ac70688ba9462204cceea82bb7d68792d6211f3 GIT binary patch literal 114534 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 literal 0 HcmV?d00001 From 7068e53640470b438ed01e0c3676119751a5f82f Mon Sep 17 00:00:00 2001 From: Sichan Yoo Date: Mon, 14 Apr 2025 13:38:45 -0700 Subject: [PATCH 2/4] Add AWSBedrockRuntime to list of services generated during integration test CI. --- scripts/integration-test-sdk.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/integration-test-sdk.properties b/scripts/integration-test-sdk.properties index b7b124dcc5e..81a13ee776a 100644 --- a/scripts/integration-test-sdk.properties +++ b/scripts/integration-test-sdk.properties @@ -1,2 +1,2 @@ # Only include services needed for running integration tests -onlyIncludeModels=kinesis,s3,sso-admin,transcribe-streaming,sqs,mediaconvert,sts,cognito-identity,iam,ec2,ecs,cloudwatch-logs,s3-control,eventbridge,cloudfront,cloudfront-keyvaluestore,route-53,glacier,dynamodb +onlyIncludeModels=kinesis,s3,sso-admin,transcribe-streaming,sqs,mediaconvert,sts,cognito-identity,iam,ec2,ecs,cloudwatch-logs,s3-control,eventbridge,cloudfront,cloudfront-keyvaluestore,route-53,glacier,dynamodb,bedrock-runtime From f72685456d29bd4f227f0d55d567f48b41fd8581 Mon Sep 17 00:00:00 2001 From: Sichan Yoo Date: Mon, 14 Apr 2025 14:09:48 -0700 Subject: [PATCH 3/4] Add AWSBedrockRuntime test target to IntegTest XCTestPlan used by GitHub CI. --- .../XCTestPlans/AWSIntegrationTestsOnCI.xctestplan | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/IntegrationTests/XCTestPlans/AWSIntegrationTestsOnCI.xctestplan b/IntegrationTests/XCTestPlans/AWSIntegrationTestsOnCI.xctestplan index 24326dba6d3..fa6ca804943 100644 --- a/IntegrationTests/XCTestPlans/AWSIntegrationTestsOnCI.xctestplan +++ b/IntegrationTests/XCTestPlans/AWSIntegrationTestsOnCI.xctestplan @@ -111,6 +111,13 @@ "identifier" : "AWSEventBridgeIntegrationTests", "name" : "AWSEventBridgeIntegrationTests" } + }, + { + "target" : { + "containerPath" : "container:", + "identifier" : "AWSBedrockRuntimeIntegrationTests", + "name" : "AWSBedrockRuntimeIntegrationTests" + } } ], "version" : 1 From 0472b768afa3e3f209d518eeaac472440d3dc677 Mon Sep 17 00:00:00 2001 From: Sichan Yoo Date: Wed, 16 Apr 2025 10:34:06 -0700 Subject: [PATCH 4/4] Run integ test only in apple platforms. --- .../InvokeModelWithBidirectionalStreamTest.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift index 7062cca1dfd..bc80c5baf79 100644 --- a/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift +++ b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift @@ -186,6 +186,10 @@ class InvokeModelWithBidirectionalStreamTest: XCTestCase { } } + // Temporarily disabled for Linux which uses CRT HTTP client. + // Enabling in Linux is pending either service side fix or SDK side workaround for allowing + // END_STREAM HTTP2 frame with empty contents. + #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) func testInvokeModelWithBidirectionalStream() async throws { // Initialize input stream & continuation for the API input. let inputStream: AsyncThrowingStream @@ -230,4 +234,5 @@ class InvokeModelWithBidirectionalStreamTest: XCTestCase { } } } + #endif }