Invia una sola richiesta con InvokeModel - Amazon Bedrock

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à.

Invia una sola richiesta con InvokeModel

Esegui l'inferenza su un modello API tramite l'invio di una richiesta InvokeModelor InvokeModelWithResponseStream. Puoi specificare il tipo di supporto per i corpi di richiesta e risposta nei campi contentType e accept. Se non specifichi un valore, il valore predefinito per entrambi i campi è application/json.

Lo streaming è supportato per tutti i modelli di output di testo tranne AI21 Labs Jurassic-2 modelli. Per verificare se un modello supporta lo streaming, invia una ListFoundationModelsrichiesta GetFoundationModelOR e controlla il valore nel responseStreamingSupported campo.

Specifica i seguenti campi, a seconda del modello che utilizzi.

  1. modelId— Utilizza l'ID o Amazon Resource Name (ARN) di un modello o del throughput. Il metodo per trovare l'ID ARN dipende dal tipo di modello o dalla velocità effettiva che utilizzi:

    • Modello base: effettuate una delle seguenti operazioni:

      • Per visualizzare un elenco di modelli IDs per tutti i modelli base supportati da Amazon Bedrock, consultaModello base Amazon Bedrock IDs (throughput su richiesta) .

      • Invia una ListFoundationModelsrichiesta e trova l'modelIdor modelArn del modello da utilizzare nella risposta.

      • Nella console Amazon Bedrock, seleziona un modello in Provider e individualo modelId nell'esempio di APIrichiesta.

    • Profilo di inferenza: esegui una delle seguenti operazioni:

      • Invia una ListInferenceProfilesrichiesta e trova inferenceProfileArn il modello da utilizzare nella risposta.

      • Nella console Amazon Bedrock, seleziona Inferenza tra regioni dal riquadro di navigazione a sinistra e trova l'ID o il profilo ARN di inferenza nella sezione Profili di inferenza.

    • Provisioned Throughput: se hai creato Provisioned Throughput per un modello base o personalizzato, esegui una delle seguenti operazioni:

      • Invia una ListProvisionedModelThroughputsrichiesta e trova il provisionedModelArn modello da utilizzare nella risposta.

      • Nella console Amazon Bedrock, seleziona Provisioned Throughput dal riquadro di navigazione a sinistra e seleziona Provisioned Throughput nella sezione Provisioned Throughput. Quindi, trova l'ID o del Provisioned Throughput nella ARN sezione dei dettagli del modello.

    • Modello personalizzato: acquista Provisioned Throughput per il modello personalizzato (per ulteriori informazioni, consultaAumenta la capacità di invocazione del modello con Provisioned Throughput in Amazon Bedrock) e trova l'ID del modello o ARN del modello fornito.

  2. body: ogni modello base ha i propri parametri impostati nel campo body. I parametri di inferenza per un modello personalizzato o assegnato dipendono dal modello di base da cui è stato creato. Per ulteriori informazioni, consulta Parametri di inferenza per modelli di fondazione.

Richiama esempi di codice del modello

Gli esempi seguenti mostrano come eseguire l'inferenza con. InvokeModelAPI Per esempi con modelli diversi, vedi la documentazione di riferimento sui parametri di inferenza per il modello desiderato (Parametri di inferenza per modelli di fondazione).

CLI

L'esempio seguente salva la risposta generata al prompt story of two dogs in un file chiamato invoke-model-output.txt.

aws bedrock-runtime invoke-model \ --model-id anthropic.claude-v2 \ --body '{"prompt": "\n\nHuman: story of two dogs\n\nAssistant:", "max_tokens_to_sample" : 300}' \ --cli-binary-format raw-in-base64-out \ invoke-model-output.txt
Python

L'esempio seguente restituisce una risposta generata al prompt explain black holes to 8th graders.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

Invocazione del modello con un esempio di codice in streaming

Nota

Il AWS CLI non supporta lo streaming.

L'esempio seguente mostra come utilizzare per InvokeModelWithResponseStreamAPIgenerare testo in streaming con Python utilizzando il prompt write an essay for living on mars in 1000 words.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ 'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:', 'max_tokens_to_sample': 4000 }) response = brt.invoke_model_with_response_stream( modelId='anthropic.claude-v2', body=body ) stream = response.get('body') if stream: for event in stream: chunk = event.get('chunk') if chunk: print(json.loads(chunk.get('bytes').decode()))