← Cloudflare Workers AI / workers-ai / features
JSON Mode
Когда текстогенеративным ИИ-моделям нужно программно взаимодействовать с базами данных, сервисами и внешними системами, например при вызове инструментов или при создании ИИ-агентов, вместо естественного языка требуется структурированный формат ответа.
Workers AI поддерживает JSON Mode, что позволяет приложениям запрашивать структурированный ответ при взаимодействии с ИИ-моделями.
Схема
JSON Mode совместим с реализацией OpenAI; чтобы включить его, добавьте response_format к объекту запроса, используя следующее соглашение:
{
response_format: {
title: "JSON Mode",
type: "object",
properties: {
type: {
type: "string",
enum: ["json_object", "json_schema"],
},
json_schema: {},
}
}
}Где json_schema должен быть допустимым JSON Schema ↗ объявление.
Пример JSON Mode
При использовании JSON Format передавайте схему, как показано в примере ниже, в составе запроса, который вы отправляете LLM.
{
"messages": [
{
"role": "system",
"content": "Extract data about a country."
},
{
"role": "user",
"content": "Tell me about India."
}
],
"response_format": {
"type": "json_schema",
"json_schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"capital": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"capital",
"languages"
]
}
}
}LLM будет следовать схеме и вернёт ответ вида:
{
"response": {
"name": "India",
"capital": "New Delhi",
"languages": [
"Hindi",
"English",
"Bengali",
"Telugu",
"Marathi",
"Tamil",
"Gujarati",
"Urdu",
"Kannada",
"Odia",
"Malayalam",
"Punjabi",
"Sanskrit"
]
}
}Как видите, модель соблюдает определение схемы JSON, указанное в запросе, и возвращает провалидированный объект JSON.
Поддерживаемые модели
Вот список моделей, которые теперь поддерживают JSON Mode:
- @cf/meta/llama-3.1-8b-instruct-fast
- @cf/meta/llama-3.1-70b-instruct
- @cf/meta/llama-3.3-70b-instruct-fp8-fast
- @cf/meta/llama-3-8b-instruct
- @cf/meta/llama-3.1-8b-instruct
- @cf/meta/llama-3.2-11b-vision-instruct
- @hf/nousresearch/hermes-2-pro-mistral-7b
- @hf/thebloke/deepseek-coder-6.7b-instruct-awq
- @cf/deepseek-ai/deepseek-r1-distill-qwen-32b
Мы продолжим пополнять этот список новыми и запрошенными моделями.
Обратите внимание, что Workers AI не гарантирует ответ модели в точном соответствии с запрошенной JSON Schema. В зависимости от сложности задачи и полноты JSON Schema в отдельных случаях модель может быть не в состоянии выполнить запрос. Тогда возникнет ошибка JSON Mode couldn't be met возвращается и должен быть обработан.
JSON Mode на данный момент не поддерживает потоковую передачу.