Jalankan contoh API permintaan Amazon Bedrock melalui AWS SDKuntuk Python (Boto3) - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jalankan contoh API permintaan Amazon Bedrock melalui AWS SDKuntuk Python (Boto3)

Bagian ini memandu Anda untuk mencoba beberapa operasi umum di Amazon Bedrock dengan AWS Python untuk menguji apakah izin dan otentikasi Anda diatur dengan benar. Sebelum Anda menjalankan contoh berikut, Anda harus memeriksa apakah Anda telah memenuhi prasyarat berikut:

Prasyarat

Uji apakah izin dan kunci akses Anda diatur dengan benar untuk Amazon Bedrock, menggunakan peran Amazon Bedrock yang Anda buat. Contoh-contoh ini mengasumsikan bahwa Anda telah mengonfigurasi lingkungan Anda dengan kunci akses Anda. Perhatikan hal berikut:

  • Minimal, Anda harus menentukan AWS ID kunci akses dan AWS kunci akses rahasia.

  • Jika Anda menggunakan kredensi sementara, Anda juga harus menyertakan AWS token sesi.

Jika Anda tidak menentukan kredensialnya di lingkungan Anda, Anda dapat menentukannya saat membuat klien untuk operasi Amazon Bedrock. Untuk melakukannya, sertakan aws_session_token argumenaws_access_key_id,aws_secret_access_key, dan (jika Anda menggunakan kredensi jangka pendek) saat Anda membuat klien.

Buat daftar model fondasi yang ditawarkan Amazon Bedrock

Contoh berikut menjalankan ListFoundationModelsoperasi menggunakan klien Amazon Bedrock. ListFoundationModelsdaftar model foundation (FMs) yang tersedia di Amazon Bedrock di wilayah Anda. Jalankan skrip Python berikut SDK ini untuk membuat klien Amazon Bedrock dan menguji operasinya: ListFoundationModels

# Use the ListFoundationModels API to show the models that are available in your region. import boto3 # Create an &BR; client in the &region-us-east-1; Region. bedrock = boto3.client( service_name="bedrock" ) bedrock.list_foundation_models()

Jika skrip berhasil, respons mengembalikan daftar model dasar yang tersedia di Amazon Bedrock.

Kirim prompt teks ke model dan hasilkan respons teks dengan InvokeModel

Contoh berikut menjalankan InvokeModeloperasi menggunakan klien Amazon Bedrock. InvokeModelmemungkinkan Anda mengirimkan prompt untuk menghasilkan respons model. Jalankan skrip Python berikut SDK ini untuk membuat klien runtime Amazon Bedrock dan menghasilkan respons teks dengan operasi:

# Use the native inference API to send a text message to Amazon Titan Text G1 - Express. import boto3 import json 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" # Define the prompt for the model. prompt = "Describe the purpose of a 'hello world' program in one line." # Format the request payload using the model's native structure. native_request = { "inputText": prompt, "textGenerationConfig": { "maxTokenCount": 512, "temperature": 0.5, "topP": 0.9 }, } # Convert the native request to JSON. request = json.dumps(native_request) try: # Invoke the model with the request. response = brt.invoke_model(modelId=model_id, body=request) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1) # Decode the response body. model_response = json.loads(response["body"].read()) # Extract and print the response text. response_text = model_response["results"][0]["outputText"] print(response_text)

Jika perintah berhasil, respons mengembalikan teks yang dihasilkan oleh model sebagai respons terhadap prompt.

Kirim prompt teks ke model dan hasilkan respons teks dengan Converse

Contoh berikut menjalankan operasi Converse menggunakan klien Amazon Bedrock. Sebaiknya gunakan Converse operasi lebih InvokeModel saat didukung, karena ini menyatukan permintaan inferensi di seluruh model Amazon Bedrock dan menyederhanakan pengelolaan percakapan multi-putaran. Jalankan skrip Python berikut SDK ini untuk membuat klien runtime Amazon Bedrock dan menghasilkan respons teks dengan 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.