文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 PHP 的 SDK 的 Amazon Bedrock 執行時期範例
下列程式碼範例示範如何使用 適用於 PHP 的 AWS SDK 搭配 Amazon Bedrock 執行期來執行動作和實作常見案例。
每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。
Amazon Nova
下列程式碼範例示範如何使用 Bedrock 的 Converse API,將文字訊息傳送至 Amazon Nova。
- 適用於 PHP 的 SDK
-
注意
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 詳細資訊,請參閱《適用於 PHP 的 AWS SDK API 參考》中的 Converse。
-
Stable Image Core
下列程式碼範例示範如何在 Amazon Bedrock 上叫用 Stability.ai 穩定映像核心來產生映像。
- 適用於 PHP 的 SDK
-
注意
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 詳細資訊,請參閱《適用於 PHP 的 AWS SDK API 參考》中的 InvokeModel。
-