View a markdown version of this page

Menggunakan Converse API - Amazon Nova

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

Menggunakan Converse API

Converse API menyediakan antarmuka terpadu untuk berinteraksi dengan model Amazon Nova. Ini mengabstraksi detail spesifik model dan menyediakan cara yang konsisten untuk menangani percakapan multi-putaran, permintaan sistem, dan respons streaming di semua model Amazon Nova.

Struktur permintaan

  • Percakapan multi-putaran: Pertahankan konteks di beberapa bursa

  • Permintaan sistem: Instruksi sistem seperti persona atau pedoman respons

  • Obrolan dokumen: Berinteraksi dengan dan meminta dokumen atau koleksi dokumen

  • Visi: Memproses dan menganalisis gambar dan video

  • Penggunaan alat: Aktifkan model untuk menggunakan alat eksternal dan APIs

  • Pagar pembatas: Menerapkan pemfilteran konten dan kontrol keamanan

  • Penalaran: Pemikiran yang diperluas untuk pemecahan masalah yang kompleks

Permintaan API Converse dasar mencakup ID model dan daftar pesan:

import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'What is machine learning?'}] } ] ) content_list = response["output"]["message"]["content"] # Extract the first text block text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)

Menggunakan prompt sistem

Permintaan sistem memberikan konteks dan instruksi untuk model:

import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', system=[ {'text': 'You are a helpful AI assistant specializing in cloud computing.'} ], messages=[ { 'role': 'user', 'content': [{'text': 'Explain serverless computing.'}] } ] ) # Print the response text content_list = response["output"]["message"]["content"] text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)

Parameter inferensi

Kontrol output model menggunakan parameter inferensi. Berikut ini adalah parameter inferensi yang tersedia.

  • MaxTokens (integer): Jumlah maksimum token yang akan dihasilkan (hingga 65.000). Jika tidak ditentukan, model menggunakan default dinamis berdasarkan konteks permintaan.

  • suhu (mengambang): Mengontrol keacakan (0,0-1,0, default 0,7). Nilai yang lebih rendah membuat output lebih deterministik

  • TopP (float): Ambang pengambilan sampel nukleus (0-1, default 0,9). Nilai yang lebih rendah membuat output lebih fokus

  • stopSequences (array): Urutan karakter yang menghentikan pembuatan saat ditemui

Contoh:

import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'Write a short story.'}] } ], inferenceConfig={ 'maxTokens': 512, 'temperature': 0.7, 'topP': 0.9, 'stopSequences': ['END'] } ) content_list = response["output"]["message"]["content"] text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)

Menggunakan penalaran

Nova 2 Lite mendukung pemikiran yang diperluas untuk pemecahan masalah yang kompleks. Aktifkan penalaran denganreasoningConfig.

Secara default, penalaran dinonaktifkan untuk mengoptimalkan kecepatan dan biaya pada kueri sederhana. Ketika Anda perlu melampaui tugas-tugas sederhana ini, Anda dapat mengaktifkan penalaran. Nova 2 memberikan kontrol fleksibel atas kedalaman penalaran melalui tiga tingkat upaya:

Usaha rendah (maxReasoningEffort: "low")

TERBAIK UNTUK: TUGAS DENGAN KOMPLEKSITAS TAMBAHAN YANG MEMBUTUHKAN PEMIKIRAN TERSTRUKTUR. Misalnya, Anda dapat menggunakan ini untuk tinjauan kode dan saran peningkatan di mana model perlu mempertimbangkan dengan cermat kualitas kode yang ada, tugas analisis yang memerlukan pertimbangan yang cermat dari berbagai faktor, atau skenario pemecahan masalah yang mendapat manfaat dari pendekatan metodis. Upaya rendah sangat ideal untuk tugas gabungan di mana penalaran dasar meningkatkan akurasi tanpa memerlukan perencanaan multi-langkah yang mendalam.

Upaya sedang (maxReasoningEffort: "medium")

TERBAIK UNTUK: TUGAS MULTI-LANGKAH DAN ALUR KERJA PENGKODEAN. Misalnya, Anda dapat menggunakan ini untuk pengembangan perangkat lunak dan debugging di mana model perlu memahami struktur kode yang ada sebelum menerapkan perubahan, pembuatan kode yang memerlukan koordinasi di beberapa file atau komponen, perhitungan multi-langkah dengan saling ketergantungan, atau merencanakan tugas dengan beberapa kendala. Upaya sedang optimal untuk alur kerja agen yang mengoordinasikan beberapa alat dan memerlukan model untuk mempertahankan konteks di beberapa operasi berurutan.

Upaya tinggi (maxReasoningEffort: "high")

TERBAIK UNTUK: MEMBENDUNG PENALARAN DAN PEMECAHAN MASALAH TINGKAT LANJUT. Misalnya, Anda dapat menggunakan ini untuk masalah matematika tingkat lanjut dan bukti yang memerlukan step-by-step verifikasi ketat, analisis ilmiah dan tugas penelitian yang menuntut penyelidikan mendalam, desain sistem yang kompleks dengan pertimbangan arsitektur di berbagai dimensi, atau skenario pengambilan keputusan kritis dengan implikasi signifikan. Upaya tinggi memberikan akurasi maksimum untuk tugas-tugas yang membutuhkan penalaran canggih, evaluasi alternatif yang cermat, dan validasi kesimpulan yang menyeluruh.

Contoh berikut menunjukkan tingkat upaya penalaran yang berbeda:

Low effort
import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', system=[{"text": "You are a highly capable personal assistant"}], messages=[{ "role": "user", "content": [{"text": "Provide a meal plan for a gluten free family of 4."}] }], inferenceConfig={ "temperature": 0.7, "topP": 0.9, "maxTokens": 10000 }, additionalModelRequestFields={ "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "low" } } )

Parameter penalaran:

Berikut ini adalah parameter penalaran

  • type: enabled atau disabled (default:disabled)

  • maxReasoningEffort:low,medium, atauhigh. Ini diperlukan saat penalaran diaktifkan.

catatan

Temperatur, TopP dan TopK tidak dapat digunakan dengan maxReasoningEffort set ke. high Ini akan menyebabkan kesalahan.

Tanggapan tersebut mencakup konten penalaran:

{ "output": { "message": { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "[REDACTED]" } } }, { "text": "Based on the premises, we can conclude..." } ] } }, "stopReason": "end_turn" }
catatan

Dengan Amazon Nova 2, konten penalaran ditampilkan sebagai[REDACTED]. Anda masih dikenakan biaya untuk penalaran token karena mereka berkontribusi pada peningkatan kualitas output. Kami menyertakan bidang ini dalam struktur respons sekarang untuk mempertahankan opsi mengekspos konten penalaran di masa depan. Kami secara aktif bekerja dengan pelanggan untuk menentukan pendekatan terbaik untuk memunculkan proses penalaran model.