Урок 4.3Урок 21 з 30
Структурований вивід через tool use
Enforce structured output using tool use and JSON schemas
Головне
- 1Найнадійніше отримати вивід, що відповідає схемі, через інструмент із JSON-схемою в
input_schema. Дані приходять уже розпарсеними в полі input блокуtool_use, тож синтаксичних помилок JSON просто не буває. Не просіть JSON у промпті й не розбирайте текст регулярними виразами. - 2
tool_choice: auto може повернути текст замість виклику. any змушує викликати хоч якийсь інструмент — це варіант для кількох схем витягування, коли тип документа невідомий. {type: tool, name} примусово викликає конкретний інструмент, наприкладextract_metadataперед збагаченням. - 3Строга схема рятує від синтаксичних помилок, але не від смислових: якщо позиції не сходяться з підсумком чи значення потрапило не в те поле, відповідь усе одно пройде. Це перевіряють у коді.
- 4Робіть поле обов'язковим, лише якщо воно є в кожному джерелі. Поля, яких у джерелі може не бути, робіть nullable, інакше модель вигадуватиме значення, аби задовольнити схему. У розширюваний enum додайте «other» і рядок з уточненням, а для неоднозначних випадків — «unclear».
- 5Схема перевіряє типи, а не формати. Правила нормалізації (дати в ISO 8601, одиниці виміру, коди валют, формат шляхів) пропишіть у промпті поруч зі строгою схемою.
Що перевіряє іспит із цієї теми
Формулювання з програми іспиту (англійською).
- 4.3.K1tool_use with JSON schema is the most reliable route to schema-compliant output, no syntax errors
- 4.3.K2tool_choice auto (may return text) vs any (must call some tool) vs forced (specific tool)
- 4.3.K3Strict schemas stop syntax errors, not semantic errors (sums, wrong fields)
- 4.3.K4Schema design: required vs optional, enum with "other" + detail
- 4.3.S1Define extraction tools with JSON schema inputs and read data from tool_use
- 4.3.S2tool_choice any when several extraction schemas exist and type is unknown
- 4.3.S3Force extract_metadata to run before enrichment
- 4.3.S4Make fields nullable when sources may lack them to stop fabrication
- 4.3.S5Add "unclear" and "other" + detail enum values
- 4.3.S6Add format normalisation rules to prompts alongside strict schemas
Закріпіть тему
Дайте відповідь на запитання за сценаріями з цієї теми. До кожного варіанта є розбір.
Тренування 4.3 · 26 запитань