本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 SDK for PHP 的 Amazon Bedrock 运行时系统示例
以下代码示例向您展示了如何使用 适用于 PHP 的 AWS SDK 与 Amazon Bedrock Runtime 配合使用来执行操作和实现常见场景。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
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 Reference》中的 Converse。
-
Stable Image Core
以下代码示例展示了如何在 Amazon Bedrock 上调用 St Stability.ai able Image Core 来生成图像。
- 适用于 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中的。
-