Contoh Amazon Bedrock Runtime menggunakan SDK untuk Swift - AWS Contoh Kode SDK

Ada lebih banyak contoh AWS SDK yang tersedia di repo Contoh SDK AWS Doc. GitHub

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh Amazon Bedrock Runtime menggunakan SDK untuk Swift

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS SDK untuk Swift dengan Amazon Bedrock Runtime.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Amazon Nova

Contoh kode berikut menunjukkan cara mengirim pesan teks ke Amazon Nova, menggunakan API Converse Bedrock.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Kirim pesan teks ke Amazon Nova, menggunakan API Converse Bedrock.

// An example demonstrating how to use the Conversation API to send // a text message to Amazon Nova. import AWSBedrockRuntime func converse(_ textPrompt: String) async throws -> String { // 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-micro-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 ConverseInput to send to the model let input = ConverseInput( inferenceConfig: inferenceConfig, messages: [message], modelId: modelId) // Send the ConverseInput to the model let response = try await client.converse(input: input) // Extract and return the response text. if case let .message(msg) = response.output { if case let .text(textResponse) = msg.content![0] { return textResponse } else { return "No text response found in message content" } } else { return "No message found in converse output" } }
  • Untuk detail API, lihat Converse di AWS SDK untuk referensi Swift API.

Contoh kode berikut menunjukkan cara mengirim pesan teks ke Amazon Nova, menggunakan API Converse Bedrock dan memproses aliran respons secara real-time.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Kirim pesan teks ke Amazon Nova, menggunakan API Converse Bedrock dan proses aliran respons secara 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 } } }

Amazon Nova Reel

Contoh kode berikut menunjukkan cara menggunakan Amazon Nova Reel untuk menghasilkan video dari prompt teks.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Gunakan Amazon Nova Reel untuk menghasilkan video dari prompt teks.

// This example demonstrates how to use Amazon Nova Reel to generate a video from a text prompt. // It shows how to: // - Set up the Amazon Bedrock runtime client // - Configure a text-to-video request // - Submit an asynchronous job for video generation // - Poll for job completion status // - Access the generated video from S3 import AWSBedrockRuntime import Foundation import Smithy func startTextToVideoGenerationJob( bedrockRuntimeClient: BedrockRuntimeClient, prompt: String, outputS3Uri: String ) async throws -> String? { // Specify the model ID for text-to-video generation let modelId = "amazon.nova-reel-v1:0" // Configure the video generation request with additional parameters let modelInputSource: [String: Any] = [ "taskType": "TEXT_VIDEO", "textToVideoParams": [ "text": "\(prompt)" ], "videoGenerationConfig": [ "durationSeconds": 6, "fps": 24, "dimension": "1280x720", ], ] let modelInput = try Document.make(from: modelInputSource) let input = StartAsyncInvokeInput( modelId: modelId, modelInput: modelInput, outputDataConfig: .s3outputdataconfig( BedrockRuntimeClientTypes.AsyncInvokeS3OutputDataConfig( s3Uri: outputS3Uri ) ) ) // Invoke the model asynchronously let output = try await bedrockRuntimeClient.startAsyncInvoke(input: input) return output.invocationArn } func queryJobStatus( bedrockRuntimeClient: BedrockRuntimeClient, invocationArn: String? ) async throws -> GetAsyncInvokeOutput { try await bedrockRuntimeClient.getAsyncInvoke( input: GetAsyncInvokeInput(invocationArn: invocationArn)) } func main() async throws { // Create a Bedrock Runtime client let config = try await BedrockRuntimeClient.BedrockRuntimeClientConfiguration( region: "us-east-1" ) let client = BedrockRuntimeClient(config: config) // Specify the S3 location for the output video let bucket = "s3://REPLACE-WITH-YOUR-S3-BUCKET-NAM" print("Submitting video generation job...") let invocationArn = try await startTextToVideoGenerationJob( bedrockRuntimeClient: client, prompt: "A pomegranate juice in a railway station", outputS3Uri: bucket ) print("Job started with invocation ARN: \(String(describing:invocationArn))") // Poll for job completion var status: BedrockRuntimeClientTypes.AsyncInvokeStatus? var isReady = false var hasFailed = false while !isReady && !hasFailed { print("\nPolling job status...") status = try await queryJobStatus( bedrockRuntimeClient: client, invocationArn: invocationArn ).status switch status { case .completed: isReady = true print("Video is ready\nCheck S3 bucket: \(bucket)") case .failed: hasFailed = true print("Something went wrong") case .inProgress: print("Job is in progress...") try await Task.sleep(nanoseconds: 15 * 1_000_000_000) // 15 seconds default: isReady = true } } } do { try await main() } catch { print("An error occurred: \(error)") }

Antropik Claude

Contoh kode berikut menunjukkan cara mengirim pesan teks ke Anthropic Claude, menggunakan API Converse Bedrock.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Kirim pesan teks ke Anthropic Claude, menggunakan API Converse Bedrock.

// An example demonstrating how to use the Conversation API to send // a text message to Anthropic Claude. import AWSBedrockRuntime func converse(_ textPrompt: String) async throws -> String { // 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 ConverseInput to send to the model let input = ConverseInput( inferenceConfig: inferenceConfig, messages: [message], modelId: modelId) // Send the ConverseInput to the model let response = try await client.converse(input: input) // Extract and return the response text. if case let .message(msg) = response.output { if case let .text(textResponse) = msg.content![0] { return textResponse } else { return "No text response found in message content" } } else { return "No message found in converse output" } }
  • Untuk detail API, lihat Converse di AWS SDK untuk referensi Swift API.

Contoh kode berikut menunjukkan cara mengirim pesan teks ke Anthropic Claude, menggunakan API Converse Bedrock dan memproses aliran respons secara real-time.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Kirim pesan teks ke Anthropic Claude, menggunakan API Converse Bedrock dan proses aliran respons secara 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 } } }

Meta Llama

Contoh kode berikut menunjukkan cara mengirim pesan teks ke Meta Llama, menggunakan API Converse Bedrock.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Kirim pesan teks ke Meta Llama, menggunakan API Converse Bedrock.

// An example demonstrating how to use the Conversation API to send // a text message to Meta Llama. import AWSBedrockRuntime func converse(_ textPrompt: String) async throws -> String { // 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 = "meta.llama3-8b-instruct-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 ConverseInput to send to the model let input = ConverseInput( inferenceConfig: inferenceConfig, messages: [message], modelId: modelId) // Send the ConverseInput to the model let response = try await client.converse(input: input) // Extract and return the response text. if case let .message(msg) = response.output { if case let .text(textResponse) = msg.content![0] { return textResponse } else { return "No text response found in message content" } } else { return "No message found in converse output" } }
  • Untuk detail API, lihat Converse di AWS SDK untuk referensi Swift API.

Contoh kode berikut menunjukkan cara mengirim pesan teks ke Meta Llama, menggunakan API Converse Bedrock dan memproses aliran respons secara real-time.

SDK untuk Swift
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Kirim pesan teks ke Meta Llama, menggunakan API Converse Bedrock dan proses aliran respons secara real-time.

// An example demonstrating how to use the Conversation API to send a text message // to Meta Llama 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 = "meta.llama3-8b-instruct-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("\nMeta Llama:") case .contentblockdelta(let deltaEvent): if case .text(let text) = deltaEvent.delta { print(text, terminator: "") } default: break } } }