本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 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 的其他相關資訊。
-
AWS Command Line Interface
新增模型存取權
重要
您必須請求存取任何基礎模型,然後才能使用該模型。如果在請求存取模型之前嘗試使用模型 (透過 API 或在主控台內),您會收到錯誤訊息。如需詳細資訊,請參閱 模型存取。
Amazon Bedrock 端點
若要以程式設計方式連線到 AWS 服務,請使用端點。如需可用於 Amazon 基岩之端點的相關資訊,請參 AWS 一般參考 閱《中的 Amazon 基岩端點和配額》一章。
Amazon Bedrock 提供以下服務端點。
-
bedrock
– 包含用於管理、訓練和部署模型的控制平面 API。如需詳細資訊,請參閱 Amazon Bedrock動作和 Amazon Bedrock 資料類型。 -
bedrock-runtime
— 包含用於針對 Amazon 基岩中託管的模型提出推論請求的資料平面 API。如需詳細資訊,請參閱 Amazon Bedrock 執行期動作和 Amazon Bedrock 執行期資料類型。 -
bedrock-agent
– 包含用於建立和管理代理程式和知識庫的控制平面 API。如需詳細資訊,請參閱 Amazon Bedrock 動作的代理程式和 Amazon Bedrock 資料類型的代理程式。 -
bedrock-agent-runtime
— 包含用於叫用代理程式和查詢知識庫的資料平面 API。如需詳細資訊,請參閱適用於 Amazon Bedrock 執行期動作的代理程式和 Amazon Bedrock 執行期資料類型的代理程式。
設定 AWS CLI 的設定
-
如果您打算使用 CLI,請 AWS CLI 按照安裝或更新最新版本的使用 AWS Command Line Interface 者指南中的步驟進行安裝和設定。
-
遵循設定中的步驟,使用
aws configure
CLI 命令設定您的 AWS 認證 AWS CLI。
有關 AWS CLI 命令和操作,請參閱以下參考資料:
設定開發 AWS 套件
AWS 軟件開發套件(SDK)可用於許多流行的編程語言。每個 SDK 都提供 API、程式碼範例和說明文件,讓開發人員能夠更輕鬆地以偏好的語言建置應用程式。SDK 會自動為您執行有用的工作,例如:
-
加密簽署您的服務請求
-
重試請求
-
處理錯誤回應
請參閱下表,尋找每個 SDK 的一般資訊和程式碼範例,以及每個 SDK 的 Amazon 基岩 API 參考資料。您也可以在以下位置找到程式碼範例使用 SDK 的 Amazon 基岩的代碼示例 AWS。
使用 SageMaker 筆記本
您可以使用 SDK for Python (Boto3) 從筆記本叫用 Amazon 基岩 API 操作。 SageMaker
配置角 SageMaker 色
將 Amazon 基岩許可新增至將使用此筆記本 SageMaker 的 IAM 角色。
從 IAM 主控台執行下列步驟:
選擇 IAM 角色,然後選擇新增許可,然後從下拉式清單中選取建立內嵌政策。
包含下列許可。
{ "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')