Kirim satu prompt dengan InvokeModel API operasi - Amazon Bedrock

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

Kirim satu prompt dengan InvokeModel API operasi

Jalankan inferensi pada model melalui API dengan mengirim InvokeModelatau InvokeModelWithResponseStreampermintaan. Anda dapat menentukan jenis media untuk badan permintaan dan respons di accept bidang contentType dan. Nilai default untuk kedua bidang adalah application/json jika Anda tidak menentukan nilai.

Streaming didukung untuk semua model keluaran teks kecuali AI21 Labs Jurassic-2 model. Untuk memeriksa apakah model mendukung streaming, kirim GetFoundationModelatau ListFoundationModelspermintaan dan periksa nilainya di responseStreamingSupported bidang.

Tentukan bidang berikut, tergantung pada model yang Anda gunakan.

  1. modelId— Gunakan ID atau Nama Sumber Daya Amazon (ARN) dari model atau throughput. Metode untuk menemukan ID atau ARN tergantung pada jenis model atau throughput yang Anda gunakan:

    • Model dasar - Lakukan salah satu hal berikut:

    • Profil inferensi — Lakukan salah satu hal berikut:

      • Kirim ListInferenceProfilespermintaan dan temukan inferenceProfileArn model yang akan digunakan dalam respons.

      • Di konsol Amazon Bedrock, pilih Inferensi lintas wilayah dari panel navigasi kiri dan temukan ID atau profil inferensi di ARN bagian Profil inferensi.

    • Provisioned Throughput - Jika Anda telah membuat Provisioned Throughput untuk model dasar atau kustom, lakukan salah satu hal berikut:

      • Kirim ListProvisionedModelThroughputspermintaan dan temukan provisionedModelArn model yang akan digunakan dalam respons.

      • Di konsol Amazon Bedrock, pilih Provisioned Throughput dari panel navigasi kiri dan pilih Provisioned Throughput di bagian Provisioned throughput. Kemudian, cari ID atau ARN Throughput yang Disediakan di bagian Detail model.

    • Model kustom — Beli Throughput yang Disediakan untuk model kustom (untuk informasi selengkapnya, lihatTingkatkan kapasitas pemanggilan model dengan Provisioned Throughput di Amazon Bedrock) dan temukan ID model atau model ARN yang disediakan.

  2. body— Setiap model dasar memiliki parameter inferensi sendiri yang Anda tetapkan di body lapangan. Parameter inferensi untuk model khusus atau yang disediakan tergantung pada model dasar dari mana ia dibuat. Untuk informasi selengkapnya, lihat Parameter permintaan inferensi dan bidang respons untuk model pondasi.

Memanggil contoh kode model

Contoh berikut menunjukkan bagaimana menjalankan inferensi dengan. InvokeModelAPI Untuk contoh dengan model yang berbeda, lihat referensi parameter inferensi untuk model yang diinginkan (Parameter permintaan inferensi dan bidang respons untuk model pondasi).

CLI

Contoh berikut menyimpan respons yang dihasilkan ke prompt story of two dogs ke sebuah file bernama invoke-model-output.txt.

aws bedrock-runtime invoke-model \ --model-id anthropic.claude-v2 \ --body '{"prompt": "\n\nHuman: story of two dogs\n\nAssistant:", "max_tokens_to_sample" : 300}' \ --cli-binary-format raw-in-base64-out \ invoke-model-output.txt
Python

Contoh berikut mengembalikan respon yang dihasilkan untuk prompt explain black holes to 8th graders.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

Memanggil model dengan contoh kode streaming

catatan

AWS CLI Tidak mendukung streaming.

Contoh berikut menunjukkan bagaimana menggunakan InvokeModelWithResponseStreamAPIuntuk menghasilkan teks streaming dengan Python menggunakan 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()))