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.
-
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:
-
Para ver uma lista de modelos IDs para todos os modelos básicos compatíveis com o Amazon Bedrock, consulteModelo básico do Amazon Bedrock IDs (taxa de transferência sob demanda) .
-
Envie uma ListFoundationModelssolicitação e encontre o
modelId
oumodelArn
do modelo a ser usado na resposta. -
No console do Amazon Bedrock, selecione um modelo em Providers e encontre-o
modelId
no exemplo de APIsolicitação.
-
-
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.
-
-
body
: cada modelo básico tem seus próprios parâmetros de inferência que podem ser definidos no campobody
. 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).
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()))