Gunakan API untuk memanggil model dengan satu prompt - Amazon Bedrock

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

Gunakan API untuk memanggil model dengan satu prompt

Jalankan inferensi pada model melalui API dengan mengirimkan InvokeModelWithResponseStreampermintaan InvokeModelatau. 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 model atau ARN-nya. Metode untuk menemukan modelId atau modelArn tergantung pada jenis model yang Anda gunakan:

    • Model dasar - Lakukan salah satu dari berikut ini.

    • Model kustom — Beli Throughput yang Disediakan untuk model kustom (untuk informasi selengkapnya, lihatThroughput yang Disediakan untuk Amazon Bedrock) dan temukan ID model atau ARN dari model yang disediakan.

    • Model yang disediakan - 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, pilih model di Provisioned Throughput dan temukan model ARN di bagian Detail model.

  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 inferensi untuk model pondasi.

Memanggil contoh kode model

Contoh berikut menunjukkan cara menjalankan inferensi dengan InvokeModelAPI. Untuk contoh dengan model yang berbeda, lihat referensi parameter inferensi untuk model yang diinginkan (Parameter inferensi untuk model pondasi).

CLI

Contoh berikut menyimpan respons yang dihasilkan ke cerita prompt dua dog ke 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 respons yang dihasilkan terhadap prompt menjelaskan lubang hitam kepada siswa kelas 8.

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 Itu tidak mendukung streaming.

Contoh berikut menunjukkan cara menggunakan InvokeModelWithResponseStreamAPI untuk menghasilkan teks streaming dengan Python menggunakan prompt menulis esai untuk hidup di mars dalam 1000 kata.

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