o
    ưi?                     @   sF   d dl mZmZmZmZ d dlmZ d dlmZm	Z	 G dd dZ
dS )    )AnyDictcastget_type_hints)BaseVectorStoreConfig)&VectorStoreCreateOptionalRequestParams&VectorStoreSearchOptionalRequestParamsc                   @   sP   e Zd ZdZedeeef dede	fddZ
edeeef defddZd	S )
VectorStoreRequestUtilsz:Helper utils for constructing Vector Store search requestsparamsvector_store_provider_configreturnc                    s<   t t   fdd|  D }|j| |dd}tt|S )a  
        Filter parameters to only include those defined in VectorStoreSearchOptionalRequestParams.

        Args:
            params: Dictionary of parameters to filter

        Returns:
            VectorStoreSearchOptionalRequestParams instance with only the valid parameters
        c                    &   i | ]\}}| v r|d ur||qS N .0kvZ
valid_keysr   R/home/app/Keep/.python/lib/python3.10/site-packages/litellm/vector_stores/utils.py
<dictcomp>        z\VectorStoreRequestUtils.get_requested_vector_store_search_optional_param.<locals>.<dictcomp>F)Znon_default_paramsoptional_paramsZdrop_params)r   r   keysitemsZmap_openai_paramsr   )r
   r   filtered_paramsr   r   r   r   0get_requested_vector_store_search_optional_param   s   

zHVectorStoreRequestUtils.get_requested_vector_store_search_optional_paramc                    s,   t t   fdd|  D }tt|S )a  
        Filter parameters to only include those defined in VectorStoreCreateOptionalRequestParams.

        Args:
            params: Dictionary of parameters to filter

        Returns:
            VectorStoreCreateOptionalRequestParams instance with only the valid parameters
        c                    r   r   r   r   r   r   r   r   6   r   z\VectorStoreRequestUtils.get_requested_vector_store_create_optional_param.<locals>.<dictcomp>)r   r   r   r   r   )r
   r   r   r   r   0get_requested_vector_store_create_optional_param(   s
   

zHVectorStoreRequestUtils.get_requested_vector_store_create_optional_paramN)__name__
__module____qualname____doc__staticmethodr   strr   r   r   r   r   r   r   r   r   r   r	   
   s     

r	   N)typingr   r   r   r   Z1litellm.llms.base_llm.vector_store.transformationr   Zlitellm.types.vector_storesr   r   r	   r   r   r   r   <module>   s    