AWS bedrock documentation change
Summary
Added Swift SDK code example for ConverseStream API with Amazon Nova text model, including real-time stream processing implementation.
Security assessment
The change adds a programming example without any security-specific configurations, authentication mechanisms, or security best practices. It demonstrates standard API usage rather than addressing security concerns.
Diff
diff --git a/bedrock/latest/userguide/bedrock-runtime_example_bedrock-runtime_ConverseStream_AmazonNovaText_section.md b/bedrock/latest/userguide/bedrock-runtime_example_bedrock-runtime_ConverseStream_AmazonNovaText_section.md index 8eb8858a5..9afaa7690 100644 --- a//bedrock/latest/userguide/bedrock-runtime_example_bedrock-runtime_ConverseStream_AmazonNovaText_section.md +++ b//bedrock/latest/userguide/bedrock-runtime_example_bedrock-runtime_ConverseStream_AmazonNovaText_section.md @@ -444,0 +445,83 @@ Send a text message to Amazon Nova, using Bedrock's Converse API and process the + + + + +Swift + + +**SDK for Swift** + + +###### Note + +There's more on GitHub. Find the complete example and learn how to set up and run in the [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift/example_code/bedrock-runtime#code-examples). + +Send a text message to Amazon Nova, using Bedrock's Converse API and process the response stream in real-time. + + + // An example demonstrating how to use the Conversation API to send a text message + // to Amazon Nova and print the response stream + + import AWSBedrockRuntime + + func printConverseStream(_ textPrompt: String) async throws { + + // Create a Bedrock Runtime client in the AWS Region you want to use. + let config = + try await BedrockRuntimeClient.BedrockRuntimeClientConfiguration( + region: "us-east-1" + ) + let client = BedrockRuntimeClient(config: config) + + // Set the model ID. + let modelId = "amazon.nova-lite-v1:0" + + // Start a conversation with the user message. + let message = BedrockRuntimeClientTypes.Message( + content: [.text(textPrompt)], + role: .user + ) + + // Optionally use inference parameters. + let inferenceConfig = + BedrockRuntimeClientTypes.InferenceConfiguration( + maxTokens: 512, + stopSequences: ["END"], + temperature: 0.5, + topp: 0.9 + ) + + // Create the ConverseStreamInput to send to the model. + let input = ConverseStreamInput( + inferenceConfig: inferenceConfig, messages: [message], modelId: modelId) + + // Send the ConverseStreamInput to the model. + let response = try await client.converseStream(input: input) + + // Extract the streaming response. + guard let stream = response.stream else { + print("No stream available") + return + } + + // Extract and print the streamed response text in real-time. + for try await event in stream { + switch event { + case .messagestart(_): + print("\nNova Lite:") + + case .contentblockdelta(let deltaEvent): + if case .text(let text) = deltaEvent.delta { + print(text, terminator: "") + } + + default: + break + } + } + } + + + + + * For API details, see [ConverseStream](https://sdk.amazonaws.com/swift/api/awsbedrockruntime/latest/documentation/awsbedrockruntime/bedrockruntimeclient/conversestream\(input:\)) in _AWS SDK for Swift API reference_.