Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di comprensione delle immagini
L'esempio seguente mostra come inviare una richiesta di immagine ad Amazon Nova Model con InvokeModel.
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 import base64 import boto3 import json # Create a Bedrock Runtime client in the AWS Region of your choice. client = boto3.client( "bedrock-runtime", region_name="us-east-1", ) MODEL_ID = "us.amazon.nova-lite-v1:0" # Open the image you'd like to use and encode it as a Base64 string. with open("media/sunset.png", "rb") as image_file: binary_data = image_file.read() base_64_encoded_data = base64.b64encode(binary_data) base64_string = base_64_encoded_data.decode("utf-8") # Define your system prompt(s). system_list = [ { "text": "You are an expert artist. When the user provides you with an image, provide 3 potential art titles" } ] # Define a "user" message including both the image and a text prompt. message_list = [ { "role": "user", "content": [ { "image": { "format": "png", "source": { "bytes": image // Binary array (Converse API) or Base64-encoded string (Invoke API) }, } }, { "text": "Provide art titles for this image." } ], } ] # Configure the inference parameters. inf_params = {"maxTokens": 300, "topP": 0.1, "topK": 20, "temperature": 0.3} native_request = { "schemaVersion": "messages-v1", "messages": message_list, "system": system_list, "inferenceConfig": inf_params, } # Invoke the model and extract the response body. response = client.invoke_model(modelId=MODEL_ID, body=json.dumps(native_request)) model_response = json.loads(response["body"].read()) # Pretty print the response JSON. print("[Full Response]") print(json.dumps(model_response, indent=2)) # Print the text content for easy readability. content_text = model_response["output"]["message"]["content"][0]["text"] print("\n[Response Content Text]") print(content_text)
Per trasferire file di immagine di grandi dimensioni o più file di immagine, in cui il carico utile complessivo è superiore a 25 MB, puoi utilizzare Amazon S3. L'esempio seguente dimostra come usare Amazon S3 per caricare immagini su Amazon Nova:
import boto3 import json import base64 # Create a Bedrock Runtime client client = boto3.client("bedrock-runtime", region_name="us-east-1", ) PRO_MODEL_ID = "us.amazon.nova-pro-v1:0" LITE_MODEL_ID = "us.amazon.nova-lite-v1:0" MICRO_MODEL_ID = "us.amazon.nova-micro-v1:0" PREMIER_MODEL_ID = "us.amazon.nova-premier-v1:0" messages = [ { "role": "user", "content": [ { "image": { "format": "png", "source": { "s3Location": { #Replace the s3 bucket URI "uri": "
s3://demo-bucket/cat.png
" "bucketOwner" : "123456789012
" } }, } }, {"text": "Describe the following image"}, ], } ] inf_params = {"maxTokens": 300, "topP": 0.1, "temperature": 0.3} model_response = client.converse( modelId=LITE_MODEL_ID, messages=messages, inferenceConfig=inf_params ) print("\n[Full Response]") print(json.dumps(model_response, indent=2)) print("\n[Response Content Text]") print(model_response["output"]["message"]["content"][0]["text"])