
    i?                     L    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      Z
y)    )AnyDictcastget_type_hints)BaseVectorStoreConfig)&VectorStoreCreateOptionalRequestParams&VectorStoreSearchOptionalRequestParamsc                   \    e Zd ZdZedeeef   dede	fd       Z
edeeef   defd       Zy)VectorStoreRequestUtilsz:Helper utils for constructing Vector Store search requestsparamsvector_store_provider_configreturnc                     t        t              j                         }| j                         D ci c]  \  }}||v s||| }}}|j	                  | |d      }t        t        |      S c c}}w )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
        F)non_default_paramsoptional_paramsdrop_params)r   r	   keysitemsmap_openai_paramsr   )r   r   
valid_keyskvfiltered_paramsr   s          l/Users/manta/Documents/Projects/TheRoad-I1/.venv/lib/python3.12/site-packages/litellm/vector_stores/utils.py0get_requested_vector_store_search_optional_paramzHVectorStoreRequestUtils.get_requested_vector_store_search_optional_param   s     $$JKPPR
#\\^
+TQqJ1=AqD^ 	 
 7HH%+ I 
 :OLL
s   A-A-A-c                     t        t              j                         }| j                         D ci c]  \  }}||v s||| }}}t	        t        |      S c c}}w )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
        )r   r   r   r   r   )r   r   r   r   r   s        r   0get_requested_vector_store_create_optional_paramzHVectorStoreRequestUtils.get_requested_vector_store_create_optional_param(   sa     $$JKPPR
#\\^
+TQqJ1=AqD^ 	 
 :OLL	
s   AAAN)__name__
__module____qualname____doc__staticmethodr   strr   r   r	   r   r   r        r   r   r   
   sn    DMS#XM&;M 
0M M4 MS#XM	/M Mr%   r   N)typingr   r   r   r   1litellm.llms.base_llm.vector_store.transformationr   litellm.types.vector_storesr   r	   r   r$   r%   r   <module>r)      s    2 2 S0M 0Mr%   