Invocare un modello importato - 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à.

Invocare un modello importato

Il processo di importazione del modello può richiedere diversi minuti per importare il modello dopo l'invio della CreateModelImportJobrichiesta. Puoi controllare lo stato del tuo processo di importazione nella console o chiamando l'GetModelImportJoboperazione e controllando il Status campo nella risposta. Il processo di importazione è completo se lo stato del modello è Completo.

Dopo che il modello importato è disponibile in Amazon Bedrock, puoi utilizzare il modello con throughput on demand inviando InvokeModelo InvokeModelWithResponseStreamrichiedendo di effettuare chiamate di inferenza al modello. Per ulteriori informazioni, consulta Invia una sola richiesta con InvokeModel.

Per interfacciarti con il modello importato utilizzando il formato dei messaggi, puoi chiamare Converse o Operations. ConverseStream Per ulteriori informazioni, consulta Utilizzo dell’API Converse.

Nota

L'API Converse non è supportata per Qwen2.5, Qwen2-VL, QWen2.5-VL e i modelli. GPT-OSS

Supporto API avanzato: più formati API

A partire dal 17 novembre 2025, Amazon Bedrock Custom Model Import supporta formati API completi compatibili con OpenAI, offrendo flessibilità nel modo in cui integri e distribuisci i tuoi modelli personalizzati. Tutti i modelli importati dopo l'11 novembre 2025 trarranno automaticamente vantaggio da queste funzionalità avanzate senza bisogno di configurazioni aggiuntive.

Custom Model Import ora supporta tre formati API:

  • BedrockCompletion (Testo) - Compatibile con gli attuali flussi di lavoro Bedrock

  • Open AICompletion (Text) - Compatibilità dello schema OpenAI Completions

  • Open AIChat Completion (testo e immagini) - Piena compatibilità con lo schema conversazionale

Queste funzionalità avanzate includono output strutturati per l'applicazione di schemi e pattern JSON, supporto visivo avanzato con elaborazione di più immagini, probabilità di registro per informazioni sulla fiducia dei modelli e funzionalità di richiamo degli strumenti per i modelli. GPT-OSS

Per una documentazione di riferimento dettagliata sulle API, consulta la documentazione ufficiale di OpenAI:

Esempi di formati API

Gli esempi seguenti mostrano come utilizzare ciascuno dei quattro formati API supportati con i modelli importati.

BedrockCompletion

BedrockCompletionil formato è compatibile con gli attuali flussi di lavoro Bedrock e supporta richieste di inferenza basate su testo.

Richiesta di esempio:

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())

Risposta di esempio:

{ "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 supporta output strutturati utilizzando parametri con e tipi. response_format json_object json_schema

OpenAICompletion

Il AICompletion formato aperto fornisce la compatibilità con OpenAI Completions Schema. Per utilizzare questo formato, includi il max_tokens parametro anziché. max_gen_len

Richiesta di esempio:

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())

Risposta di esempio:

{ "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 } }

Open AICompletion supporta funzionalità di output completamente strutturatejson, tra cui, regexchoice, e grammar vincoli che utilizzano il parametro. structured_outputs

OpenAIChatCompletion

Il formato Open AIChat Completion offre la piena compatibilità dello schema conversazionale e supporta input di testo e immagini.

Richiesta di esempio:

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())

Risposta di esempio:

{ "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 } }

Open AIChat Completion supporta output strutturati che utilizzano entrambi i parametri. response_format structured_outputs Per quanto riguarda le funzionalità di visione, includete immagini nell'array di contenuti con dati di immagine codificati in base 64.

Nota

Per utilizzare il ChatCompletion formato, il modello di chat deve far parte di. tokenizer_config.json Custom Model Import non applicherà alcun modello di chat predefinito alla richiesta.

Hai bisogno dell’ARN del modello per effettuare chiamate di inferenza al nuovo modello importato. Dopo il completamento con successo del processo di importazione e dopo che il modello importato è attivo, è possibile ottenere l'ARN del modello importato nella console o inviando una ListImportedModelsrichiesta.

Quando invochi il modello importato utilizzando InvokeModel o InvokeModelWithStream, la tua richiesta viene soddisfatta entro 5 minuti o potresti ricevere ModelNotReadyException. Per comprenderlo ModelNotReadyException, seguite i passaggi di questa sezione successiva per la gestione ModelNotreadyException.

Domande frequenti

D: Quale formato API devo usare?

R: Per la massima compatibilità con vari formati SDKs, consigliamo di utilizzare i formati Open AICompletion o Open AIChat Completion in quanto forniscono schemi compatibili con OpenAI ampiamente supportati da diversi strumenti e librerie.

D: GPT-OSS Su Amazon Bedrock Custom Model Import supporta l'API Converse?

R: No. GPT-OSSi modelli di importazione di modelli personalizzati basati su modelli non supportano l'API o ConverseStream l'API di Converse. È necessario utilizzare l'InvokeModelAPI con schemi compatibili con OpenAI quando si lavora con GPT-OSS modelli personalizzati basati.

D: Quali modelli supportano la chiamata agli strumenti?

R: i modelli personalizzati GPT-OSS basati su di essi supportano le funzionalità di chiamata degli strumenti. La chiamata agli strumenti consente la chiamata di funzioni per flussi di lavoro complessi.

D: Che dire dei modelli importati prima dell'11 novembre 2025?

R: I modelli importati prima dell'11 novembre 2025 continuano a funzionare così come sono con i formati e le funzionalità API esistenti.

D: Che dire dei modelli basati su generation_config.json OpenAI?

R: È fondamentale includere il generation_config.json file corretto durante l'importazione di modelli basati su OpenAI come. GPT-OSS È necessario utilizzare il file di configurazione aggiornato (aggiornato il 13 agosto 2024) disponibile all'indirizzo https://huggingface. co/openai/gpt-oss-20b/blob/main/generation_config.json. La configurazione aggiornata include tre end-of-sequence token IDs ([200002, 199999, 200012]), mentre le versioni precedenti includevano solo due token (). [200002, 199999] L'utilizzo di un generation_config.json file obsoleto causerà errori di runtime durante l'invocazione del modello. Questo file è essenziale per il corretto comportamento del modello e deve essere incluso nelle importazioni di modelli basate su OpenAI.

Manipolazione ModelNotReadyException

Amazon Bedrock Custom Model Import ottimizza l’utilizzo dell’hardware rimuovendo i modelli non attivi. Se provi a invocare un modello rimosso, ricevi ModelNotReadyException. Dopo aver rimosso il modello e invocato il modello per la prima volta, Custom Model Import inizia a ripristinarlo. Il tempo di ripristino dipende dalle dimensioni del parco on demand e dalle dimensioni del modello.

Se la tua richiesta InvokeModel o InvokeModelWithStream restituisce ModelNotReadyException, segui la procedura per gestire l’eccezione.

  1. Configurare nuovi tentativi

    Per impostazione predefinita, la richiesta viene ritentata automaticamente con un backoff esponenziale. È possibile configurare il numero massimo di tentativi.

    Il codice di esempio seguente mostra come configurare i nuovi tentativi. Sostituisci ${region-name}${model-arn}, e 10 con la tua regione, l'ARN del modello e il numero massimo di tentativi.

    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. Monitorare i codici di risposta durante i nuovi tentativi

    Ogni nuovo tentativo avvia il processo di ripristino del modello. Il tempo di ripristino dipende dalla disponibilità del parco on demand e dalle dimensioni del modello. Monitora i codici di risposta durante il processo di ripristino.

    Se i nuovi tentativi hanno costantemente esito negativo, continua con le fasi successive.

  3. Verificare che il modello sia stato importato

    È possibile verificare se il modello è stato importato correttamente controllando lo stato del processo di importazione nella console o chiamando l'GetModelImportJoboperazione. Controlla il campo Status nella risposta. Il processo di importazione è riuscito se lo stato del modello è Completo.

  4. Contattateci Supporto per ulteriori indagini

    Apri un ticket con Supporto Per ulteriori informazioni, consulta Creazione di casi di supporto.

    Includi dettagli pertinenti come l’ID modello e i timestamp nel ticket di supporto.