
    g`              
           d dl mZmZmZmZmZ d dlZddeeef   dee   deeeef      fdZdededeeeef      fd	Z	d
eeeef      deeeeef         fdZ
y)    )AnyDictListOptionalTupleN	dict_flat
key_prefixreturnc                 ~   g }| j                         D ]  \  }}|| d| dn|}t        |t              r|j                  t	        ||             >t        |t
              rG|D ]A  }t        |t              r|j                  t	        ||             /|j                  ||f       C |j                  ||f        |S )N[])items
isinstancedictextendtraverse_query_dictlistappend)r   r	   resultkvkeyarr_vs          N/var/www/openai/venv/lib/python3.12/site-packages/cohere/core/query_encoder.pyr   r   	   s    F!1&0&<AaS"!aMM-a564 eT*MM"5eS"ABMM3,/	  MM3(# " M    	query_keyquery_valuec                 <   t        |t        j                        st        |t              r;t        |t        j                        r|j                  d      }n|}t	        ||       S t        |t
              rg }|D ]  }t        |t        j                        st        |t              r[t        |t        j                        r|j                  d      }nt        |t              r|}|j                  t        |              |j                  | |f        |S | |fgS )NT)by_alias)	r   pydantic	BaseModelr   r   r   r   single_query_encoderr   )r   r   obj_dictencoded_valuesvalues        r   r"   r"      s    +x112jd6Sk8#5#56"'''6H"H"8Y77	K	&02 E%!3!34
5$8OeX%7%78$zz4z8Ht,$H%%&:9h&OP%%y%&89 ! $%%r   queryc                 v    | y g }| j                         D ]   \  }}|j                  t        ||             " |S N)r   r   r"   )r&   encoded_queryr   r   s       r   encode_queryr*   3   s?    }M11!Q78 r   r(   )typingr   r   r   r   r   r    strr   r"   r*    r   r   <module>r.      s    4 3 4S> x} X\]bcfhkck]lXm "&C &c &d5c?>S &2c3h0 Xd5c?>S5T r   