AWS文件開發套件範例
使用 SDK for Python (Boto3) 的 Amazon Bedrock 範例
下列程式碼範例示範如何搭配使用 適用於 Python (Boto3) 的 AWS SDK 和 Amazon Bedrock 來執行動作,以及實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
案例是向您展示如何呼叫服務中的多個函數或與其他 AWS 服務組合來完成特定任務的程式碼範例。
每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。
開始使用
下列程式碼範例示範如何開始使用 Amazon Bedrock。
- SDK for Python (Boto3)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 """ Lists the available Amazon Bedrock models. """ import logging import json import boto3 from botocore.exceptions import ClientError logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def list_foundation_models(bedrock_client): """ Gets a list of available Amazon Bedrock foundation models. :return: The list of available bedrock foundation models. """ try: response = bedrock_client.list_foundation_models() models = response["modelSummaries"] logger.info("Got %s foundation models.", len(models)) return models except ClientError: logger.error("Couldn't list foundation models.") raise def main(): """Entry point for the example. Uses the AWS SDK for Python (Boto3) to create an Amazon Bedrock client. Then lists the available Bedrock models in the region set in the callers profile and credentials. """ bedrock_client = boto3.client(service_name="bedrock") fm_models = list_foundation_models(bedrock_client) for model in fm_models: print(f"Model: {model['modelName']}") print(json.dumps(model, indent=2)) print("---------------------------\n") logger.info("Done.") if __name__ == "__main__": main()-
如需 API 詳細資訊,請參閱《AWS SDK for Python (Boto3) API 參考》中的 ListFoundationModels。
-
動作
以下程式碼範例顯示如何使用 GetFoundationModel。
- SDK for Python (Boto3)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 取得基礎模型的詳細資訊。
def get_foundation_model(self, model_identifier): """ Get details about an Amazon Bedrock foundation model. :return: The foundation model's details. """ try: return self.bedrock_client.get_foundation_model( modelIdentifier=model_identifier )["modelDetails"] except ClientError: logger.error( f"Couldn't get foundation models details for {model_identifier}" ) raise-
如需 API 詳細資訊,請參閱《AWS SDK for Python (Boto3) API 參考》的 GetFoundationModel。
-
以下程式碼範例顯示如何使用 ListFoundationModels。
- SDK for Python (Boto3)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 列出可用的 Amazon Bedrock 基礎模型。
def list_foundation_models(self): """ List the available Amazon Bedrock foundation models. :return: The list of available bedrock foundation models. """ try: response = self.bedrock_client.list_foundation_models() models = response["modelSummaries"] logger.info("Got %s foundation models.", len(models)) return models except ClientError: logger.error("Couldn't list foundation models.") raise-
如需 API 詳細資訊,請參閱《AWS SDK for Python (Boto3) API 參考》中的 ListFoundationModels。
-
案例
下列程式碼範例示範如何使用 Amazon Bedrock 和 Step Functions,建置和協調生成式 AI 應用程式。
- SDK for Python (Boto3)
-
Amazon Bedrock Serverless 提示鏈接案例展示,AWS Step Functions、Amazon Bedrock 和 https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html 如何用於建置和協調複雜、無伺服器和可高度擴展的生成式 AI 應用程式。該案例包含下列工作範例:
-
針對文獻部落格撰寫指定小說的分析。此範例描述簡易、循序的提示鏈。
-
產生有關指定主題的簡短故事。此範例描述 AI 如何反覆處理先前產生的項目清單。
-
建立前往指定目的地的週末假期行程。此範例描述如何平行處理多個不同的提示。
-
向擔任電影製片的人類使用者推銷電影創意。此範例描述如何使用不同的推論參數平行處理相同的提示、如何回溯到鏈接的上一個步驟,以及如何將人工輸入包含在工作流程中。
-
根據使用者手上的配料來規劃用餐。此範例描述提示鏈如何整合兩個不同的 AI 對話,其中兩個 AI 角色互相爭論以改善最終結果。
-
尋找並總結目前最熱門的 GitHub 儲存庫。此範例說明鏈接多個與外部 API 互動的 AI 代理程式。
如需完整的原始碼,以及有關如何設定及執行的指示,請參閱 GitHub
上的完整專案。 此範例中使用的服務
Amazon Bedrock
Amazon Bedrock 執行時期
Amazon Bedrock 代理程式
Amazon Bedrock 代理程式執行時期
Step Functions
-