Envie uma única solicitação com as InvokeModel API operações - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Envie uma única solicitação com as InvokeModel API operações

Execute inferência em um modelo por meio do API enviando uma InvokeModelWithResponseStreamsolicitação InvokeModelor. Você pode especificar o tipo de mídia para os corpos da solicitação e da resposta nos campos contentType e accept. Se você não especificar valores, o valor padrão para ambos os campos será application/json.

O streaming é compatível com todos os modelos de saída de texto, exceto AI21 Labs Jurassic-2 modelos. Para verificar se um modelo suporta streaming, envie uma ListFoundationModelssolicitação GetFoundationModelor e verifique o valor no responseStreamingSupported campo.

Especifique os campos a seguir de acordo com o modelo utilizado.

  1. modelId— Use o ID ou o nome de recurso da Amazon (ARN) de um modelo ou taxa de transferência. O método para encontrar o ID ou ARN depende do tipo de modelo ou taxa de transferência que você usa:

    • Modelo básico — Faça um dos seguintes:

    • Perfil de inferência — Faça um dos seguintes:

      • Envie uma ListInferenceProfilessolicitação e encontre inferenceProfileArn o modelo a ser usado na resposta.

      • No console do Amazon Bedrock, selecione Inferência entre regiões no painel de navegação esquerdo e encontre o ID ou o perfil de inferência na seção Perfis ARN de inferência.

    • Taxa de transferência provisionada — Se você criou a taxa de transferência provisionada para um modelo básico ou personalizado, faça o seguinte:

      • Envie uma ListProvisionedModelThroughputssolicitação e encontre provisionedModelArn o modelo a ser usado na resposta.

      • No console do Amazon Bedrock, selecione Taxa de transferência provisionada no painel de navegação esquerdo e selecione uma taxa de transferência provisionada na seção Taxa de transferência provisionada. Em seguida, encontre o ID ou a taxa ARN de transferência provisionada na seção Detalhes do modelo.

    • Modelo personalizado — Compre a taxa de transferência provisionada para o modelo personalizado (para obter mais informações, consulteAumente a capacidade de invocação do modelo com a taxa de transferência provisionada no Amazon Bedrock) e encontre a ID do modelo ou ARN do modelo provisionado.

  2. body: cada modelo básico tem seus próprios parâmetros de inferência que podem ser definidos no campo body. Os parâmetros de inferência para um modelo personalizado ou provisionado dependem do modelo básico do qual ele foi criado. Para obter mais informações, consulte Parâmetros de solicitação de inferência e campos de resposta para modelos básicos.

Exemplos de código de invocação de modelos

Os exemplos a seguir mostram como executar inferência com o. InvokeModelAPI Para conferir exemplos com modelos diferentes, consulte a referência do parâmetros de inferência do modelo desejado (Parâmetros de solicitação de inferência e campos de resposta para modelos básicos).

CLI

O exemplo a seguir salva a resposta gerada no prompt. story of two dogs para um arquivo chamado 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

O exemplo a seguir retorna uma resposta gerada ao 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'))

Exemplo de código de invocação de modelos com streaming

nota

O AWS CLI não suporta streaming.

O exemplo a seguir mostra como usar o InvokeModelWithResponseStreamAPIpara gerar streaming de texto com Python usando o 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()))