Contoh Amazon Bedrock Runtime menggunakan SDK untuk Kotlin - AWS SDK untuk Kotlin

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 Kotlin

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS SDK untuk Kotlin 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 Kotlin
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.

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.ConverseRequest import aws.sdk.kotlin.services.bedrockruntime.model.Message /** * This example demonstrates how to use the Amazon Nova foundation models to generate text. * It shows how to: * - Set up the Amazon Bedrock runtime client * - Create a message * - Configure and send a request * - Process the response */ suspend fun main() { converse().also { println(it) } } suspend fun converse(): String { // 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 one line." val message = Message { role = ConversationRole.User content = listOf(ContentBlock.Text(prompt)) } // Configure the request with optional model parameters val request = ConverseRequest { 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 } } // Send the request and process the model's response runCatching { val response = client.converse(request) return response.output!!.asMessage().content.first().asText() }.getOrElse { 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) } } }
  • Untuk detail API, lihat Converse in AWS SDK untuk referensi API Kotlin.

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

SDK untuk Kotlin
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.

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() }
  • Untuk detail API, lihat ConverseStreamdi AWS SDK untuk referensi API Kotlin.