View a markdown version of this page

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 o Converse solicitações de.

nota

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

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 OpenAI-compatible API, 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

  • OpenAICompletion (Text) - Compatibilidade do OpenAI Completions Schema

  • OpenAIChatCompletion (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 de referência detalhada 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 formato OpenAICompletion 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 } }

O OpenAICompletion oferece suporte a recursos completos de saídas estruturadasjson, incluindoregex,choice, e grammar restrições usando o parâmetro. structured_outputs

OpenAIChatCompletion

OpenAIChatCompletionO formato fornece compatibilidade total 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 } }

OpenAIChatCompletion 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 usar o OpenAICompletion ou OpenAIChatCompletion formatos, pois eles fornecem OpenAI-compatible esquemas que são amplamente suportados em diferentes ferramentas e bibliotecas.

P: O GPT-OSS Amazon Bedrock Custom Model Import é compatível com a 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 OpenAI-compatible esquemas ao trabalhar com modelos personalizados GPT-OSS 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 OpenAI-based modelos?

R: É fundamental que você inclua o generation_config.json arquivo correto ao importar OpenAI-based modelos comoGPT-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 IDs de token de fim de sequência ([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 OpenAI-based do modelo.

Manuseio ModelNotReadyException

O Amazon Bedrock Custom Model Import otimiza o uso do 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. 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.