Invocar o modelo importado - 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á.

Invocar o modelo importado

A tarefa de importação do modelo pode levar vários minutos para importar seu modelo após o envio da CreateModelImportJobsolicitação. Você pode verificar o status do seu trabalho de importação no console ou chamando a GetModelImportJoboperação e verificando o Status campo na resposta. O trabalho de importação será concluído se o Status do modelo for Concluído.

Depois que seu modelo importado estiver disponível no Amazon Bedrock, você poderá usar o modelo com taxa de transferência sob demanda enviando InvokeModelou InvokeModelWithResponseStreamsolicitando chamadas de inferência para o modelo. Para obter mais informações, consulte Envie uma única solicitação com InvokeModel.

Para interagir com seu modelo importado usando o formato de mensagens, você pode chamar o Converse ou ConverseStreamas operações. Para obter mais informações, consulte Usar a API Converse.

nota

A API Converse não é compatível com Qwen2.5, Qwen2-vl, Qwen2.5-vl e modelos. GPT-OSS

Suporte aprimorado de API: vários formatos de API

A partir de 17 de novembro de 2025, o Amazon Bedrock Custom Model Import oferece suporte a formatos abrangentes de API compatíveis com OpenAI, oferecendo flexibilidade na forma como você integra e implementa seus modelos personalizados. Todos os modelos importados após 11 de novembro de 2025 se beneficiarão automaticamente desses recursos aprimorados sem a necessidade de configuração adicional.

O Custom Model Import agora oferece suporte a três formatos de API:

  • BedrockCompletion (Texto) - Compatível com os fluxos de trabalho atuais do Bedrock

  • Open AICompletion (Text) - Compatibilidade com o OpenAI Completions Schema

  • AIChatCompletação aberta (texto e imagens) - Compatibilidade total com esquemas de conversação

Esses recursos aprimorados incluem saídas estruturadas para aplicar esquemas e padrões JSON, suporte aprimorado à visão com processamento de várias imagens, probabilidades de registro para insights de confiança do modelo e recursos de chamada de ferramentas para modelos. GPT-OSS

Para obter a documentação detalhada de referência da API, consulte a documentação oficial da OpenAI:

Exemplos de formato de API

Os exemplos a seguir demonstram como usar cada um dos quatro formatos de API compatíveis com seus modelos importados.

BedrockCompletion

BedrockCompletiono formato é compatível com os fluxos de trabalho atuais do Bedrock e oferece suporte a solicitações de inferência baseadas em texto.

Exemplo de solicitação:

import json import boto3 client = boto3.client('bedrock-runtime', region_name='us-east-1') payload = { "prompt": "How is the rainbow formed?", "max_gen_len": 100, "temperature": 0.5 } response = client.invoke_model( modelId='your-model-arn', body=json.dumps(payload), accept='application/json', contentType='application/json' ) response_body = json.loads(response['body'].read())

Exemplo de resposta:

{ "generation": " – A scientific explanation\nA rainbow is a beautiful natural phenomenon that occurs when sunlight passes through water droplets in the air. It is formed through a process called refraction, which is the bending of light as it passes from one medium to another.\nHere's a step-by-step explanation of how a rainbow is formed:\n1. Sunlight enters the Earth's atmosphere: The first step in forming a rainbow is for sunlight to enter the Earth's atmosphere. This sunlight is made up of a spectrum of", "prompt_token_count": 7, "generation_token_count": 100, "stop_reason": "length", "logprobs": null }

BedrockCompletion suporta saídas estruturadas usando response_format parâmetros com json_object e json_schema tipos.

OpenAICompletion

O AICompletion formato aberto fornece compatibilidade com o OpenAI Completions Schema. Para usar esse formato, inclua o max_tokens parâmetro em vez demax_gen_len.

Exemplo de solicitação:

import json import boto3 client = boto3.client('bedrock-runtime', region_name='us-east-1') payload = { "prompt": "How is the rainbow formed?", "max_tokens": 100, "temperature": 0.5 } response = client.invoke_model( modelId='your-model-arn', body=json.dumps(payload), accept='application/json', contentType='application/json' ) response_body = json.loads(response['body'].read())

Exemplo de resposta:

{ "id": "cmpl-b09d5810bd64428f8a853be71c31f912", "object": "text_completion", "created": 1763166682, "choices": [ { "index": 0, "text": " The formation of a rainbow is a complex process that involves the interaction of sunlight with water droplets in the air. Here's a simplified explanation: 1. Sunlight enters the Earth's atmosphere and is refracted, or bent, as it passes through the air. 2. When sunlight encounters a water droplet, such as a cloud, mist, or fog, it is refracted again and split into its individual colors, a process known as dispersion. 3. The refracted and", "finish_reason": "length" } ], "usage": { "prompt_tokens": 7, "total_tokens": 107, "completion_tokens": 100 } }

AICompletion O Open oferece suporte a recursos completos de saídas estruturadas jsonregex, incluindochoice,, e grammar restrições usando o parâmetro. structured_outputs

OpenAIChatCompletion

O formato Open AIChat Completion oferece total compatibilidade com o esquema conversacional e suporta entradas de texto e imagem.

Exemplo de solicitação:

import json import boto3 client = boto3.client('bedrock-runtime', region_name='us-east-1') payload = { "messages": [ { "role": "user", "content": "How is the rainbow formed?" } ], "max_tokens": 100, "temperature": 0.5 } response = client.invoke_model( modelId='your-model-arn', body=json.dumps(payload), accept='application/json', contentType='application/json' ) response_body = json.loads(response['body'].read())

Exemplo de resposta:

{ "id": "chatcmpl-1d84ce1d3d61418e8c6d1973f87173db", "object": "chat.completion", "created": 1763166683, "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A rainbow is a beautiful natural phenomenon that occurs when sunlight passes through water droplets in the air. The process of forming a rainbow involves several steps:\n\n1. **Sunlight**: The first requirement for a rainbow is sunlight. The sun should be shining brightly, but not directly overhead.\n2. **Water droplets**: The second requirement is water droplets in the air..." }, "finish_reason": "length" } ], "usage": { "prompt_tokens": 41, "completion_tokens": 100, "total_tokens": 141 } }

O Open AIChat Completion suporta saídas estruturadas usando ambos response_format os structured_outputs parâmetros. Para recursos de visão, inclua imagens na matriz de conteúdo com dados de imagem codificados em base64.

nota

Para usar o ChatCompletion formato, o modelo de bate-papo precisa fazer parte dotokenizer_config.json. A importação de modelo personalizado não aplicará nenhum modelo de bate-papo padrão à solicitação.

O ARN do modelo é necessário para fazer chamadas de inferência ao modelo recém-importado. Após a conclusão bem-sucedida do trabalho de importação e depois que o modelo importado estiver ativo, você poderá obter o ARN do modelo importado no console ou enviando uma ListImportedModelssolicitação.

Quando você invoca seu modelo importado usando InvokeModel ouInvokeModelWithStream, a solicitação é atendida em 5 minutos ou você pode receber ModelNotReadyException. Para entender o ModelNotReadyException, siga as etapas na próxima seção para lidar com ModelNotreadyException.

Perguntas frequentes

P: Qual formato de API devo usar?

R: Para máxima compatibilidade com vários SDKs, recomendamos o uso dos formatos Open AICompletion ou Open AIChat Completion, pois eles fornecem esquemas compatíveis com OpenAI que são amplamente suportados em diferentes ferramentas e bibliotecas.

P: O GPT-OSS Amazon Bedrock Custom Model Import oferece suporte à API Converse?

R: Não. GPT-OSSos modelos de importação de modelos personalizados baseados não oferecem suporte à API ou ConverseStream API Converse. Você deve usar a InvokeModelAPI com esquemas compatíveis com OpenAI ao trabalhar com GPT-OSS modelos personalizados baseados.

P: Quais modelos oferecem suporte à chamada de ferramentas?

R: modelos personalizados GPT-OSS baseados em suporte aos recursos de chamada de ferramentas. A chamada de ferramentas permite a chamada de funções para fluxos de trabalho complexos.

P: E quanto aos modelos importados antes de 11 de novembro de 2025?

R: Os modelos importados antes de 11 de novembro de 2025 continuam funcionando como estão com seus formatos e recursos de API existentes.

P: E quanto generation_config.json aos modelos baseados em OpenAI?

R: É fundamental que você inclua o generation_config.json arquivo correto ao importar modelos baseados em OpenAI, como. GPT-OSS Você deve usar o arquivo de configuração atualizado (atualizado em 13 de agosto de 2024) disponível em https://huggingface. co/openai/gpt-oss-20b/blob/main/generation_config.json. A configuração atualizada inclui três end-of-sequence tokens IDs ([200002, 199999, 200012]), enquanto as versões mais antigas incluíam apenas dois tokens ([200002, 199999]). Usar um generation_config.json arquivo desatualizado causará erros de tempo de execução durante a invocação do modelo. Esse arquivo é essencial para o comportamento adequado do modelo e deve ser incluído nas importações de modelos baseados em OpenAI.

Manuseio ModelNotReadyException

A Importação de modelos personalizados do Amazon Bedrock otimiza a utilização de hardware removendo os modelos que não estão ativos. Se você tentar invocar um modelo que foi removido, você receberá umaModelNotReadyException. Depois que o modelo é removido e você o invoca pela primeira vez, o recurso Importação de modelos personalizados começa a restaurar o modelo. O tempo de restauração depende do tamanho da frota sob demanda e do tamanho do modelo.

Se sua solicitação InvokeModel ou InvokeModelWithStream exibir ModelNotReadyException, siga as etapas para lidar com a exceção.

  1. Configurar novas tentativas

    Por padrão, a solicitação é repetida automaticamente com um recuo exponencial. Configure o número máximo de repetições.

    O exemplo de código a seguir mostra como configurar a repetição. Substitua ${region-name}${model-arn}, e 10 por sua região, ARN do modelo e número máximo de tentativas.

    import json import boto3 from botocore.config import Config REGION_NAME = ${region-name} MODEL_ID= '${model-arn}' config = Config( retries={ 'total_max_attempts': 10, //customizable 'mode': 'standard' } ) message = "Hello" session = boto3.session.Session() br_runtime = session.client(service_name = 'bedrock-runtime', region_name=REGION_NAME, config=config) try: invoke_response = br_runtime.invoke_model(modelId=MODEL_ID, body=json.dumps({'prompt': message}), accept="application/json", contentType="application/json") invoke_response["body"] = json.loads(invoke_response["body"].read().decode("utf-8")) print(json.dumps(invoke_response, indent=4)) except Exception as e: print(e) print(e.__repr__())
  2. Monitorar códigos de resposta durante novas tentativas

    Cada nova tentativa inicia o processo de restauração do modelo. O tempo de restauração depende da disponibilidade da frota sob demanda e do tamanho do modelo. Monitore os códigos de resposta enquanto o processo de restauração está em andamento.

    Se as novas tentativas falharem de forma consistente, prossiga para as próximas etapas.

  3. Verificar se o modelo foi importado com sucesso

    Você pode verificar se o modelo foi importado com sucesso verificando o status do seu trabalho de importação no console ou chamando a GetModelImportJoboperação. Verifique o campo Status na resposta. Se o Status do modelo for Concluído, isso significa que o trabalho de importação foi bem-sucedido.

  4. Entre em contato Suporte para uma investigação mais aprofundada

    Abra um ticket com Suporte Para obter mais informações, consulte Criação de casos de suporte.

    Inclua detalhes relevantes, como ID do modelo e data e hora, no tíquete de suporte.