Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan contoh permintaan Amazon Bedrock API menggunakan notebook Amazon SageMaker AI
Bagian ini memandu Anda mencoba beberapa operasi umum di Amazon Bedrock dengan notebook Amazon SageMaker AI untuk menguji apakah izin peran Amazon Bedrock Anda disiapkan dengan benar. Sebelum Anda menjalankan contoh berikut, Anda harus memeriksa apakah Anda telah memenuhi prasyarat berikut:
Prasyarat
-
Anda memiliki Akun AWS dan memiliki izin untuk mengakses peran dengan izin yang diperlukan untuk Amazon Bedrock. Jika tidak, ikuti langkah-langkah diSaya sudah memiliki Akun AWS.
-
Anda telah meminta akses ke Amazon Titan Text G1 - Express model. Jika tidak, ikuti langkah-langkah diMinta akses ke model fondasi Amazon Bedrock.
-
Lakukan langkah-langkah berikut untuk mengatur izin IAM untuk SageMaker AI dan membuat buku catatan:
-
Ubah kebijakan kepercayaan peran Amazon Bedrock yang Anda atur Saya sudah memiliki Akun AWS melalui konsol, CLI, atau API. Lampirkan kebijakan kepercayaan berikut ke peran untuk memungkinkan layanan Amazon Bedrock dan SageMaker AI untuk mengambil peran Amazon Bedrock:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockTrust", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "SagemakerTrust", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Masuk ke peran Amazon Bedrock yang kebijakan kepercayaannya baru saja Anda ubah.
-
Ikuti langkah-langkah di Membuat Instans Notebook Amazon SageMaker AI untuk tutorial dan tentukan ARN dari peran Amazon Bedrock yang Anda buat untuk membuat instance notebook SageMaker AI.
-
Ketika Status instance notebook adalah InService, pilih instance dan kemudian pilih Buka JupyterLab.
-
Setelah Anda membuka notebook SageMaker AI Anda, Anda dapat mencoba contoh berikut:
Topik
Buat daftar model fondasi yang ditawarkan Amazon Bedrock
Contoh berikut menjalankan ListFoundationModelsoperasi menggunakan klien Amazon Bedrock. ListFoundationModels
daftar model foundation (FMs) yang tersedia di Amazon Bedrock di wilayah Anda. Jalankan SDK berikut untuk skrip Python untuk membuat klien Amazon Bedrock dan menguji operasinya: ListFoundationModels
""" Lists the available Amazon Bedrock models in an AWS Region. """ 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. Change aws_region to the AWS Region that you want to use.""" aws_region = "us-east-1" bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region) 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()
Jika skrip berhasil, respons mengembalikan daftar model dasar yang tersedia di Amazon Bedrock.
Kirim prompt teks ke model dan hasilkan respons
Contoh berikut menjalankan operasi Converse menggunakan klien Amazon Bedrock. Converse
memungkinkan Anda mengirimkan prompt untuk menghasilkan respons model. Jalankan skrip SDK for Python berikut untuk membuat klien runtime Amazon Bedrock dan menguji operasi Converse:
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express. import boto3 from botocore.exceptions import ClientError # Create an Amazon Bedrock Runtime client. brt = boto3.client("bedrock-runtime") # Set the model ID, e.g., Amazon Titan Text G1 - Express. model_id = "amazon.titan-text-express-v1" # Start a conversation with the user message. user_message = "Describe the purpose of a 'hello world' program in one line." conversation = [ { "role": "user", "content": [{"text": user_message}], } ] try: # Send the message to the model, using a basic inference configuration. response = brt.converse( modelId=model_id, messages=conversation, inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}, ) # Extract and print the response text. response_text = response["output"]["message"]["content"][0]["text"] print(response_text) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1)
Jika perintah berhasil, respons mengembalikan teks yang dihasilkan oleh model sebagai respons terhadap prompt.