
Amazon Bedrock sprístupňuje štruktúrované výstupy pre Claude
Podľa AWS sú štruktúrované výstupy pre modely Anthropic Claude na Amazon Bedrock všeobecne dostupné cez rozhrania bedrock-runtime aj bedrock-mantle. Dostupnosť sa vzťahuje na všetky modely Claude tam, kde je príslušný model dostupný. Funkcia umožňuje definovať štruktúru odpovede pomocou schémy JSON a počas generovania vynucovať jej podporované pravidlá.
Štruktúra sa uplatňuje už pri generovaní
Technika obmedzeného dekódovania riadi tvorbu tokenov tak, aby JSON rešpektoval schému, typy polí, povinné položky a povolené polia. AWS opisuje menšiu potrebu vlastného parsovania a opakovaných požiadaviek pri porušení schémy, ako aj menší počet výstupných tokenov. Pri veľkom objeme úloh to podľa spoločnosti môže znížiť náklady na inferenciu; článok neuvádza nezávisle namerané úspory.
Medzi uvedené použitia patrí získavanie údajov z finančných správ, dokumentov o súlade s predpismi, klinických poznámok, faktúr, zmlúv, e-mailov a prepisov. Ďalšími príkladmi sú obohacovanie produktových katalógov, kontrola argumentov nástrojov a klasifikácia či smerovanie tiketov, obchodných kontaktov a obsahu. AWS spomína Claude Haiku 5.5 pri súhrnoch, skracovaní kontextu, databázových dopytoch a klasifikácii.
Rozhrania a vstupy nástrojov
Funkciu možno používať cez Boto3 a API bedrock-runtime alebo cez Messages API a bedrock-mantle. Podporuje dávkovú inferenciu aj streamované odpovede vo forme typovaných udalostí. Inferencia medzi regiónmi je podporovaná na bedrock-runtime. Pri InvokeModel sa schéma odovzdáva ako objekt JSON v output_config.format v natívnom tele požiadavky Anthropic, nie ako reťazec JSON.
Na bedrock-mantle nastavenie strict: true obmedzuje vstupy nástrojov podľa zadanej schémy vrátane typov, povolených hodnôt a polí. AWS opisuje Mantle ako rozhranie pre agentové aplikácie so serverovými nástrojmi, inferenciou na pozadí a konverzáciami so zachovaním stavu. Ako príklady serverových nástrojov uvádza vyhľadávanie na webe a interpret kódu. Sprievodný ukážkový notebook obsahuje ďalšie príklady API vrátane Messages API.
Kompilácia a opätovné používanie schém
Bedrock overuje schémy podľa podporovanej podmnožiny JSON Schema Draft 2020-12. Nové schémy kompiluje do gramatických artefaktov, čo môže predĺžiť prvú požiadavku. Skompilované gramatiky sa v rámci účtu uchovávajú vo vyrovnávacej pamäti 24 hodín od prvého prístupu. Zmena štruktúry vyvolá novú kompiláciu; samotná zmena polí názvu alebo opisu zachová uloženú gramatiku.
Každý objekt musí obsahovať additionalProperties: false, inak schéma nebude prijatá. AWS odporúča výstižné názvy vlastností a opisy a pri poliach s obmedzeným súborom platných hodnôt použiť enum. Odporúča tiež začať minimom potrebných polí, zložitosť pridávať postupne, schémy opakovane používať a skúšať ich na vstupoch zodpovedajúcich produkcii. Základné schémy sa kompilujú rýchlejšie a schéma sa započítava do veľkosti dát požiadavky Converse API.
Podporovaná je len časť pravidiel JSON Schema
Podporované typy zahŕňajú object, array, string, integer, number, boolean a null. Hodnoty enum môžu byť reťazce, čísla, booleovské hodnoty alebo null. Zoznam zahŕňa aj const, s obmedzeniami anyOf a allOf, interné odkazy cez $ref, $def a definitions a hodnoty minItems 0 alebo 1. Uvedené formáty reťazcov sú date-time, time, date, duration, email, hostname, uri, ipv4, ipv6 a uuid.
Prijatie pravidla API neznamená jeho vynucovanie pri generovaní. AWS uvádza, že externé odkazy $ref, číselné obmedzenia minimum, maximum a multipleOf aj obmedzenia dĺžky reťazcov minLength a maxLength API prijíma, no pri generovaní ich nevynucuje. Tieto obmedzenia musí overovať samotná aplikácia.
Kontrola dôvodu ukončenia zostáva potrebná
Odmietnutie z bezpečnostných dôvodov alebo dosiahnutie limitu max_tokens pred dokončením môže viesť k odpovedi, ktorá schéme nezodpovedá. Vývojári preto podľa AWS musia pri každej odpovedi kontrolovať dôvod ukončenia a ošetriť oba prípady. Štruktúrované výstupy tak znižujú opísanú záťaž pri spracovaní formátu, ale zachovávajú potrebu týchto kontrol.
Zdroj: technický článok AWS o štruktúrovaných výstupoch pre Claude na Amazon Bedrock.