o
    i                     @   sR   d dl Z d dlZd dlZd dlmZ G dd deZdd Zedkr'e  dS dS )    N)MarianConverterc                       s&   e Zd ZdZdef fddZ  ZS )OpusMTConverterz%Converts models trained with OPUS-MT.	model_dirc                    s~   t tj ddd}t|}W d   n1 sw   Y  tj |d d } fdd|d	 D }t || dS )
zvInitializes the OPUS-MT converter.

        Arguments:
          model_dir: Path the OPUS-MT model directory.
        zdecoder.ymlzutf-8)encodingNmodelsr   c                    s   g | ]	}t j |qS  )ospathjoin).0r	   r   r   [/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/ctranslate2/converters/opus_mt.py
<listcomp>   s    z,OpusMTConverter.__init__.<locals>.<listcomp>vocabs)openr   r	   r
   yaml	safe_loadsuper__init__)selfr   decoder_filedecoder_config
model_pathvocab_paths	__class__r   r   r      s   
zOpusMTConverter.__init__)__name__
__module____qualname____doc__strr   __classcell__r   r   r   r   r   	   s    r   c                  C   sH   t jt jd} | jdddd t|  |  }t|j}|| d S )N)formatter_classz--model_dirTz$Path to the OPUS-MT model directory.)requiredhelp)	argparseArgumentParserArgumentDefaultsHelpFormatteradd_argumentr   declare_arguments
parse_argsr   convert_from_args)parserargs	converterr   r   r   main   s   

r/   __main__)r%   r   r   ctranslate2.converters.marianr   r   r/   r   r   r   r   r   <module>   s    
