
    9i                     h    S SK JrJr  S SKJr  SSKJrJr  SSKJ	r	   " S S\5      r
 " S S	\5      rg
)   )get_subcommand_argsstr2bool)logger   )PaddleXPipelineWrapperPipelineCLISubcommandExecutor)create_config_from_structurec                     ^  \ rS rSr                                                                SU 4S jjr\S 5       rSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.S jrSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.S	 jrS
SSSSSSSSSS.
S jr	S
SSSSSSSSSS.
S jr
S rS r\S 5       rS rSrU =r$ )PPDocTranslation   NcA                    > [        5       R                  5       nBUBR                  S5        UBR                  S5        UBU l        [        TCU ]  " S0 WAD6  g )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/land-doc-ocr/venv/lib/python3.13/site-packages/paddleocr/_pipelines/pp_doctranslation.pyr   PPDocTranslation.__init__   sB    H 

6

8"6"    c                     g)NzPP-DocTranslationr   r   s    rY   _paddlex_pipeline_name'PPDocTranslation._paddlex_pipeline_named       "r[   FT)rN   rO   rP   rQ   rR   rS   rT   rU   r   r   r   r   r(   r)   r*   r+   r,   r3   rB   rC   rD   rE   rF   rJ   #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                    U R                   R                  " U40 SU_SU_SU_SU_SU_SU_SU_SU	_S	U
_S
U_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_U D6$ NrN   rO   rP   rQ   rR   rS   rT   rU   r   r   r   r   r(   r)   r*   r+   r,   r3   rB   rC   rD   rE   rF   rJ   ra   rb   rc   rd   re   rf   )paddlex_pipelinevisual_predict!r   inputrN   rO   rP   rQ   rR   rS   rT   rU   r   r   r   r   r(   r)   r*   r+   r,   r3   rB   rC   rD   rE   rF   rJ   ra   rb   rc   rd   re   rf   r   s!                                    rY   visual_predict_iter$PPDocTranslation.visual_predict_iterh   sU   H $$33!
)E!
 0!
 &>	!

 "6!
 #8!
 %<!
 #8!
 "6!
 .!
 "!
 !4!
 &>!
 %<!
 !4!
  ,!!
" !4#!
$ #8%!
& #8'!
( %<)!
* !4+!
, ,-!
. !4/!
0 #81!
2 #83!
4 1T5!
6 4Z7!
8 ,J9!
: .N;!
< +H=!
> .NA!
 !	
r[   c                    [        U R                  " U40 SU_SU_SU_SU_SU_SU_SU_SU	_S	U
_S
U_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_U D65      $ rh   )listrm   rk   s!                                    rY   rj   PPDocTranslation.visual_predict   s\   H $$!-I! #4! *B	!
 &:! '<! )@! '<! &:! "2! &! %8! *B! )@! %8!  !0!!" %8#!$ '<%!& '<'!( )@)!* %8+!, !0-!. %8/!0 '<1!2 '<3!4 5X5!6 8^7!8 0N9!: 2R;!< /L=!> 2RA!#
 #	
r[   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_intervalrV   c       
         R    U R                   R                  " U4UUUUUUUU	U
US.
UD6$ Nrs   )ri   	translater   ori_md_info_listrt   ru   rv   rw   rx   ry   rz   r{   r|   rV   r   s                rY   translate_iterPPDocTranslation.translate_iter   sM      $$..
+!-''A)E!5+
 
 	
r[   c       
         P    [        U R                  " U4UUUUUUUU	U
US.
UD65      $ r~   )rp   r   r   s                rY   r   PPDocTranslation.translate  sO        /%!1+#+E-I!%9 / 
 	
r[   c                 8    U R                   R                  U5      $ N)ri   load_from_markdown)r   rl   s     rY   r   #PPDocTranslation.load_from_markdown8  s    $$77>>r[   c                 8    U R                   R                  U5      $ r   )ri   concatenate_markdown_pages)r   markdown_lists     rY   r   +PPDocTranslation.concatenate_markdown_pages;  s    $$??NNr[   c                     [        5       $ r   )%PPDocTranslationCLISubcommandExecutor)clss    rY   get_cli_subcommand_executor,PPDocTranslation.get_cli_subcommand_executor>  s    466r[   c                 	   0 SU R                   S   _SU R                   S   _SU R                   S   =(       d    U R                   S   _SU R                   S   _SU R                   S	   _S
U R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _SU R                   S   _S U R                   S!   _0 S"U R                   S#   _S$U R                   S%   _S&U R                   S'   _S(U R                   S)   _S*U R                   S+   _S,U R                   S-   _S.U R                   S/   _S0U R                   S1   _S2U R                   S3   _S4U R                   S5   _S6U R                   S7   _S8U R                   S9   _S:U R                   S;   _S<U R                   S=   _S>U R                   S?   _S@U R                   SA   _SBU R                   SC   _E0 SDU R                   SE   _SFU R                   SG   _SHU R                   SI   _SJU R                   SK   _SLU R                   SM   _SNU R                   SO   _SPU R                   SQ   _SRU R                   SS   _STU R                   SU   _SVU R                   SW   _SXU R                   SY   _SZU R                   S[   _S\U R                   S]   _S^U R                   S_   _S`U R                   Sa   _SbU R                   Sc   _SdU R                   S1   _E0 SeU R                   S3   _SfU R                   S5   _SgU R                   S7   _ShU R                   S9   _SiU R                   S;   _SjU R                   S=   _SkU R                   S?   _SlU R                   SA   _SmU R                   SC   _SnU R                   SE   _SoU R                   SG   _SpU R                   SI   _SqU R                   SK   _SrU R                   Ss   _StU R                   Su   _SvU R                   S5   _SwU R                   Sx   _EU R                   Sy   U R                   Sz   U R                   S{   U R                   S|   U R                   S}   U R                   S~   U R                   S   U R                   S   U R                   S   U R                   S   S.
En[        U5      $ )NzSSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.use_doc_orientation_classifyrN   zHSubPipelines.LayoutParser.SubPipelines.DocPreprocessor.use_doc_unwarpingrO   z.SubPipelines.LayoutParser.use_doc_preprocessorzJSubPipelines.LayoutParser.SubPipelines.GeneralOCR.use_textline_orientationrP   z.SubPipelines.LayoutParser.use_seal_recognitionrQ   z/SubPipelines.LayoutParser.use_table_recognitionrR   z1SubPipelines.LayoutParser.use_formula_recognitionrS   z/SubPipelines.LayoutParser.use_chart_recognitionrT   z.SubPipelines.LayoutParser.use_region_detectionrU   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_namer0   zVSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.model_dirr1   zWSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.batch_sizer2   zYSubPipelines.LayoutParser.SubPipelines.GeneralOCR.SubModules.TextRecognition.score_threshr3   zaSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.TableClassification.model_namer4   z`SubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.TableClassification.model_dirr5   zlSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableStructureRecognition.model_namer6   zkSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableStructureRecognition.model_dirr7   zoSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WirelessTableStructureRecognition.model_namer8   znSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WirelessTableStructureRecognition.model_dirr9   zfSubPipelines.LayoutParser.SubPipelines.TableRecognition.SubModules.WiredTableCellsDetection.model_namer:   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_dirrA   zsSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.limit_side_lenzoSubPipelines.LayoutParser.SubPipelines.SealRecognition.SubPipelines.SealOCR.SubModules.TextDetection.limit_typerC   rD   rE   rF   rG   rH   rI   rK   rL   rM   rV   )
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     rY   _get_paddlex_config_overrides.PPDocTranslation._get_paddlex_config_overridesB  s
   j
acgcoco.dj
 WX\XdXd#Y	j
 =dll.? ?1 ||/0j
 YZ^ZfZf*[j
 =dll&?j
" >t||'@#j
( @)B)j
. >t||'@/j
4 =dll&?5j
: Nt||-P;j
@ Mdll,OAj
F Mdll"OGj
L Nt||PMj
R WX\XdXd%YSj
X \]a]i]i*^Yj
^ OPTP\P\.Q_j
d Nt||-Pej
j OPTP\P\.Qkj
p Nt||-Pqj
v Mdll,Owj
| rswss5t}j
B qrvr~r~4sCj
H himiuiu*jIj
N ghlhtht)iOj
T deieqeq+fUj
Z cdhdpdp*e[j
` himiuiu)jaj
f deieqeq%fgj
l `aeamam!bmj
r deieqeq%fsj
x fgkgsgs'hyj
~ jkokwkw1lj
D ijnjvjv0kEj
J jkokwkw1lKj
P fgkgsgs-hQj
V efjfrfr,gWj
\ fgkgsgs-h]j
b himiuiu'jcj
h pquq}q}1rij
n optp|p|0qoj
t {  }A  }I  }I>}uj
z z{  |H  |H=|{j
@ ~  @D  @L  @LA@Aj
F }  C  K  K@Gj
L uvz  wC  wC8wMj
R tuy  vB  vB7vSj
X xy}  zF  zF;zYj
^ wx|  yE  yE:y_j
d uvz  wC  wC7wej
j tuy  vB  vB6vkj
p B  DH  DP  DP+Dqj
v A  CG  CO  CO*Cwj
| F  HL  HT  HT)H}j
B B  DH  DP  DP%DCj
H ~  @D  @L  @L!@Ij
N B  DH  DP  DP%DOj
T D  FJ  FR  FR'FUj
Z H  JN  JV  JV1J[j
` G  IM  IU  IU0Iaj
f H  JN  JV  JV1Jgj
l D  FJ  FR  FR-Fmj
r C  EI  EQ  EQ,Esj
x D  FJ  FR  FR-Fyj
~ F  HL  HT  HT'Hj
D ~  @D  @L  @L0@Ej
J }  C  K  K/Kj
P B  DH  DP  DP)DQj
V ~  @D  @L  @L%@Wj
\ |@  |H  |H!| @D  @L  @L%@ BF  BN  BN'B BF  BN  BN2B AE  AM  AM1A BF  BN  BN2B swr~r~0s rvq}q}/r swr~r~0s $(<<0A#BSj
	V ,I66r[   )r   )@NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)__name__
__module____qualname____firstlineno__r   propertyr^   rm   rj   r   r   r   r   classmethodr   r   __static_attributes____classcell__)rX   s   @rY   r   r      s     %)#' !%%)$(%)$(#',0+/!% $"&!% $  "(,'+(,$(#'$("(,'+59488<7;/3.22615.2-1'+&* $  ")-(,)-"'+&*'+%)!%!" $"!CI#V # # &*!%!" $"! !% $  "" $  "",1/4'+)-&+)-CE
V &*!%!" $"! !% $  "" $  "",1/4'+)-&+)-CG
Z #'%) 
F #'%) 
B?O 7 7m7 m7r[   r   c                   0    \ rS rSr\S 5       rS rS rSrg)r   i2  c                     g)Npp_doctranslationr   r]   s    rY   subparser_name4PPDocTranslationCLISubcommandExecutor.subparser_name3  r`   r[   c                 
   UR                  SS[        SSS9  UR                  S[        SS9  UR                  S	[        S
SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        S S9  UR                  S![        S"S9  UR                  S#[        S$S9  UR                  S%[        S&S9  UR                  S'[        S(S9  UR                  S)[        S*S9  UR                  S+[        S,S9  UR                  S-[        S.S9  UR                  S/[        S0S9  UR                  S1[        S2S9  UR                  S3[        S4S9  UR                  S5[        S6S9  UR                  S7[        S8S9  UR                  S9[        S:S9  UR                  S;[        S<S9  UR                  S=[        S>S9  UR                  S?[        S@S9  UR                  SA[        SBS9  UR                  SC[        SDS9  UR                  SE[        SFS9  UR                  SG[        SHS9  UR                  SI[        SJS9  UR                  SK[        SLS9  UR                  SM[        SNS9  UR                  SO[        SPS9  UR                  SQ[        SNS9  UR                  SR[        SSS9  UR                  ST[        SUS9  UR                  SV[        SWS9  UR                  SX[        SYS9  UR                  SZ[        S[S9  UR                  S\[        S]S9  UR                  S^[        S_S9  UR                  S`[        SaS9  UR                  Sb[        ScS9  UR                  Sd[        SeS9  UR                  Sf[        SgS9  UR                  Sh[        SiS9  UR                  Sj[        SkS9  UR                  Sl[        SmS9  UR                  Sn[        SoS9  UR                  Sp[        SqS9  UR                  Sr[        SsS9  UR                  St[        SuS9  UR                  Sv[        SwS9  UR                  Sx[        SyS9  UR                  Sz[        S{S9  UR                  S|[        S}S9  UR                  S~[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  UR                  S[        SS9  g )Nz-iz--inputTzInput path or URL.)typerequiredhelpz--save_pathzPath to the output directory.)r   r   z--target_languagerr   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     rY   _update_subparser7PPDocTranslationCLISubcommandExecutor._update_subparser7  s   % 	 	
 	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 	 	
r[   c                 `   [        U5      nUR                  S5      nUR                  S5      nUR                  S5      nUR                  S5      nUb  SSSSUS	.US
'   [        S0 UD6n[        R                  " S5        UR                  U5      n/ n	U H>  n
U	R                  U
S   R                  5        U(       d  M*  U
S   R                  U5        M@     [        R                  " S5        UR                  U	US9nU H-  n
U
R                  5         U(       d  M  U
R                  U5        M/     g )Nrl   rt   	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_keyrV   zStart analyzing imageslayout_parsing_resultzStart translation)rt   r   )r   r   r   r   inform   appendmarkdownsave_allr   printsave_to_markdown)r   argsrW   rl   rt   r   r   chatocrresult_visualr   resresult_translates               rY   execute_with_args7PPDocTranslationCLISubcommandExecutor.execute_with_args  s*   $T*

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