
    }-j                     v    d dl mZmZ d dlmZ ddlmZmZ ddlm	Z	  G d de          Z
 G d d	e          Zd
S )   )get_subcommand_argsstr2bool)logger   )PaddleXPipelineWrapperPipelineCLISubcommandExecutor)create_config_from_structurec                       e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fd	Zed             ZddddddddddddddddddddddddddddddddZddddddddddddddddddddddddddddddddZd	d
ddddddddd
dZd	d
ddddddddd
dZ	d Z
d Zed             Zd Z xZS )PPDocTranslationNcA                     t                                                      }B|B                    d           |B                    d           |B| _         t	                      j        di |A d S )Nselfkwargs )localscopypop_paramssuper__init__)Dr   layout_detection_model_namelayout_detection_model_dirlayout_threshold
layout_nmslayout_unclip_ratiolayout_merge_bboxes_modechart_recognition_model_namechart_recognition_model_dirchart_recognition_batch_sizeregion_detection_model_nameregion_detection_model_dir#doc_orientation_classify_model_name"doc_orientation_classify_model_dirdoc_unwarping_model_namedoc_unwarping_model_dirtext_detection_model_nametext_detection_model_dirtext_det_limit_side_lentext_det_limit_typetext_det_threshtext_det_box_threshtext_det_unclip_ratiotextline_orientation_model_nametextline_orientation_model_dirtextline_orientation_batch_sizetext_recognition_model_nametext_recognition_model_dirtext_recognition_batch_sizetext_rec_score_threshtable_classification_model_nametable_classification_model_dir,wired_table_structure_recognition_model_name+wired_table_structure_recognition_model_dir/wireless_table_structure_recognition_model_name.wireless_table_structure_recognition_model_dir&wired_table_cells_detection_model_name%wired_table_cells_detection_model_dir)wireless_table_cells_detection_model_name(wireless_table_cells_detection_model_dir%table_orientation_classify_model_name$table_orientation_classify_model_dirseal_text_detection_model_nameseal_text_detection_model_dirseal_det_limit_side_lenseal_det_limit_typeseal_det_threshseal_det_box_threshseal_det_unclip_ratio seal_text_recognition_model_nameseal_text_recognition_model_dir seal_text_recognition_batch_sizeseal_rec_score_threshformula_recognition_model_nameformula_recognition_model_dirformula_recognition_batch_sizeuse_doc_orientation_classifyuse_doc_unwarpinguse_textline_orientationuse_seal_recognitionuse_table_recognitionuse_formula_recognitionuse_chart_recognitionuse_region_detectionchat_bot_configr   params	__class__sD                                                                      f/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddleocr/_pipelines/pp_doctranslation.pyr   zPPDocTranslation.__init__   se    H 

6

8""6"""""    c                     dS )NzPP-DocTranslationr   r   s    rX   _paddlex_pipeline_namez'PPDocTranslation._paddlex_pipeline_named       ""rY   FT)rM   rN   rO   rP   rQ   rR   rS   rT   r   r   r   r   r'   r(   r)   r*   r+   r2   rA   rB   rC   rD   rE   rI   #use_wired_table_cells_trans_to_html&use_wireless_table_cells_trans_to_htmluse_table_orientation_classify use_ocr_results_with_table_cellsuse_e2e_wired_table_rec_model use_e2e_wireless_table_rec_modelc                     | j         j        |fi d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| S NrM   rN   rO   rP   rQ   rR   rS   rT   r   r   r   r   r'   r(   r)   r*   r+   r2   rA   rB   rC   rD   rE   rI   r^   r_   r`   ra   rb   rc   )paddlex_pipelinevisual_predict!r   inputrM   rN   rO   rP   rQ   rR   rS   rT   r   r   r   r   r'   r(   r)   r*   r+   r2   rA   rB   rC   rD   rE   rI   r^   r_   r`   ra   rb   rc   r   s!                                    rX   visual_predict_iterz$PPDocTranslation.visual_predict_iterh   s   H 4t$3!
 !
 !
)E)E!
 0/!
 &>%=	!

 "6!5!
 #8"7!
 %<$;!
 #8"7!
 "6!5!
 .-!
 "z!
 !4 3!
 &>%=!
 %<$;!
 !4 3!
  ,O!!
" !4 3#!
$ #8"7%!
& #8"7'!
( %<$;)!
* !4 3+!
, ,O-!
. !4 3/!
0 #8"71!
2 #8"73!
4 1T0S5!
6 4Z3Y7!
8 ,J+I9!
: .N-M;!
< +H*G=!
> .N-MA!
 !
 !	
rY   c                    t           | j        |fi d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d||           S re   )listrj   rh   s!                                    rX   rg   zPPDocTranslation.visual_predict   s   H $D$! ! !-I-I! #4"3! *B)A	!
 &:%9! '<&;! )@(?! '<&;! &:%9! "2!1! &:! %8$7! *B)A! )@(?! %8$7!  !0!!" %8$7#!$ '<&;%!& '<&;'!( )@(?)!* %8$7+!, !0-!. %8$7/!0 '<&;1!2 '<&;3!4 5X4W5!6 8^7]7!8 0N/M9!: 2R1Q;!< /L.K=!> 2R1QA! !#
 #
 #	
rY   zhi  g        
target_language
chunk_sizetask_descriptionoutput_format	rules_strfew_shot_demo_text_contentfew_shot_demo_key_value_listglossaryllm_request_intervalrU   c       
         >     | j         j        |f||||||||	|
|d
|S Nrn   )rf   	translater   ori_md_info_listro   rp   rq   rr   rs   rt   ru   rv   rw   rU   r   s                rX   translate_iterzPPDocTranslation.translate_iter   sS      /t$.
+!-''A)E!5+
 
 
 
 	
rY   c       
         N    t           | j        |f||||||||	|
|d
|          S ry   )rl   r}   r{   s                rX   rz   zPPDocTranslation.translate  s]      D  /%!1+#+E-I!%9 /   
 
 	
rY   c                 6    | j                             |          S N)rf   load_from_markdown)r   ri   s     rX   r   z#PPDocTranslation.load_from_markdown8  s    $77>>>rY   c                 6    | j                             |          S r   )rf   concatenate_markdown_pages)r   markdown_lists     rX   r   z+PPDocTranslation.concatenate_markdown_pages;  s    $??NNNrY   c                     t                      S r   )%PPDocTranslationCLISubcommandExecutor)clss    rX   get_cli_subcommand_executorz,PPDocTranslation.get_cli_subcommand_executor>  s    4666rY   c                    i d| j         d         d| j         d         d| j         d         p| j         d         d| j         d         d| j         d	         d
| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d| j         d         d | j         d!         i d"| j         d#         d$| j         d%         d&| j         d'         d(| j         d)         d*| j         d+         d,| j         d-         d.| j         d/         d0| j         d1         d2| j         d3         d4| j         d5         d6| j         d7         d8| j         d9         d:| j         d;         d<| j         d=         d>| j         d?         d@| j         dA         dB| j         dC         i dD| j         dE         dF| j         dG         dH| j         dI         dJ| j         dK         dL| j         dM         dN| j         dO         dP| j         dQ         dR| j         dS         dT| j         dU         dV| j         dW         dX| j         dY         dZ| j         d[         d\| j         d]         d^| j         d_         d`| j         da         db| j         dc         dd| j         d1         i de| j         d3         df| j         d5         dg| j         d7         dh| j         d9         di| j         d;         dj| j         d=         dk| j         d?         dl| j         dA         dm| j         dC         dn| j         dE         do| j         dG         dp| j         dI         dq| j         dK         dr| j         ds         dt| j         du         dv| j         d5         dw| j         dx         | j         dy         | j         dz         | j         d{         | j         d|         | j         d}         | j         d~         | j         d         | j         d         | j         d         | j         d         d
}t          |          S )NzSSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.use_doc_orientation_classifyrM   zHSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.use_doc_unwarpingrN   z.SubPipelines.LayoutParser.use_doc_preprocessorzJSubPipelines.LayoutParser.SubPipelines.GeneralOCR.use_textline_orientationrO   z.SubPipelines.LayoutParser.use_seal_recognitionrP   z/SubPipelines.LayoutParser.use_table_recognitionrQ   z1SubPipelines.LayoutParser.use_formula_recognitionrR   z/SubPipelines.LayoutParser.use_chart_recognitionrS   z.SubPipelines.LayoutParser.use_region_detectionrT   z?SubPipelines.LayoutParser.SubModules.LayoutDetection.model_namer   z>SubPipelines.LayoutParser.SubModules.LayoutDetection.model_dirr   z>SubPipelines.LayoutParser.SubModules.LayoutDetection.thresholdr   z?SubPipelines.LayoutParser.SubModules.LayoutDetection.layout_nmsr   zHSubPipelines.LayoutParser.SubModules.LayoutDetection.layout_unclip_ratior   zMSubPipelines.LayoutParser.SubModules.LayoutDetection.layout_merge_bboxes_moder   z@SubPipelines.LayoutParser.SubModules.ChartRecognition.model_namer   z?SubPipelines.LayoutParser.SubModules.ChartRecognition.model_dirr   z@SubPipelines.LayoutParser.SubModules.ChartRecognition.batch_sizer   z?SubPipelines.LayoutParser.SubModules.RegionDetection.model_namer   z>SubPipelines.LayoutParser.SubModules.RegionDetection.model_dirr    zcSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.SubModules.DocOrientationClassify.model_namer!   zbSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.SubModules.DocOrientationClassify.model_dirr"   zYSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.SubModules.DocUnwarping.model_namer#   zXSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.SubModules.DocUnwarping.model_dirr$   zUSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.model_namer%   zTSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.model_dirr&   zYSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.limit_side_lenr'   zUSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.limit_typer(   zQSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.threshr)   zUSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.box_threshr*   zWSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextDetection.unclip_ratior+   z[SubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextLineOrientation.model_namer,   zZSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextLineOrientation.model_dirr-   z[SubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextLineOrientation.batch_sizer.   zWSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.model_namer/   zVSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.model_dirr0   zWSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.batch_sizer1   zYSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.score_threshr2   zaSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.TableClassification.model_namer3   z`SubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.TableClassification.model_dirr4   zlSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableStructureRecognition.model_namer5   zkSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableStructureRecognition.model_dirr6   zoSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WirelessTableStructureRecognition.model_namer7   znSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WirelessTableStructureRecognition.model_dirr8   zfSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableCellsDetection.model_namer9   zeSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableCellsDetection.model_dirr:   ziSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WirelessTableCellsDetection.model_namer;   zhSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WirelessTableCellsDetection.model_dirr<   zfSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.TableOrientationClassify.model_namer=   zeSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.TableOrientationClassify.model_dirr>   zsSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.model_namezrSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.model_dirzwSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.limit_side_lenzsSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.limit_typezoSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.threshzsSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.box_threshzuSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextDetection.unclip_ratiozySubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextLineOrientation.model_namezxSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextLineOrientation.model_dirzySubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextLineOrientation.batch_sizezuSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextRecognition.model_nameztSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextRecognition.model_dirzuSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextRecognition.batch_sizezwSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubPipelines.GeneralOCR.SubModules.TextRecognition.score_threshzoSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.model_namer?   znSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.model_dirr@   zsSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.limit_side_lenzoSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.limit_typerB   rC   rD   rE   rF   rG   rH   rJ   rK   rL   rU   )
zkSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.threshzoSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.box_threshzqSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.unclip_ratiozqSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextRecognition.model_namezpSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextRecognition.model_dirzqSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextRecognition.batch_sizezbSubPipelines.LayoutParser.SubPipelines.FormulaRecognition.SubModules.FormulaRecognition.model_namezaSubPipelines.LayoutParser.SubPipelines.FormulaRecognition.SubModules.FormulaRecognition.model_dirzbSubPipelines.LayoutParser.SubPipelines.FormulaRecognition.SubModules.FormulaRecognition.batch_sizezSubModules.LLM_Chat)r   r	   )r   	STRUCTUREs     rX   _get_paddlex_config_overridesz.PPDocTranslation._get_paddlex_config_overridesB  st	   j
acgco.dj
 WX\Xd#Y	j
 =dl.? ?1 |/0j
 YZ^Zf*[j
 =dl&?j
" >t|'@#j
( @)B)j
. >t|'@/j
4 =dl&?5j
: Nt|-P;j
@ Mdl,OAj
F Mdl"OGj
L Nt|PMj
R WX\Xd%YSj
X \]a]i*^Yj
^ OPTP\.Q_j
d Nt|-Pej
 j
j OPTP\.Qkj
p Nt|-Pqj
v Mdl,Owj
| rsws5t}j
B qrvr~4sCj
H himiu*jIj
N ghlht)iOj
T deieq+fUj
Z cdhdp*e[j
` himiu)jaj
f deieq%fgj
l `aeam!bmj
r deieq%fsj
x fgkgs'hyj
~ jkokw1lj
D ijnjv0kEj
J jkokw1lKj
 j
 j
P fgkgs-hQj
V efjfr,gWj
\ fgkgs-h]j
b himiu'jcj
h pquq}1rij
n optp|0qoj
t {  }A  }I>}uj
z z{  |H=|{j
@ ~  @D  @LA@Aj
F }  C  K@Gj
L uvz  wC8wMj
R tuy  vB7vSj
X xy}  zF;zYj
^ wx|  yE:y_j
d uvz  wC7wej
j tuy  vB6vkj
p B  DH  DP+Dqj
 j
 j
v A  CG  CO*Cwj
| F  HL  HT)H}j
B B  DH  DP%DCj
H ~  @D  @L!@Ij
N B  DH  DP%DOj
T D  FJ  FR'FUj
Z H  JN  JV1J[j
` G  IM  IU0Iaj
f H  JN  JV1Jgj
l D  FJ  FR-Fmj
r C  EI  EQ,Esj
x D  FJ  FR-Fyj
~ F  HL  HT'Hj
D ~  @D  @L0@Ej
J }  C  K/Kj
P B  DH  DP)DQj
V ~  @D  @L%@Wj
 j
\ |@  |H!| @D  @L%@ BF  BN'B BF  BN2B AE  AM1A BF  BN2B swr~0s rvq}/r swr~0s $(<0A#BSj
 j
 j
	V ,I666rY   )@NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)__name__
__module____qualname__r   propertyr\   rj   rg   r}   rz   r   r   classmethodr   r   __classcell__)rW   s   @rX   r   r      s        %)#' !%%)$(%)$(#',0+/!% $"&!% $  "(,'+(,$(#'$("(,'+59488<7;/3.22615.2-1'+&* $  ")-(,)-"'+&*'+%)!%!" $"!CI# I# I# I# I# I#V # # X# &*!%!" $"! !% $  "" $  "",1/4'+)-&+)-CE
 E
 E
 E
 E
V &*!%!" $"! !% $  "" $  "",1/4'+)-&+)-CG
 G
 G
 G
 G
Z #'%) 
 
 
 
 
F #'%) 
 
 
 
 
B? ? ?O O O 7 7 [7m7 m7 m7 m7 m7 m7 m7rY   r   c                   0    e Zd Zed             Zd Zd ZdS )r   c                     dS )Npp_doctranslationr   r[   s    rX   subparser_namez4PPDocTranslationCLISubcommandExecutor.subparser_name3  r]   rY   c                    |                     ddt          dd           |                     dt          d           |                     d	t          d
d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d            |                     d!t          d"           |                     d#t          d$           |                     d%t          d&           |                     d't          d(           |                     d)t          d*           |                     d+t          d,           |                     d-t          d.           |                     d/t          d0           |                     d1t          d2           |                     d3t          d4           |                     d5t          d6           |                     d7t          d8           |                     d9t          d:           |                     d;t          d<           |                     d=t          d>           |                     d?t          d@           |                     dAt          dB           |                     dCt          dD           |                     dEt          dF           |                     dGt          dH           |                     dIt          dJ           |                     dKt          dL           |                     dMt          dN           |                     dOt          dP           |                     dQt          dN           |                     dRt          dS           |                     dTt          dU           |                     dVt          dW           |                     dXt          dY           |                     dZt          d[           |                     d\t          d]           |                     d^t          d_           |                     d`t          da           |                     dbt          dc           |                     ddt          de           |                     dft          dg           |                     dht          di           |                     djt          dk           |                     dlt          dm           |                     dnt          do           |                     dpt          dq           |                     drt          ds           |                     dtt          du           |                     dvt          dw           |                     dxt          dy           |                     dzt          d{           |                     d|t          d}           |                     d~t          d           |                     dt          d           |                     dt          d           |                     dt          d           |                     dt          d           d S )Nz-iz--inputTzInput path or URL.)typerequiredhelpz--save_pathzPath to the output directory.)r   r   z--target_languagerm   zTarget language.)r   defaultr   z--layout_detection_model_namez#Name of the layout detection model.z--layout_detection_model_dirz-Path to the layout detection model directory.z--layout_thresholdz/Score threshold for the layout detection model.z--layout_nmsz'Whether to use NMS in layout detection.z--layout_unclip_ratioz+Expansion coefficient for layout detection.z--layout_merge_bboxes_modez!Overlapping box filtering method.z--chart_recognition_model_namez$Name of the chart recognition model.z--chart_recognition_model_dirz.Path to the chart recognition model directory.z--chart_recognition_batch_sizez+Batch size for the chart recognition model.z--region_detection_model_namez#Name of the region detection model.z--region_detection_model_dirz-Path to the region detection model directory.z%--doc_orientation_classify_model_namez<Name of the document image orientation classification model.z$--doc_orientation_classify_model_dirzFPath to the document image orientation classification model directory.z--doc_unwarping_model_namez'Name of the text image unwarping model.z--doc_unwarping_model_dirz,Path to the image unwarping model directory.z--text_detection_model_namez!Name of the text detection model.z--text_detection_model_dirz+Path to the text detection model directory.z--text_det_limit_side_lenzUThis sets a limit on the side length of the input image for the text detection model.z--text_det_limit_typezxThis determines how the side length limit is applied to the input image before feeding it into the text deteciton model.z--text_det_threshzDetection pixel threshold for the text detection model. Pixels with scores greater than this threshold in the output probability map are considered text pixels.z--text_det_box_threshzDetection box threshold for the text detection model. A detection result is considered a text region if the average score of all pixels within the border of the result is greater than this threshold.z--text_det_unclip_ratiozText detection expansion coefficient, which expands the text region using this method. The larger the value, the larger the expansion area.z!--textline_orientation_model_namez7Name of the text line orientation classification model.z --textline_orientation_model_dirz;Path to the text line orientation classification directory.z!--textline_orientation_batch_sizez>Batch size for the text line orientation classification model.z--text_recognition_model_namez#Name of the text recognition model.z--text_recognition_model_dirz-Path to the text recognition model directory.z--text_recognition_batch_sizez*Batch size for the text recognition model.z--text_rec_score_threshzrText recognition threshold used in general OCR. Text results with scores greater than this threshold are retained.z!--table_classification_model_namez'Name of the table classification model.z --table_classification_model_dirz1Path to the table classification model directory.z.--wired_table_structure_recognition_model_namez4Name of the wired table structure recognition model.z---wired_table_structure_recognition_model_dirz>Path to the wired table structure recognition model directory.z1--wireless_table_structure_recognition_model_namez7Name of the wireless table structure recognition model.z0--wireless_table_structure_recognition_model_dirz(--wired_table_cells_detection_model_namez.Name of the wired table cells detection model.z'--wired_table_cells_detection_model_dirz8Path to the wired table cells detection model directory.z+--wireless_table_cells_detection_model_namez1Name of the wireless table cells detection model.z*--wireless_table_cells_detection_model_dirz;Path to the wireless table cells detection model directory.z --seal_text_detection_model_namez&Name of the seal text detection model.z--seal_text_detection_model_dirz0Path to the seal text detection model directory.z--seal_det_limit_side_lenzZThis sets a limit on the side length of the input image for the seal text detection model.z--seal_det_limit_typez}This determines how the side length limit is applied to the input image before feeding it into the seal text deteciton model.z--seal_det_threshzDetection pixel threshold for the seal text detection model. Pixels with scores greater than this threshold in the output probability map are considered text pixels.z--seal_det_box_threshzDetection box threshold for the seal text detection model. A detection result is considered a text region if the average score of all pixels within the border of the result is greater than this threshold.z--seal_det_unclip_ratiozSeal text detection expansion coefficient, which expands the text region using this method. The larger the value, the larger the expansion area.z"--seal_text_recognition_model_namez(Name of the seal text recognition model.z!--seal_text_recognition_model_dirz2Path to the seal text recognition model directory.z"--seal_text_recognition_batch_sizez/Batch size for the seal text recognition model.z--seal_rec_score_threshzcSeal text recognition threshold. Text results with scores greater than this threshold are retained.z --formula_recognition_model_namez&Name of the formula recognition model.z--formula_recognition_model_dirz0Path to the formula recognition model directory.z --formula_recognition_batch_sizez-Batch size for the formula recognition model.z--use_doc_orientation_classifyz9Whether to use document image orientation classification.z--use_doc_unwarpingz$Whether to use text image unwarping.z--use_textline_orientationz4Whether to use text line orientation classification.z--use_seal_recognitionz Whether to use seal recognition.z--use_table_recognitionz!Whether to use table recognition.z--use_formula_recognitionz#Whether to use formula recognition.z--use_chart_recognitionz!Whether to use chart recognition.z--use_region_detectionz Whether to use region detection.z--qianfan_api_keyz&Configuration for the embedding model.)add_argumentstrfloatr   int)r   	subparsers     rX   _update_subparserz7PPDocTranslationCLISubcommandExecutor._update_subparser7  sV
   % 	 	
 	
 	
 	0 	 	
 	
 	
 	#	 	 	
 	
 	
 	+6 	 	
 	
 	

 	*@ 	 	
 	
 	

 	 B 	 	
 	
 	

 	: 	 	
 	
 	

 	#> 	 	
 	
 	

 	(4 	 	
 	
 	
 	,7 	 	
 	
 	

 	+A 	 	
 	
 	

 	,> 	 	
 	
 	
 	+6 	 	
 	
 	

 	*@ 	 	
 	
 	
 	3O 	 	
 	
 	

 	2Y 	 	
 	
 	

 	(: 	 	
 	
 	

 	'? 	 	
 	
 	
 	)4 	 	
 	
 	

 	(> 	 	
 	
 	

 	'h 	 	
 	
 	

 	# L 	 	
 	
 	

 	 t 	 	
 	
 	

 	# [ 	 	
 	
 	

 	% _ 	 	
 	
 	

 	/J 	 	
 	
 	

 	.N 	 	
 	
 	

 	/Q 	 	
 	
 	

 	+6 	 	
 	
 	

 	*@ 	 	
 	
 	

 	+= 	 	
 	
 	

 	% F 	 	
 	
 	
 	/: 	 	
 	
 	

 	.D 	 	
 	
 	

 	<G 	 	
 	
 	

 	;Q 	 	
 	
 	

 	?J 	 	
 	
 	

 	>Q 	 	
 	
 	

 	6A 	 	
 	
 	

 	5K 	 	
 	
 	

 	9D 	 	
 	
 	

 	8N 	 	
 	
 	
 	.9 	 	
 	
 	

 	-C 	 	
 	
 	

 	'm 	 	
 	
 	

 	# Q 	 	
 	
 	

 	 y 	 	
 	
 	

 	# ` 	 	
 	
 	

 	% d 	 	
 	
 	

 	0; 	 	
 	
 	

 	/E 	 	
 	
 	

 	0B 	 	
 	
 	

 	%v 	 	
 	
 	
 	.9 	 	
 	
 	

 	-C 	 	
 	
 	

 	.@ 	 	
 	
 	
 	,L 	 	
 	
 	

 	!7 	 	
 	
 	

 	(G 	 	
 	
 	

 	$3 	 	
 	
 	

 	%4 	 	
 	
 	

 	'6 	 	
 	
 	

 	%4 	 	
 	
 	

 	$3 	 	
 	
 	
 	9 	 	
 	
 	
 	
 	
rY   c                    t          |          }|                    d          }|                    d          }|                    d          }|                    d          }|dddd|d	|d
<   t          di |}t          j        d           |                    |          }g }	|D ]?}
|	                    |
d         j                   |r|
d                             |           @t          j        d           |	                    |	|          }|D ]-}
|

                                 |r|
                    |           .d S )Nri   ro   	save_pathqianfan_api_keychat_botzernie-3.5-8kzhttps://qianfan.baidubce.com/v2openai)module_name
model_namebase_urlapi_typeapi_keyrU   zStart analyzing imageslayout_parsing_resultzStart translation)ro   r   )r   r   r   r   inforj   appendmarkdownsave_allr}   printsave_to_markdown)r   argsrV   ri   ro   r   r   chatocrresult_visualr|   resresult_translates               rX   execute_with_argsz7PPDocTranslationCLISubcommandExecutor.execute_with_args  s   $T**

7## **%677JJ{++	 **%677&),=$*) )F$% #,,V,,,---33E::  	A 	AC##C(?$@$IJJJ A+,55i@@@'((("11+ 2 
 

 $ 	0 	0CIIKKK 0$$Y///	0 	0rY   N)r   r   r   r   r   r   r   r   rY   rX   r   r   2  sO        # # X#U
 U
 U
n
#0 #0 #0 #0 #0rY   r   N)
_utils.clir   r   _utils.loggingr   baser   r   utilsr	   r   r   r   rY   rX   <module>r      s           $ # # # # # G G G G G G G G / / / / / /W7 W7 W7 W7 W7- W7 W7 W7t0 0 0 0 0,I 0 0 0 0 0rY   