AWS Security ChangesHomeSearch

AWS bedrock documentation change

Service: bedrock · 2025-03-23 · Documentation low

File: bedrock/latest/userguide/bedrock-runtime_example_bedrock-runtime_ConverseStream_AmazonNovaText_section.md

Summary

Added Kotlin SDK code example for streaming text generation with Amazon Nova via Bedrock's ConverseStream API

Security assessment

Change adds a code example demonstrating API usage patterns but contains no security-related content, vulnerability fixes, or security feature documentation

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 26262dd6f..dec3fa964 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
@@ -292,0 +293,96 @@ Send a text message to Amazon Nova using Bedrock's Converse API and process the
+Kotlin
+    
+
+**SDK for Kotlin**
+    
+
+###### 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/kotlin/services/bedrock-runtime#code-examples). 
+
+Send a text message to Amazon Nova using Bedrock's Converse API and process the response stream in real-time.
+    
+    
+    import aws.sdk.kotlin.services.bedrockruntime.BedrockRuntimeClient
+    import aws.sdk.kotlin.services.bedrockruntime.model.ContentBlock
+    import aws.sdk.kotlin.services.bedrockruntime.model.ConversationRole
+    import aws.sdk.kotlin.services.bedrockruntime.model.ConverseStreamOutput
+    import aws.sdk.kotlin.services.bedrockruntime.model.ConverseStreamRequest
+    import aws.sdk.kotlin.services.bedrockruntime.model.Message
+    
+    /**
+     * This example demonstrates how to use the Amazon Nova foundation models
+     * to generate streaming text responses.
+     * It shows how to:
+     * - Set up the Amazon Bedrock runtime client
+     * - Create a message with a prompt
+     * - Configure a streaming request with parameters
+     * - Process the response stream in real time
+     */
+    suspend fun main() {
+        converseStream()
+    }
+    
+    suspend fun converseStream(): String {
+        // A buffer to collect the complete response
+        val completeResponseBuffer = StringBuilder()
+    
+        // Create and configure the Bedrock runtime client
+        BedrockRuntimeClient { region = "us-east-1" }.use { client ->
+    
+            // Specify the model ID. For the latest available models, see:
+            // https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html
+            val modelId = "amazon.nova-lite-v1:0"
+    
+            // Create the message with the user's prompt
+            val prompt = "Describe the purpose of a 'hello world' program in a paragraph."
+            val message = Message {
+                role = ConversationRole.User
+                content = listOf(ContentBlock.Text(prompt))
+            }
+    
+            // Configure the request with optional model parameters
+            val request = ConverseStreamRequest {
+                this.modelId = modelId
+                messages = listOf(message)
+                inferenceConfig {
+                    maxTokens = 500 // Maximum response length
+                    temperature = 0.5F // Lower values: more focused output
+                    // topP = 0.8F // Alternative to temperature
+                }
+            }
+    
+            // Process the streaming response
+            runCatching {
+                client.converseStream(request) { response ->
+                    response.stream?.collect { chunk ->
+                        when (chunk) {
+                            is ConverseStreamOutput.ContentBlockDelta -> {
+                                // Process each text chunk as it arrives
+                                chunk.value.delta?.asText()?.let { text ->
+                                    print(text)
+                                    System.out.flush() // Ensure immediate output
+                                    completeResponseBuffer.append(text)
+                                }
+                            }
+                            else -> {} // Other output block types can be handled as needed
+                        }
+                    }
+                }
+            }.onFailure { error ->
+                error.message?.let { e -> System.err.println("ERROR: Can't invoke '$modelId'. Reason: $e") }
+                throw RuntimeException("Failed to generate text with model $modelId: $error", error)
+            }
+        }
+    
+        return completeResponseBuffer.toString()
+    }
+    
+    
+    
+
+  * For API details, see [ConverseStream](https://sdk.amazonaws.com/kotlin/api/latest/index.html) in _AWS SDK for Kotlin API reference_. 
+
+
+
+