feat: Add structured output support with JSON schema validation

- Introduced `structured_output` and `json_schema` parameters to enhance API responses.
- Updated service schemas and API client methods to handle structured output.
- Added translations for new parameters in multiple languages.
- Updated documentation to reflect changes in service capabilities.

Closes #9
This commit is contained in:
SMKRV
2025-12-30 16:44:01 +03:00
parent ef579af7c1
commit a5ac100b06
14 changed files with 205 additions and 47 deletions
+5 -1
View File
@@ -66,6 +66,8 @@ CONF_INSTANCE: Final = "instance"
CONF_MAX_HISTORY_SIZE: Final = "max_history_size" # Correct constant name
CONF_IS_ANTHROPIC: Final = "is_anthropic"
CONF_CONTEXT_MESSAGES: Final = "context_messages"
CONF_STRUCTURED_OUTPUT: Final = "structured_output"
CONF_JSON_SCHEMA: Final = "json_schema"
ABSOLUTE_MAX_HISTORY_SIZE = 500
MAX_ATTRIBUTE_SIZE = 4 * 1024
@@ -199,7 +201,9 @@ SERVICE_SCHEMA_ASK_QUESTION = vol.Schema({
vol.Optional("context_messages"): vol.All(
vol.Coerce(int),
vol.Range(min=1, max=20)
)
),
vol.Optional(CONF_STRUCTURED_OUTPUT, default=False): cv.boolean,
vol.Optional(CONF_JSON_SCHEMA): cv.string,
})
SERVICE_SCHEMA_SET_SYSTEM_PROMPT = vol.Schema({