
    .`i                     `    d dl Z d dlZd dlmZ d dlmZ d dlmZmZ  G d de          Z	d Z
dS )    N)LoRARequest)LoRAResolverLoRAResolverRegistryc                   4    e Zd ZdefdZdedededz  fdZdS )FilesystemResolverlora_cache_dirc                     || _         d S )N)r   )selfr   s     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/plugins/lora_resolvers/filesystem_resolver.py__init__zFilesystemResolver.__init__   s    ,    base_model_name	lora_namereturnNc                   K   t           j                            | j        |          }t           j                            |          rt           j                            | j        |d          }t           j                            |          rt          |          5 }t          j        |          }d d d            n# 1 swxY w Y   |d         dk    r:|d         |k    r.t          |t          t          |                    |          }|S d S )Nzadapter_config.json	peft_typeLORAbase_model_name_or_path)r   lora_int_id	lora_path)ospathjoinr   existsopenjsonloadr   abshash)r
   r   r   r   adapter_config_pathfileadapter_configlora_requests           r   resolve_lorazFilesystemResolver.resolve_lora   s9      GLL!4i@@	7>>)$$ 	("$',,#Y0E# # w~~122 (-.. 5$%)Yt__N5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 #;/699&'@A_TT#."+$'Y$8$8"+$ $ $L
 ('ts   B<<C C )__name__
__module____qualname__strr   r   r$    r   r   r   r      s`        -s - - - -"/2	t	     r   r   c                     t           j        } | rqt          j                            |           rt          j                            |           st          d          t          |           }t          j	        d|           dS )z/Register the filesystem LoRA Resolver with vLLMzxVLLM_LORA_RESOLVER_CACHE_DIR must be set to a valid directory                 for Filesystem Resolver plugin to functionzFilesystem ResolverN)
envsVLLM_LORA_RESOLVER_CACHE_DIRr   r   r   isdir
ValueErrorr   r   register_resolver)r   fs_resolvers     r   register_filesystem_resolverr1   '   s     6N Sw~~n-- 	RW]]>5R5R 	<   )88./DkRRR
Fr   )r   r   	vllm.envsr+   vllm.lora.requestr   vllm.lora.resolverr   r   r   r1   r)   r   r   <module>r5      s     				       ) ) ) ) ) ) A A A A A A A A       8    r   