AWS code-library documentation change
Summary
Added Swift SDK example for ConverseStream API with real-time streaming
Security assessment
Added code example demonstrates normal API usage without addressing security controls or vulnerabilities
Diff
diff --git a/code-library/latest/ug/bedrock-runtime_example_bedrock-runtime_ConverseStream_AnthropicClaude_section.md b/code-library/latest/ug/bedrock-runtime_example_bedrock-runtime_ConverseStream_AnthropicClaude_section.md index e7e5be852..e7f846b60 100644 --- a//code-library/latest/ug/bedrock-runtime_example_bedrock-runtime_ConverseStream_AnthropicClaude_section.md +++ b//code-library/latest/ug/bedrock-runtime_example_bedrock-runtime_ConverseStream_AnthropicClaude_section.md @@ -451,0 +452,83 @@ Use statements, Error utility, and constants. +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 Anthropic Claude, 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 Anthropic Claude 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 = "anthropic.claude-3-haiku-20240307-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("\nAnthropic Claude:") + + 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_. + + + +