Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Converse API
Untuk menggunakan ConverseAPI, Anda memanggil ConverseStream
operasi Converse
atau untuk mengirim pesan ke model. Untuk meneleponConverse
, Anda memerlukan izin untuk bedrock:InvokeModel
operasi. Untuk meneleponConverseStream
, Anda memerlukan izin untuk bedrock:InvokeModelWithResponseStream
operasi.
Topik
Permintaan
Anda menentukan model yang ingin Anda gunakan dengan mengatur modelId
bidang. Untuk daftar model IDs yang didukung Amazon Bedrock, lihatModel Amazon Bedrock IDs.
Percakapan adalah serangkaian pesan antara pengguna dan model. Anda memulai percakapan dengan mengirim pesan sebagai pengguna (peran pengguna) ke model. Model, bertindak sebagai asisten (peran asisten), kemudian menghasilkan respons yang dikembalikan dalam pesan. Jika diinginkan, Anda dapat melanjutkan percakapan dengan mengirimkan pesan peran pengguna lebih lanjut ke model. Untuk mempertahankan konteks percakapan, pastikan untuk menyertakan pesan peran asisten yang Anda terima dari model dalam permintaan berikutnya.
Anda memberikan pesan yang ingin diteruskan ke model di messages
bidang, yang memetakan ke array objek Pesan. Setiap Pesan berisi konten untuk pesan dan peran yang dimainkan pesan dalam percakapan.
catatan
Amazon Bedrock tidak menyimpan teks, gambar, atau dokumen apa pun yang Anda berikan sebagai konten. Data hanya digunakan untuk menghasilkan respons. Saat menggunakan ConverseAPI, Anda harus menggunakan dokumen yang tidak dikompresi dan diterjemahkan yang berukuran kurang dari 4,5 MB.
Anda menyimpan konten untuk pesan di content
bidang, yang memetakan ke array ContentBlockobjek. Dalam masing-masing ContentBlock, Anda dapat menentukan salah satu bidang berikut (untuk melihat model apa yang mendukung modalitas apa, lihatModel dan fitur model yang didukung):
Bidang lainnya ContentBlock
adalah untuk penggunaan alat.
Anda menentukan peran di role
lapangan. Peran tersebut dapat berupa salah satu dari yang berikut:
-
pengguna — Manusia yang mengirim pesan ke model.
-
asisten — Model yang mengirim pesan kembali ke pengguna manusia.
catatan
Pembatasan berikut berkaitan dengan content
bidang:
-
Anda dapat menyertakan hingga 20 gambar. Ukuran, tinggi, dan lebar setiap gambar harus tidak lebih dari 3,75 MB, 8.000 px, dan 8.000 px, masing-masing.
-
Anda dapat memasukkan hingga lima dokumen. Ukuran setiap dokumen harus tidak lebih dari 4,5 MB.
-
Anda hanya dapat menyertakan gambar dan dokumen jika
role
adauser
.
Dalam messages
contoh berikut, pengguna meminta daftar tiga lagu pop, dan model menghasilkan daftar lagu.
[ { "role": "user", "content": [ { "text": "Create a list of 3 pop songs." } ] }, { "role": "assistant", "content": [ { "text": "Here is a list of 3 pop songs by artists from the United Kingdom:\n\n1. \"As It Was\" by Harry Styles\n2. \"Easy On Me\" by Adele\n3. \"Unholy\" by Sam Smith and Kim Petras" } ] } ]
Prompt sistem adalah jenis prompt yang memberikan instruksi atau konteks kepada model tentang tugas yang harus dilakukan, atau persona yang harus diadopsi selama percakapan. Anda dapat menentukan daftar prompt sistem untuk permintaan di bidang system
(SystemContentBlock), seperti yang ditunjukkan pada contoh berikut.
[ { "text": "You are an app that creates play lists for a radio station that plays rock and pop music. Only return song names and the artist. " } ]
Parameter inferensi
Converse API mendukung kumpulan dasar parameter inferensi yang Anda tetapkan di inferenceConfig
bidang () InferenceConfiguration. Set dasar parameter inferensi adalah:
maxTokens— Jumlah maksimum token untuk memungkinkan dalam respons yang dihasilkan.
stopSequences— Daftar urutan berhenti. Urutan berhenti adalah urutan karakter yang menyebabkan model berhenti menghasilkan respons.
suhu — Kemungkinan model memilih opsi probabilitas yang lebih tinggi sambil menghasilkan respons.
TopP — Persentase kandidat yang paling mungkin yang dipertimbangkan model untuk token berikutnya.
Untuk informasi selengkapnya, lihat Mempengaruhi generasi respons dengan parameter inferensi.
Contoh berikut JSON menetapkan parameter temperature
inferensi.
{"temperature": 0.5}
Jika model yang Anda gunakan memiliki parameter inferensi tambahan, Anda dapat mengatur parameter tersebut dengan menentukannya seperti JSON di additionalModelRequestFields
bidang. Contoh berikut JSON menunjukkan cara mengaturtop_k
, yang tersedia di Anthropic Claude model, tetapi bukan parameter inferensi dasar dalam pesanAPI.
{"top_k": 200}
Anda dapat menentukan jalur untuk parameter model tambahan di additionalModelResponseFieldPaths
lapangan, seperti yang ditunjukkan pada contoh berikut.
[ "/stop_sequence" ]
APIMengembalikan bidang tambahan yang Anda minta di additionalModelResponseFields
bidang.
Respons
Respons yang Anda dapatkan dari Converse API tergantung pada operasi yang Anda panggil, Converse
atauConverseStream
.
Tanggapan Converse
Dalam tanggapan dariConverse
, output
bidang (ConverseOutput) berisi pesan (Pesan) yang dihasilkan model. Konten pesan ada di bidang content
(ContentBlock) dan peran (user
atauassistant
) yang sesuai dengan pesan ada di role
bidang.
metrics
Bidang (ConverseMetrics) menyertakan metrik untuk panggilan. Untuk menentukan mengapa model berhenti menghasilkan konten, periksa stopReason
bidangnya. Anda bisa mendapatkan informasi tentang token yang diteruskan ke model dalam permintaan, dan token yang dihasilkan dalam respons, dengan memeriksa usage
bidang (TokenUsage). Jika Anda menentukan bidang respons tambahan dalam permintaan, API mengembalikannya seperti JSON di additionalModelResponseFields
bidang.
Contoh berikut menunjukkan respons dari Converse
saat Anda meneruskan prompt yang dibahas diPermintaan.
{ "output": { "message": { "role": "assistant", "content": [ { "text": "Here is a list of 3 pop songs by artists from the United Kingdom:\n\n1. \"Wannabe\" by Spice Girls\n2. \"Bitter Sweet Symphony\" by The Verve \n3. \"Don't Look Back in Anger\" by Oasis" } ] } }, "stopReason": "end_turn", "usage": { "inputTokens": 125, "outputTokens": 60, "totalTokens": 185 }, "metrics": { "latencyMs": 1175 } }
ConverseStream respon
Jika Anda memanggil ConverseStream
untuk mengalirkan respons dari model, aliran dikembalikan di bidang stream
respons. Aliran memancarkan peristiwa berikut dalam urutan sebagai berikut.
-
messageStart
(MessageStartEvent). Acara awal untuk sebuah pesan. Termasuk peran untuk pesan. -
contentBlockStart
(ContentBlockStartEvent). Acara mulai blok Konten. Hanya menggunakan alat. -
contentBlockDelta
(ContentBlockDeltaEvent). Acara delta blok Konten. Termasuk sebagian teks yang dihasilkan model atau json masukan sebagian untuk penggunaan alat. -
contentBlockStop
(ContentBlockStopEvent). Peristiwa penghentian blok Konten. -
messageStop
(MessageStopEvent). Acara berhenti untuk pesan. Termasuk alasan mengapa model berhenti menghasilkan output. -
metadata
(ConverseStreamMetadataEvent). Metadata untuk permintaan. Metadata mencakup penggunaan token inusage
(TokenUsage) dan metrik untuk panggilan inmetrics
(). ConverseStreamMetadataEvent
ConverseStream mengalirkan blok konten lengkap sebagai ContentBlockStartEvent
acara, satu atau beberapa ContentBlockDeltaEvent
acara, dan ContentBlockStopEvent
acara. Gunakan contentBlockIndex
bidang sebagai indeks untuk mengkorelasikan peristiwa yang membentuk blok konten.
Contoh berikut adalah sebagian respon dariConverseStream
.
{'messageStart': {'role': 'assistant'}} {'contentBlockDelta': {'delta': {'text': ''}, 'contentBlockIndex': 0}} {'contentBlockDelta': {'delta': {'text': ' Title'}, 'contentBlockIndex': 0}} {'contentBlockDelta': {'delta': {'text': ':'}, 'contentBlockIndex': 0}} . . . {'contentBlockDelta': {'delta': {'text': ' The'}, 'contentBlockIndex': 0}} {'messageStop': {'stopReason': 'max_tokens'}} {'metadata': {'usage': {'inputTokens': 47, 'outputTokens': 20, 'totalTokens': 67}, 'metrics': {'latencyMs': 100.0}}}