View a markdown version of this page

Respons streaming - Amazon Nova

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)