o
    0 iP	                     @   sL   d dl Z d dlZd dlZd dlmZ d dlZdddZedkr$e  dS dS )    N)AutoTokenizerreturnc                  C   s  t jdd} | jdddd | jddd	 | jd
dd	 | jddd	 | jdddtd | jdddd | jdddd |  }|j}t|d}t|d}|	 }W d    n1 s]w   Y  t
|}i }|jrt|jd}|	 |d< W d    n1 sw   Y  |jrt|jd}t|	 |d< W d    n1 sw   Y  |stdg }|jrt|jd}|	 }W d    n1 sw   Y  t|}	|	j|dd}t
j|td|gi|j|j|jd }
|
  t|| |D ]G}|
 \}}t|}|d! D ]}|d" d#krtd$d%d& t| qt||gd'd& |s0J || d(kr=td)  n|
| qtd* d S )+Nz'Command line interface for LL Guidance.)descriptionz--tokenizerzTokenizer namezmicrosoft/Phi-3.5-mini-instruct)helpdefaultz--larkzLark grammar file)r   z--json-schemazJSON schema filez--textz(File containing simulated generated textz--log-levelz	Log level   )r   r   typez--ff-tokenszEnable fast-forward tokens
store_true)r   actionz--backtrackzEnable backtrackingztokenizer.jsonrZlark_grammarjson_schemaz1No grammar provided; need --lark or --json-schemaF)Zadd_special_tokensZgrammars)Zenable_ff_tokensZenable_backtrack	log_levelprogressobjecttextz
   )end r   zToken not in mask
)argparseArgumentParseradd_argumentint
parse_args	tokenizerhuggingface_hubZhf_hub_downloadopenread
llguidanceZLLTokenizerZlarkr   jsonloads
ValueErrorr   r   Zfrom_pretrainedencodeZLLInterpreterdumpsZ	ff_tokensZ	backtrackr   Zstart_without_promptprintZ
dbg_tokensZcompute_maskZcommit_token)parserargsr   tok_namefr   tokZgrmtokensZhf_tokZinterptmaskr   objp r/   Z/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/llguidance/cli.pymain   s~   





r1   __main__)r   N)r   r   r   Ztransformersr   r   r1   __name__r/   r/   r/   r0   <module>   s    
D
