Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Respons streaming
Streaming memungkinkan Anda menerima respons model secara bertahap saat dihasilkan, memberikan pengalaman pengguna yang lebih interaktif. Baik Converse API dan Invoke API mendukung streaming.
Streaming dengan ConverseStream
Gunakan ConverseStream untuk menerima tanggapan sebagai aliran acara:
import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse_stream( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'Write a short story about AI.'}] } ] ) for event in response['stream']: if 'contentBlockDelta' in event: delta = event['contentBlockDelta']['delta'] if 'text' in delta: print(delta['text'], end='', flush=True)
Streaming dengan InvokeModelWithResponseStream
Gunakan InvokeModelWithResponseStream untuk streaming dengan API Invoke:
import boto3 import json bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') request_body = { 'messages': [ { 'role': 'user', 'content': [{'text': 'Explain quantum computing.'}] } ] } response = bedrock.invoke_model_with_response_stream( modelId='us.amazon.nova-2-lite-v1:0', body=json.dumps(request_body) ) for event in response['body']: chunk = json.loads(event['chunk']['bytes']) if 'contentBlockDelta' in chunk: delta = chunk['contentBlockDelta']['delta'] if 'text' in delta: print(delta['text'], end='', flush=True)
Jenis acara streaming
Respons streaming mencakup beberapa jenis acara:
-
messageStart: Menunjukkan awal pesan -
contentBlockStart: Menunjukkan awal dari blok konten -
contentBlockDelta: Berisi teks atau data tambahan -
contentBlockStop: Menunjukkan akhir dari blok konten -
messageStop: Menunjukkan akhir pesan dengan alasan berhenti -
metadata: Berisi informasi penggunaan (jumlah token)