Menghasilkan output terstruktur dengan Nova - Amazon Nova

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

Menghasilkan output terstruktur dengan Nova

Output terstruktur sangat penting untuk kasus penggunaan machine-to-machine komunikasi, karena ini memungkinkan kasus penggunaan hilir untuk lebih efektif mengkonsumsi dan memproses output yang dihasilkan. Baik itu mengekstraksi informasi dari dokumen, membuat asisten yang mengambil data dari APIs, atau mengembangkan agen yang mengambil tindakan, tugas-tugas ini memerlukan model dasar untuk menghasilkan output dalam format terstruktur tertentu.

Model Nova memanfaatkan Constrained Decoding untuk memastikan keandalan model yang tinggi dalam output yang dihasilkan dan memungkinkan model menangani skema kompleks dengan mudah. Penguraian kode terbatas bergantung pada tata bahasa untuk “membatasi” kemungkinan token yang dapat dihasilkan model pada setiap langkah. Ini dibedakan dari teknik prompt yang digunakan secara historis karena ini mengubah token aktual yang dapat dipilih model saat menghasilkan output. Misalnya, saat menutup objek JSON, model akan dibatasi hanya menjadi token} untuk dipilih. Penguraian kode terbatas dimanfaatkan setiap kali konfigurasi alat dilewatkan. Karena penggunaan alat sudah memberi kita skema tertentu, kita dapat menggunakannya untuk menghasilkan tata bahasa secara dinamis berdasarkan skema yang diinginkan oleh pengembang. Penguraian kode terbatas mencegah model menghasilkan kunci yang tidak valid dan menerapkan tipe data yang benar berdasarkan skema yang ditentukan.

Untuk memanfaatkan penggunaan alat dengan output terstruktur, langkah utama adalah menentukan skema JSON yang Anda butuhkan untuk output. Di bawah ini adalah contoh skema JSON yang didefinisikan dalam definisi: tool_config

tool_config = { "tools": [ { "toolSpec": { "name": "ProductAnalysis", "description": "Analyze product information from text.", "inputSchema": { "json": { "type": "object", "properties": { "name": { "type": "string", "description": "Product name" }, "rating": { "maximum": 5, "description": "Customer rating 1-5", "type": [ "number", "null" ], "minimum": 1 }, "features": { "description": "Key product features", "type": "array", "items": { "type": "string" } }, "category": { "type": "string", "description": "Product category" }, "price": { "type": "number", "description": "Price in USD" } }, "required": [ "name", "category", "price", "features" ] } } } } ], "toolChoice": { "tool": { "name": "ProductAnalysis" } } }

Saat Anda memanggil alat nanti menggunakan model, Anda akan menerima output yang merespons dalam format skema. Misalnya, di bawah ini adalah contoh memanggil model dengan Python:

import boto3 client = boto3.client("bedrock-runtime") model_id = "amazon.nova-lite-1-5-v1:0" user_query = """The Amazon Kindle Scribe is a state-of-the-art e-reader designed for both reading and writing, featuring a 10.2-inch paper-like display and a premium stylus. This versatile device allows users to enjoy books, take notes, annotate PDFs, and even sketch, making it ideal for readers, students, and professionals. Priced at $339.99, it falls under the electronics category and boasts features like a front light, adjustable warm light settings, and up to 12 weeks of battery life on a single charge. Customer ratings for the Kindle Scribe average around 4.5 stars, reflecting its high user satisfaction.""" messages = [{ "role": "user", "content": [{ "text": user_query }] }] system = [{"text": "Leverage the ProductAnalysis tool to extract product information"}] inference_params = {"temperature": 0} response = client.converse(modelId=model_id, system=system, messages=messages, toolConfig=tool_config, inferenceConfig=inference_params) print(next( block["toolUse"] for block in response["output"]["message"]["content"] if "toolUse" in block ))

Outputnya kemudian muncul seperti ini:

{ "toolUseId": "tooluse_hke1FUeuRbKXK8DPqIptVg", "name": "ProductAnalysis", "input": { "name": "Amazon Kindle Scribe", "rating": 4.5, "features": [ "10.2-inch paper-like display", "premium stylus", "front light", "adjustable warm light settings", "up to 12 weeks of battery life" ], "category": "electronics", "price": 339.99 } }