o
    -i(                     @   sl   d dl mZ d dlmZ d dlmZ d dlZd dlmZ ddl	m
Z
 dZed	 Zed
dG dd dZdS )    )	dataclass)Path)LiteralN)Image   )get_vllm_public_assetsvision_model_images)	stop_signcherry_blossomhatoz12560px-Gfp-wisconsin-madison-the-nature-boardwalk$Grayscale_8bits_palette_sample_imagez1280px-Venn_diagram_rgb	RGBA_compz237-400x300z231-200x300z
27-500x500z
17-150x600zhandelsblatt-previewzpaper-11T)frozenc                   @   sv   e Zd ZU eed< dedefddZede	j	fddZ
dede	j	fdd	Zedejfd
dZdedefddZdS )
ImageAssetnameextreturnc                 C   s   t | j d| tdS )z1
        Return s3 path for given image.
        .)filename	s3_prefix)r   r   VLM_IMAGES_DIR)selfr    r   N/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/vllm/assets/image.pyget_path$   s   zImageAsset.get_pathc                 C   s   | j ddS )Njpgr   )pil_image_ext)r   r   r   r   	pil_image,   s   zImageAsset.pil_imagec                 C   s   | j |d}t|S )Nr   )r   r   open)r   r   
image_pathr   r   r   r   0   s   
zImageAsset.pil_image_extc                 C   s   |  d}tj|dddS )zR
        Image embeddings, only used for testing purposes with llava 1.5.
        ptcpuT)map_locationweights_only)r   torchload)r   r    r   r   r   image_embeds4   s   
zImageAsset.image_embedsc                 C   s   t | |}| S )N)r   r   
read_bytes)r   r   pr   r   r   r(   <   s   zImageAsset.read_bytesN)__name__
__module____qualname__ImageAssetName__annotations__strr   r   propertyr   r   r   r%   Tensorr'   bytesr(   r   r   r   r   r       s   
 r   )dataclassesr   pathlibr   typingr   r%   PILr   baser   r   r-   r   r   r   r   r   <module>   s   