From 376a49a414019ea1cad0fba527844f8e939b510c Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Tue, 27 Jan 2026 11:14:03 -0800 Subject: [PATCH] feat: add confidence scores for structured extract (box/box-openapi#582) --- .codegen.json | 2 +- box_sdk_gen/managers/ai.py | 4 ++++ box_sdk_gen/schemas/ai_extract_structured.py | 4 ++++ box_sdk_gen/schemas/ai_extract_structured_response.py | 4 ++++ docs/box_sdk_gen/ai.md | 2 ++ 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.codegen.json b/.codegen.json index c441e106a..7741e4131 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "f9e2519", "specHash": "f8fb08c", "version": "4.3.0" } +{ "engineHash": "f9e2519", "specHash": "ccdb456", "version": "4.3.0" } diff --git a/box_sdk_gen/managers/ai.py b/box_sdk_gen/managers/ai.py index 11b1d6f37..483c0e7ed 100644 --- a/box_sdk_gen/managers/ai.py +++ b/box_sdk_gen/managers/ai.py @@ -425,6 +425,7 @@ def create_ai_extract_structured( *, metadata_template: Optional[CreateAiExtractStructuredMetadataTemplate] = None, fields: Optional[List[CreateAiExtractStructuredFields]] = None, + include_confidence_score: Optional[bool] = None, ai_agent: Optional[AiExtractStructuredAgent] = None, extra_headers: Optional[Dict[str, Optional[str]]] = None ) -> AiExtractStructuredResponse: @@ -450,6 +451,8 @@ def create_ai_extract_structured( :param fields: The fields to be extracted from the provided items. For your request to work, you must provide either `metadata_template` or `fields`, but not both., defaults to None :type fields: Optional[List[CreateAiExtractStructuredFields]], optional + :param include_confidence_score: A flag to indicate whether confidence scores for every extracted field should be returned., defaults to None + :type include_confidence_score: Optional[bool], optional :param extra_headers: Extra headers that will be included in the HTTP request., defaults to None :type extra_headers: Optional[Dict[str, Optional[str]]], optional """ @@ -459,6 +462,7 @@ def create_ai_extract_structured( 'items': items, 'metadata_template': metadata_template, 'fields': fields, + 'include_confidence_score': include_confidence_score, 'ai_agent': ai_agent, } headers_map: Dict[str, str] = prepare_params({**extra_headers}) diff --git a/box_sdk_gen/schemas/ai_extract_structured.py b/box_sdk_gen/schemas/ai_extract_structured.py index 5a742b529..172e90003 100644 --- a/box_sdk_gen/schemas/ai_extract_structured.py +++ b/box_sdk_gen/schemas/ai_extract_structured.py @@ -114,6 +114,7 @@ def __init__( *, metadata_template: Optional[AiExtractStructuredMetadataTemplateField] = None, fields: Optional[List[AiExtractStructuredFieldsField]] = None, + include_confidence_score: Optional[bool] = None, ai_agent: Optional[AiExtractStructuredAgent] = None, **kwargs ): @@ -126,9 +127,12 @@ def __init__( :param fields: The fields to be extracted from the provided items. For your request to work, you must provide either `metadata_template` or `fields`, but not both., defaults to None :type fields: Optional[List[AiExtractStructuredFieldsField]], optional + :param include_confidence_score: A flag to indicate whether confidence scores for every extracted field should be returned., defaults to None + :type include_confidence_score: Optional[bool], optional """ super().__init__(**kwargs) self.items = items self.metadata_template = metadata_template self.fields = fields + self.include_confidence_score = include_confidence_score self.ai_agent = ai_agent diff --git a/box_sdk_gen/schemas/ai_extract_structured_response.py b/box_sdk_gen/schemas/ai_extract_structured_response.py index 76ae79525..5c5e7dc05 100644 --- a/box_sdk_gen/schemas/ai_extract_structured_response.py +++ b/box_sdk_gen/schemas/ai_extract_structured_response.py @@ -18,6 +18,7 @@ def __init__( created_at: DateTime, *, completion_reason: Optional[str] = None, + confidence_score: Optional[Dict] = None, ai_agent_info: Optional[AiAgentInfo] = None, **kwargs ): @@ -26,9 +27,12 @@ def __init__( :type created_at: DateTime :param completion_reason: The reason the response finishes., defaults to None :type completion_reason: Optional[str], optional + :param confidence_score: The confidence score numeric values for each extracted field as a JSON dictionary. This can be empty if no field could be extracted., defaults to None + :type confidence_score: Optional[Dict], optional """ super().__init__(**kwargs) self.answer = answer self.created_at = created_at self.completion_reason = completion_reason + self.confidence_score = confidence_score self.ai_agent_info = ai_agent_info diff --git a/docs/box_sdk_gen/ai.md b/docs/box_sdk_gen/ai.md index 47ab0f5bd..2a3a69d08 100644 --- a/docs/box_sdk_gen/ai.md +++ b/docs/box_sdk_gen/ai.md @@ -178,6 +178,8 @@ client.ai.create_ai_extract_structured([AiItemBase(id=file.id)], fields=[CreateA - The metadata template containing the fields to extract. For your request to work, you must provide either `metadata_template` or `fields`, but not both. - fields `Optional[List[CreateAiExtractStructuredFields]]` - The fields to be extracted from the provided items. For your request to work, you must provide either `metadata_template` or `fields`, but not both. +- include_confidence_score `Optional[bool]` + - A flag to indicate whether confidence scores for every extracted field should be returned. - ai_agent `Optional[AiExtractStructuredAgent]` - extra_headers `Optional[Dict[str, Optional[str]]]` - Extra headers that will be included in the HTTP request.