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 Converse API, Anda memanggil Converse
atau ConverseStream
operasi 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 pondasi yang didukung di Amazon Bedrock.
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 Converse API, Anda harus menggunakan dokumen yang tidak dikompresi dan diterjemahkan yang berukuran kurang dari 4,5 MB.
Anda menambahkan 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. Perannya bisa menjadi 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. " } ]
Anda juga dapat secara opsional menambahkan pos pemeriksaan cache ke tools
bidang system
atau untuk menggunakan caching prompt, tergantung pada model yang Anda gunakan. Untuk informasi selengkapnya, lihat Caching cepat untuk inferensi model yang lebih cepat.
catatan
Amazon Bedrock prompt caching saat ini hanya tersedia untuk sejumlah pelanggan tertentu. Untuk mempelajari lebih lanjut tentang berpartisipasi dalam pratinjau, lihat caching prompt Amazon Bedrock
Parameter inferensi
Bagian Converse APImendukung 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
Tanggapan yang Anda dapatkan dari Converse APItergantung 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.
Jika Anda menggunakan caching prompt, maka di bidang penggunaan, cacheReadInputTokensCount
dan cacheWriteInputTokensCount
memberi tahu Anda berapa banyak total token yang dibaca dari cache dan ditulis ke cache, masing-masing.
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 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}}}