o
    1j"                     @   s8  U d dl mZmZmZmZmZmZ d dlmZm	Z	m
Z
mZ d dlmZmZ ddlmZmZ ddlmZ ddlmZmZ g d	Zd
Zee ed< dZee ed< G dd deejZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G dd deZ#eee fee"e#fdZ$ee ed< dS )    )DictFinalListOptionalTupleUnion)	BaseModelFieldfield_validatormodel_validator)	AnnotatedLiteral   )DataInfoPrimaryOperations   )ocr)DocumentExportsOutputFormatsMixin)
INFER_ENDPOINTInferRequestLayoutParsingResultInferResultRESTRUCTURE_PAGES_ENDPOINTRestructurePagesRequestRestructurePagesResultPRIMARY_OPERATIONSMarkdownDataPagez/layout-parsingr   z/restructure-pagesr   c                   @   s  e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZeeeef  ed< dZee ed	< dZeeeeeef ef  ed
< dZeeeef  ed< dZed ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZeeeeddf  ed< dZ eeeeddf  ed< dZ!eeeeddf  ed< dZ"ee ed< dZ#ee$e  ed< dZ%ee ed< dZ&eed< dZ'eed< dZ(eed < dZ)eed!< dZ*eed"< dZ+ee ed#< dZ,ee ed$< e-de.d%d& Z/e-de.d'd( Z0e-de.d)d* Z1e-de.d+d, Z2e-de.d-d. Z3e-d
e.d/d0 Z4e-de.d1d2 Z5e6d3d4d5d6 Z7dS )7r   NuseDocOrientationClassifyuseDocUnwarpinguseLayoutDetectionuseChartRecognitionuseSealRecognitionuseOcrForImageBlocklayoutThreshold	layoutNmslayoutUnclipRatiolayoutMergeBboxesModeauto)rectZquadZpolyr)   layoutShapeModepromptLabelformatBlockContentrepetitionPenaltytemperaturetopPr   )gt	minPixels	maxPixelsmaxNewTokensmergeLayoutBlocksmarkdownIgnoreLabelsvlmExtraArgsTprettifyMarkdownFshowFormulaNumberrestructurePagesmergeTablesrelevelTitles	visualizelogIdc                 C   s0   |d urd|  k rdksn t d| |S )Nr   r   u#   `topP` must be > 0 and ≤ 1; got: 
ValueErrorclsv rD   o/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/inference/serving/schemas/paddleocr_vl.pyvalidate_top_pH   s   zInferRequest.validate_top_pc                 C   s"   |d ur|dk rt d| |S )Nr   u"   `temperature` must be ≥ 0; got: r?   rA   rD   rD   rE   validate_temperatureO      z!InferRequest.validate_temperaturec                 C   s"   |d ur|dkrt d| |S )Nr   z&`repetitionPenalty` must be > 0; got: r?   rA   rD   rD   rE   validate_repetition_penaltyV   rH   z(InferRequest.validate_repetition_penaltyc                 C   s6   d}|d ur||vrd |}td| d| |S )N)r   ZformulatablechartZsealZspotting, z`promptLabel` must be one of: ; got: )joinr@   )rB   rC   Z_ALLOWED_PROMPT_LABELSZvalid_valuesrD   rD   rE   validate_prompt_label]   s
   
z"InferRequest.validate_prompt_labelc                 C   s   d}|d u r|S t |tr ||vrtdd| d| |S t |trP| D ]$\}}t |ts<tdt|j ||vrMtdd| d| q)|S td)N)ZlargeZsmallunionz(`layoutMergeBboxesMode` must be one of: rL   rM   z@`layoutMergeBboxesMode` dictionary values must be strings; got: z9`layoutMergeBboxesMode` dictionary value must be one of: z6`layoutMergeBboxesMode` must be a string or dictionary)
isinstancestrr@   rN   dictitemstype__name__)rB   rC   Z_ALLOWED_MERGE_BBOXES_MODESkeyvaluerD   rD   rE   validate_merge_bboxes_modem   s,   


z'InferRequest.validate_merge_bboxes_modec                 C   T   |d u r|S ddd}t |tr$| D ]\}}||d| d q|S || |S )N c                 S   s   t | ttfr| dkrtd| d|  d S t | trbt| dkr/td| dt|  dt| D ],\}}t |ttfsNtd| dt|j d| |dkr_td| d	| d| q3d S td| d
t| j )Nr   z`layoutUnclipRatio`z must be > 0; got: r   z must be two numbers; got: z valuesz values must be numbers; got: z at position z values must be > 0; got: z' must be a number or two numbers; got: )	rQ   intfloatr@   listlen	enumeraterU   rV   )rX   contextiitemrD   rD   rE   _validate_ratio_value   s2   

zAInferRequest.validate_unclip_ratio.<locals>._validate_ratio_value value for key ''r[   rQ   rS   rT   )rB   rC   rd   rW   rX   rD   rD   rE   validate_unclip_ratio   s   

z"InferRequest.validate_unclip_ratioc                 C   rZ   )Nr[   c                 S   sP   t | ttfstd| dt| j | dk s| dkr&td| d|  d S )Nz`layoutThreshold`z must be a number; got: r   r   z) must be between 0 and 1 inclusive; got: )rQ   r\   r]   r@   rU   rV   )rX   ra   rD   rD   rE   _validate_threshold_value   s   zBInferRequest.validate_threshold.<locals>._validate_threshold_valuere   rf   rg   rh   )rB   rC   rj   rW   rX   rD   rD   rE   validate_threshold   s   


zInferRequest.validate_thresholdafter)modec                 C   s>   | j d ur| jd ur| j | jkrtd| j  d| j d| S )Nz`minPixels` (z&) cannot be greater than `maxPixels` ())r2   r3   r@   )selfrD   rD   rE   validate_pixel_range   s   z!InferRequest.validate_pixel_range)8rV   
__module____qualname__r   r   bool__annotations__r    r!   r"   r#   r$   r%   r   r]   rS   r&   r'   r   r(   rR   r+   r   r,   r-   r.   r/   r0   r2   r   r\   r	   r3   r4   r5   r6   r   r7   r8   r9   r:   r;   r<   r=   r>   r
   classmethodrF   rG   rI   rO   rY   ri   rk   r   rp   rD   rD   rD   rE   r   )   sj   
 "%r   c                   @   s.   e Zd ZU eed< dZeeeef  ed< dS )r   textNimages)rV   rq   rr   rR   rt   rw   r   r   rD   rD   rD   rE   r         
 r   c                   @   sV   e Zd ZU eed< eed< dZeee	e	f  ed< dZ
ee	 ed< dZee ed< dS )r   prunedResultmarkdownNoutputImages
inputImageexports)rV   rq   rr   rS   rt   r   r{   r   r   rR   r|   r}   r   rD   rD   rD   rE   r      s   
 r   c                   @   s"   e Zd ZU ee ed< eed< dS )r   layoutParsingResultsZdataInfoN)rV   rq   rr   r   r   rt   r   rD   rD   rD   rE   r      s   
 r   c                   @   s.   e Zd ZU eed< dZeeeef  ed< dS )r   ry   NmarkdownImages)	rV   rq   rr   rS   rt   r   r   r   rR   rD   rD   rD   rE   r      rx   r   c                   @   sf   e Zd ZU ee ed< dZeed< dZeed< dZ	eed< dZ
eed< dZeed< d	Zee ed
< d	S )r   ZpagesTr;   r<   FconcatenatePagesr8   r9   Nr>   )rV   rq   rr   r   r   rt   r;   rs   r<   r   r8   r9   r>   r   rR   rD   rD   rD   rE   r      s   
 r   c                   @   s   e Zd ZU ee ed< dS )r   r~   N)rV   rq   rr   r   r   rt   rD   rD   rD   rE   r      s   
 r   )Zinferzrestructure-pagesr   N)%typingr   r   r   r   r   r   Zpydanticr   r	   r
   r   Ztyping_extensionsr   r   Zinfra.modelsr   r   Zsharedr   Zshared.exportr   r   __all__r   rR   rt   r   ZBaseInferRequestr   r   r   r   r   r   r   r   rD   rD   rD   rE   <module>   s.   " *
