設定 Amazon Bedrock API - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 Amazon Bedrock API

本節說明如何設定環境以進行 Amazon Bedrock API 呼叫,並提供常見使用案例的範例。您可以使用 AWS Command Line Interface (AWS CLI)、 AWS SDK 或筆記本存取 Amazon 基岩 API。 SageMaker

您必須先申請存取計劃使用的基礎模型,才能存取 Amazon 基岩 API。

如需 API 操作和參數的詳細資訊,請參閱 Amazon Bedrock API 參考

以下資源提供 Amazon Bedrock API 的其他相關資訊。

新增模型存取權

重要

您必須請求存取任何基礎模型,然後才能使用該模型。如果在請求存取模型之前嘗試使用模型 (透過 API 或在主控台內),您會收到錯誤訊息。如需詳細資訊,請參閱 模型存取

Amazon Bedrock 端點

若要以程式設計方式連線到 AWS 服務,請使用端點。如需可用於 Amazon 基岩之端點的相關資訊,請參 AWS 一般參考 閱《中的 Amazon 基岩端點和配額》一章。

Amazon Bedrock 提供以下服務端點。

設定 AWS CLI 的設定

  1. 如果您打算使用 CLI,請 AWS CLI 按照安裝或更新最新版本的使用 AWS Command Line Interface 者指南中的步驟進行安裝和設定。

  2. 遵循設定中的步驟,使用 aws configure CLI 命令設定您的 AWS 認證 AWS CLI。

有關 AWS CLI 命令和操作,請參閱以下參考資料:

設定開發 AWS 套件

AWS 軟件開發套件(SDK)可用於許多流行的編程語言。每個 SDK 都提供 API、程式碼範例和說明文件,讓開發人員能夠更輕鬆地以偏好的語言建置應用程式。SDK 會自動為您執行有用的工作,例如:

  • 加密簽署您的服務請求

  • 重試請求

  • 處理錯誤回應

請參閱下表,尋找每個 SDK 的一般資訊和程式碼範例,以及每個 SDK 的 Amazon 基岩 API 參考資料。您也可以在以下位置找到程式碼範例使用 SDK 的 Amazon 基岩的代碼示例 AWS

SDK 文件 代碼範例 Amazon Bedrock 字首 Amazon Bedrock 執行期字首 適用於 Amazon Bedrock 字首的代理程式 Amazon Bedrock 執行期字首的代理程式

AWS SDK for C++

AWS SDK for C++ 程式碼範例

bedrock bedrock-runtime bedrock-agent bedrock-agent-runtime

AWS SDK for Go

AWS SDK for Go 程式碼範例

bedrock bedrockruntime bedrockagent bedrockagentruntime

AWS SDK for Java

AWS SDK for Java 程式碼範例

bedrock bedrockruntime bedrockagent bedrockagentruntime

AWS SDK for JavaScript

AWS SDK for JavaScript 程式碼範例

bedrock bedrock-runtime bedrock-agent bedrock-agent-runtime

適用於 Kotlin 的 AWS SDK

適用於 Kotlin 的 AWS SDK 程式碼範例

bedrock bedrockruntime bedrockagent bedrockagentruntime

AWS SDK for .NET

AWS SDK for .NET 程式碼範例

Bedrock BedrockRuntime BedrockAgent BedrockAgentRuntime

AWS SDK for PHP

AWS SDK for PHP 程式碼範例

Bedrock BedrockRuntime BedrockAgent BedrockAgentRuntime

AWS SDK for Python (Boto3)

AWS SDK for Python (Boto3) 程式碼範例

bedrock bedrock-runtime bedrock-agent bedrock-agent-runtime

AWS SDK for Ruby

AWS SDK for Ruby 程式碼範例

Bedrock BedrockRuntime BedrockAgent BedrockAgentRuntime

適用於 Rust 的 AWS SDK

適用於 Rust 的 AWS SDK 程式碼範例

aws-sdk-bedrock aws-sdk-bedrockruntime aws-sdk-bedrockagent aws-sdk-bedrockagentruntime

適用於 SAP ABAP 的 AWS SDK

適用於 SAP ABAP 的 AWS SDK 程式碼範例

BDK BDR BDA BDZ

適用於 Swift 的 AWS SDK

適用於 Swift 的 AWS SDK 程式碼範例

AWSBedrock AWSBedrockRuntime AWSBedrockAgent AWSBedrockAgentRuntime

使用 SageMaker 筆記本

您可以使用 SDK for Python (Boto3) 從筆記本叫用 Amazon 基岩 API 操作。 SageMaker

配置角 SageMaker 色

將 Amazon 基岩許可新增至將使用此筆記本 SageMaker 的 IAM 角色。

從 IAM 主控台執行下列步驟:

  1. 選擇 IAM 角色,然後選擇新增許可,然後從下拉式清單中選取建立內嵌政策

  2. 包含下列許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:*", "Resource": "*" } ] }

將下列權限新增至信任關係。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

測試執行期設定

將以下程式碼加入您的筆記本並執行程式碼。

import boto3 import json bedrock = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman:explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = bedrock.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

測試 Amazon Bedrock 設定

將以下程式碼加入您的筆記本並執行程式碼。

import boto3 bedrock = boto3.client(service_name='bedrock') bedrock.get_foundation_model(modelIdentifier='anthropic.claude-v2')