Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Codebeispiele für den bereitgestellten Durchsatz
Die folgenden Codebeispiele zeigen, wie Sie einen bereitgestellten Durchsatz mit dem und dem Python SDK erstellen, verwenden AWS CLI und verwalten.
- AWS CLI
-
Erstellen Sie einen unverbindlichen Provisioned Throughput, der auf der
MyPT
Grundlage eines benutzerdefinierten Modells aufgerufen wurdeMyCustomModel
, das aus dem Anthropic Claude v2.1-Modell, indem Sie den folgenden Befehl in einem Terminal ausführen.aws bedrock create-provisioned-model-throughput \ --model-units 1 \ --provisioned-model-name MyPT \ --model-id arn:aws:bedrock:us-east-1::custom-model/anthropic.claude-v2:1:200k/MyCustomModel
Die Antwort gibt a
provisioned-model-arn
zurück. Warten Sie etwas, bis die Erstellung abgeschlossen ist. Um den Status zu überprüfen, geben Sie den Namen oder den Namen ARN des bereitgestellten Modells wieprovisioned-model-id
im folgenden Befehl ein.aws bedrock get-provisioned-model-throughput \ --provisioned-model-id MyPT
Ändern Sie den Namen des bereitgestellten Durchsatzes und ordnen Sie ihn einem anderen Modell zu, das angepasst wurde von Anthropic Claude v2.1.
aws bedrock update-provisioned-model-throughput \ --provisioned-model-id MyPT \ --desired-provisioned-model-name MyPT2 \ --desired-model-id arn:aws:bedrock:us-east-1::custom-model/anthropic.claude-v2:1:200k/MyCustomModel2
Führen Sie die Inferenz mit Ihrem aktualisierten bereitgestellten Modell mit dem folgenden Befehl aus. Sie müssen das in ARN der
UpdateProvisionedModelThroughput
Antwort zurückgegebene Modell des bereitgestellten Modells als.model-id
Die Ausgabe wird in eine Datei mit dem Namen geschriebenoutput.txt
in Ihrem aktuellen Ordner.aws bedrock-runtime invoke-model \ --model-id
${provisioned-model-arn}
\ --body '{"inputText": "What is AWS?", "textGenerationConfig": {"temperature": 0.5}}' \ --cli-binary-format raw-in-base64-out \ output.txtLöschen Sie den bereitgestellten Durchsatz mit dem folgenden Befehl. Der bereitgestellte Durchsatz wird Ihnen nicht mehr in Rechnung gestellt.
aws bedrock delete-provisioned-model-throughput --provisioned-model-id MyPT2
- Python (Boto)
-
Erstellen Sie einen unverbindlichen Provisioned Throughput, der auf einem benutzerdefinierten Modell
MyPT
basiert,MyCustomModel
das aus dem Anthropic Claude v2.1-Modell, indem Sie den folgenden Codeausschnitt ausführen.import boto3 bedrock = boto3.client(service_name='bedrock') bedrock.create_provisioned_model_throughput( modelUnits=1, provisionedModelName='MyPT', modelId='arn:aws:bedrock:us-east-1::custom-model/anthropic.claude-v2:1:200k/MyCustomModel' )
Die Antwort gibt a zurück.
provisionedModelArn
Warten Sie etwas, bis die Erstellung abgeschlossen ist. Sie können den Status mit dem folgenden Codeausschnitt überprüfen. Sie können entweder den Namen des bereitgestellten Durchsatzes oder den Namen des von der CreateProvisionedModelThroughputAntwort ARN zurückgegebenen Durchsatzes als angeben.provisionedModelId
bedrock.get_provisioned_model_throughput(provisionedModelId='MyPT')
Ändern Sie den Namen des bereitgestellten Durchsatzes und ordnen Sie ihn einem anderen Modell zu, das von angepasst wurde Anthropic Claude v2.1. Senden Sie dann eine GetProvisionedModelThroughputAnfrage und speichern Sie das ARN bereitgestellte Modell in einer Variablen, um es für Inferenzen zu verwenden.
bedrock.update_provisioned_model_throughput( provisionedModelId='MyPT', desiredProvisionedModelName='MyPT2', desiredModelId='arn:aws:bedrock:us-east-1::custom-model/anthropic.claude-v2:1:200k/MyCustomModel2' ) arn_MyPT2 = bedrock.get_provisioned_model_throughput(provisionedModelId='MyPT2').get('provisionedModelArn')
Führen Sie die Inferenz mit Ihrem aktualisierten bereitgestellten Modell mit dem folgenden Befehl aus. Sie müssen das ARN des bereitgestellten Modells als angeben.
modelId
import json import logging import boto3 from botocore.exceptions import ClientError class ImageError(Exception): "Custom exception for errors returned by the model" def __init__(self, message): self.message = message logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) def generate_text(model_id, body): """ Generate text using your provisioned custom model. Args: model_id (str): The model ID to use. body (str) : The request body to use. Returns: response (json): The response from the model. """ logger.info( "Generating text with your provisioned custom model %s", model_id) brt = boto3.client(service_name='bedrock-runtime') accept = "application/json" content_type = "application/json" response = brt.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type ) response_body = json.loads(response.get("body").read()) finish_reason = response_body.get("error") if finish_reason is not None: raise ImageError(f"Text generation error. Error is {finish_reason}") logger.info( "Successfully generated text with provisioned custom model %s", model_id) return response_body def main(): """ Entrypoint for example. """ try: logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") model_id = arn_myPT2 body = json.dumps({ "inputText": "what is AWS?" }) response_body = generate_text(model_id, body) print(f"Input token count: {response_body['inputTextTokenCount']}") for result in response_body['results']: print(f"Token count: {result['tokenCount']}") print(f"Output text: {result['outputText']}") print(f"Completion reason: {result['completionReason']}") except ClientError as err: message = err.response["Error"]["Message"] logger.error("A client error occurred: %s", message) print("A client error occured: " + format(message)) except ImageError as err: logger.error(err.message) print(err.message) else: print( f"Finished generating text with your provisioned custom model {model_id}.") if __name__ == "__main__": main()
Löschen Sie den bereitgestellten Durchsatz mit dem folgenden Codeausschnitt. Der bereitgestellte Durchsatz wird Ihnen nicht mehr in Rechnung gestellt.
bedrock.delete_provisioned_model_throughput(provisionedModelId='MyPT2')