View a markdown version of this page

Memanggil model yang diimpor - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memanggil model yang diimpor

Pekerjaan impor model dapat memakan waktu beberapa menit untuk mengimpor model Anda setelah Anda mengirim CreateModelImportJob permintaan. Anda dapat memeriksa status pekerjaan impor Anda di konsol atau dengan memanggil GetModelImportJob operasi dan memeriksa Status bidang dalam respons. Pekerjaan impor selesai jika Status untuk model selesai.

Setelah model impor tersedia di Amazon Bedrock, Anda dapat menggunakan model dengan throughput sesuai permintaan dengan mengirim InvokeModel atau InvokeModelWithResponseStream meminta untuk melakukan panggilan inferensi ke model. Untuk informasi selengkapnya, lihat Kirim satu prompt dengan InvokeModel.

Untuk berinteraksi dengan model yang diimpor menggunakan format pesan, Anda dapat memanggil Converse atau ConverseStream operasi. Untuk informasi selengkapnya, lihat Menggunakan Converse API.

catatan

Converse API tidak didukung untuk Qwen2.5,, Qwen2-VL Qwen2.5-VL, dan GPT-OSS model.

Dukungan API yang Ditingkatkan: Beberapa Format API

Mulai 17 November 2025, Amazon Bedrock Custom Model Import mendukung format OpenAI-compatible API yang komprehensif, memberikan fleksibilitas dalam cara Anda mengintegrasikan dan menerapkan model kustom Anda. Semua model yang diimpor setelah 11 November 2025, secara otomatis akan mendapat manfaat dari kemampuan yang disempurnakan ini tanpa perlu konfigurasi tambahan.

Impor Model Kustom sekarang mendukung tiga format API:

  • BedrockCompletion (Teks) - Kompatibel dengan alur kerja Bedrock saat ini

  • OpenAIComplementation (Teks) - Kompatibilitas Skema Penyelesaian OpenAI

  • OpenAIChatCompletion (Teks dan Gambar) - Kompatibilitas Skema percakapan penuh

Kemampuan yang ditingkatkan ini mencakup output terstruktur untuk menegakkan skema dan pola JSON, dukungan penglihatan yang ditingkatkan dengan pemrosesan multi-gambar, probabilitas log untuk wawasan kepercayaan model, dan kemampuan memanggil alat untuk model. GPT-OSS

Untuk dokumentasi referensi API terperinci, lihat dokumentasi OpenAI resmi:

Contoh Format API

Contoh berikut menunjukkan cara menggunakan masing-masing dari empat format API yang didukung dengan model impor Anda.

BedrockCompletion

BedrockCompletionformat kompatibel dengan alur kerja Bedrock saat ini dan mendukung permintaan inferensi berbasis teks.

Contoh permintaan:

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

Contoh respons:

{ "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 mendukung output terstruktur menggunakan response_format parameter dengan json_object dan json_schema tipe.

OpenAICompletion

Format OpenAIComplementation menyediakan kompatibilitas OpenAI Completions Schema. Untuk menggunakan format ini, sertakan max_tokens parameter alih-alihmax_gen_len.

Contoh permintaan:

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

Contoh respons:

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

OpenAIComplementation mendukung kemampuan output terstruktur penuh termasukjson,, regexchoice, dan grammar batasan menggunakan parameter. structured_outputs

OpenAIChatCompletion

OpenAIChatCompletionformat menyediakan kompatibilitas Skema percakapan penuh dan mendukung input teks dan gambar.

Contoh permintaan:

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

Contoh respons:

{ "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 mendukung output terstruktur menggunakan keduanya response_format dan structured_outputs parameter. Untuk kemampuan penglihatan, sertakan gambar dalam array konten dengan data gambar yang dikodekan base64.

catatan

Untuk menggunakan ChatCompletion format, template obrolan harus menjadi bagian daritokenizer_config.json. Impor Model Kustom tidak akan menerapkan templat obrolan default apa pun ke permintaan.

Anda memerlukan model ARN untuk melakukan panggilan inferensi ke model yang baru diimpor. Setelah berhasil menyelesaikan pekerjaan impor dan setelah model impor Anda aktif, Anda bisa mendapatkan model ARN model yang diimpor di konsol atau dengan mengirim ListImportedModels permintaan.

Saat Anda memanggil model yang diimpor menggunakan InvokeModel atauInvokeModelWithStream, permintaan Anda dilayani dalam waktu 5 menit atau Anda mungkin mendap ModelNotReadyException atkannya. Untuk memah ModelNotReadyException aminya, ikuti langkah-langkah di bagian selanjutnya untuk penanganan ModelNotreadyException.

Pertanyaan yang Sering Diajukan

T: Format API apa yang harus saya gunakan?

A: Untuk kompatibilitas maksimum dengan berbagai SDK, kami sarankan menggunakan OpenAIComplementation atau OpenAIChatCompletion format karena mereka menyediakan OpenAI-compatible skema yang didukung secara luas di berbagai alat dan pustaka.

T: Apakah GPT-OSS di Amazon Bedrock Custom Model Impor mendukung API Converse?

A: Tidak. GPT-OSSmodel impor model kustom berbasis tidak mendukung API atau ConverseStream API Converse. Anda harus menggunakan InvokeModel API dengan OpenAI-compatible skema saat bekerja dengan model khusus GPT-OSS berbasis.

T: Model apa yang mendukung pemanggilan alat?

A: model kustom GPT-OSS berbasis mendukung kemampuan panggilan alat. Pemanggilan alat memungkinkan pemanggilan fungsi untuk alur kerja yang kompleks.

T: Bagaimana dengan model yang diimpor sebelum 11 November 2025?

A: Model yang diimpor sebelum 11 November 2025, terus berfungsi sebagaimana adanya dengan format dan kemampuan API yang ada.

T: Bagaimana generation_config.json dengan OpenAI-based model?

A: Sangat penting bahwa Anda menyertakan generation_config.json file yang benar saat mengimpor OpenAI-based model sepertiGPT-OSS. Anda harus menggunakan file konfigurasi yang diperbarui (diperbarui 13 Agustus 2024) tersedia di https://huggingface.co/openai/gpt-oss-20b/blob/main/generation_config.json. Konfigurasi yang diperbarui mencakup tiga ID token akhir urutan ([200002, 199999, 200012]), sedangkan versi lama hanya menyertakan dua token ([200002, 199999]). Menggunakan generation_config.json file usang akan menyebabkan kesalahan runtime selama pemanggilan model. File ini penting untuk perilaku model yang tepat dan harus disertakan dengan impor OpenAI-based model Anda.

Penanganan ModelNotReadyException

Amazon Bedrock Custom Model Impor mengoptimalkan penggunaan perangkat keras dengan menghapus model yang tidak aktif. Jika Anda mencoba memanggil model yang telah dihapus, Anda akan mendapatkanModelNotReadyException. Setelah model dihapus dan Anda memanggil model untuk pertama kalinya, Custom Model Impor mulai mengembalikan model. Waktu restorasi tergantung pada ukuran armada sesuai permintaan dan ukuran model.

Jika Anda InvokeModel atau InvokeModelWithStream permintaan Anda kembaliModelNotReadyException, ikuti langkah-langkah untuk menangani pengecualian.

  1. Konfigurasikan percobaan ulang

    Secara default, permintaan dicoba ulang secara otomatis dengan backoff eksponensial. Anda dapat mengonfigurasi jumlah maksimum percobaan ulang.

    Contoh berikut menunjukkan cara mengkonfigurasi percobaan ulang. Ganti${region-name},${model-arn}, dan 10 dengan Wilayah Anda, model ARN, dan upaya maksimum.

    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. Pantau kode respons selama upaya coba lagi

    Setiap upaya percobaan ulang memulai proses pemulihan model. Waktu restorasi tergantung pada ketersediaan armada sesuai permintaan dan ukuran model. Pantau kode respons saat proses restorasi sedang berlangsung.

    Jika percobaan ulang secara konsisten gagal, lanjutkan dengan langkah selanjutnya.

  3. Verifikasi model berhasil diimpor

    Anda dapat memverifikasi apakah model berhasil diimpor dengan memeriksa status pekerjaan impor Anda di konsol atau dengan memanggil GetModelImportJob operasi. Periksa Status bidang dalam tanggapan. Pekerjaan impor berhasil jika Status untuk model Sel esai.

  4. Kontak Dukungan untuk penyelidikan lebih lanjut

    Buka tiket dengan Dukungan Untuk informasi selengkapnya, lihat Membuat kasus dukungan.

    Sertakan detail yang relevan seperti ID model dan stempel waktu dalam tiket dukungan.