View a markdown version of this page

SDK for PHP を使用した Amazon Bedrock ランタイムの例 - AWS SDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SDK for PHP を使用した Amazon Bedrock ランタイムの例

次のコード例は、Amazon Bedrock ランタイム AWS SDK for PHP で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

各例には完全なソースコードへのリンクが含まれており、コンテキスト内でコードを設定および実行する方法の手順を確認できます。

Amazon Nova

次のコード例は、Bedrock の Converse API を使用して Amazon Nova にテキストメッセージを送信する方法を示しています。

SDK for PHP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

Bedrock の Converse API を使用して Amazon Nova にテキストメッセージを送信します。

// Use the Conversation API to send a text message to Amazon Nova. use Aws\BedrockRuntime\BedrockRuntimeClient; use Aws\Exception\AwsException; use RuntimeException; class Converse { public function converse(): string { // Create a Bedrock Runtime client in the AWS Region you want to use. $client = new BedrockRuntimeClient([ 'region' => 'us-east-1', 'profile' => 'default' ]); // Set the model ID, e.g., Amazon Nova Lite. $modelId = 'amazon.nova-lite-v1:0'; // Start a conversation with the user message. $userMessage = "Describe the purpose of a 'hello world' program in one line."; $conversation = [ [ "role" => "user", "content" => [["text" => $userMessage]] ] ]; try { // Send the message to the model, using a basic inference configuration. $response = $client->converse([ 'modelId' => $modelId, 'messages' => $conversation, 'inferenceConfig' => [ 'maxTokens' => 512, 'temperature' => 0.5 ] ]); // Extract and return the response text. $responseText = $response['output']['message']['content'][0]['text']; return $responseText; } catch (AwsException $e) { echo "ERROR: Can't invoke {$modelId}. Reason: {$e->getAwsErrorMessage()}"; throw new RuntimeException("Failed to invoke model: " . $e->getAwsErrorMessage(), 0, $e); } } } $demo = new Converse(); echo $demo->converse();
  • API の詳細については、AWS SDK for PHP API リファレンスの「Converse」を参照してください。

Stable Image Core

次のコード例は、Amazon Bedrock で Stability.ai Stable Image Core を呼び出してイメージを生成する方法を示しています。

SDK for PHP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

Stable Diffusion で画像を作成します。

public function invokeStableDiffusion(string $prompt, int $seed = 0, string $aspect_ratio = '1:1') { // The different model providers have individual request and response formats. // For the format, ranges, and available parameters of Stable Diffusion models refer to: // https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-stability-diffusion.html $base64_image_data = ""; try { $modelId = 'stability.stable-image-core-v1:1'; $body = [ 'prompt' => $prompt, 'aspect_ratio' => $aspect_ratio, 'seed' => $seed, 'output_format' => 'png', ]; $result = $this->bedrockRuntimeClient->invokeModel([ 'contentType' => 'application/json', 'body' => json_encode($body), 'modelId' => $modelId, ]); $response_body = json_decode($result['body']); $base64_image_data = $response_body->images[0]; } catch (Exception $e) { echo "Error: ({$e->getCode()}) - {$e->getMessage()}\n"; } return $base64_image_data; }
  • API の詳細については、「AWS SDK for PHP API リファレンス」の「InvokeModel」を参照してください。