
    Mi*
                         S SK Jr  S SKJrJr  S SKrS SKJr  S SK	J
r
  S SKJrJr  S SKJr  \(       a  S SKJr   " S	 S
\5      r\ " S S\5      5       rg)    )	dataclass)TYPE_CHECKINGListN)	SecretStr)Element)BaseEmbeddingEncoderEmbeddingConfig)requires_dependenciesBedrockEmbeddingsc                   Z    \ rS rSr% \\S'   \\S'   Sr\\S'   \" / SQSS9SS	 j5       r	S
r
g)BedrockEmbeddingConfig   aws_access_key_idaws_secret_access_keyz	us-west-2region_name)boto3numpylangchain_communitybedrock)extrasc                     SS K nSSKJn  UR                  SU R                  R                  5       U R                  R                  5       U R                  S9nU" US9nU$ )Nr   r   zbedrock-runtime)service_namer   r   r   )client)r   langchain_community.embeddingsr   r   r   get_secret_valuer   r   )selfr   r   bedrock_runtimebedrock_clients        t/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/unstructured/embed/bedrock.py
get_client!BedrockEmbeddingConfig.get_client   s_     	D,,*"44EEG"&"<"<"M"M"O((	 ' 
 +/B     N)returnr   )__name__
__module____qualname____firstlineno__r   __annotations__r   strr
   r!   __static_attributes__r$   r#   r    r   r      s5      $$"K"1	r#   r   c                   ~    \ rS rSr% \\S'   S\\   4S jrS r	S r
S rS rS	\\   S\\   4S
 jrS\\   4S jrSrg)BedrockEmbeddingEncoder*   configr%   c                      U R                  SS9$ )NQ)query)embed_queryr   s    r    get_exemplary_embedding/BedrockEmbeddingEncoder.get_exemplary_embedding.   s    c**r#   c                 $    U R                  5         g N)
initializer5   s    r    __post_init__%BedrockEmbeddingEncoder.__post_init__1   s    r#   c                 N    U R                  5       n[        R                  " U5      $ r9   )r6   npshaper   exemplary_embeddings     r    num_of_dimensions)BedrockEmbeddingEncoder.num_of_dimensions4   s!    "::<xx+,,r#   c                     U R                  5       n[        R                  " [        R                  R	                  U5      S5      $ )Ng      ?)r6   r>   iscloselinalgnormr@   s     r    is_unit_vector&BedrockEmbeddingEncoder.is_unit_vector8   s0    "::<zz"))..)<=sCCr#   c                     U R                   R                  5       n[        R                  " UR	                  U5      5      $ r9   )r0   r!   r>   arrayr4   )r   r3   r   s      r    r4   #BedrockEmbeddingEncoder.embed_query<   s.    //1xx2259::r#   elementsc                     U R                   R                  5       nUR                  U Vs/ s H  n[        U5      PM     sn5      nU R	                  X5      nU$ s  snf r9   )r0   r!   embed_documentsr+   _add_embeddings_to_elements)r   rM   r   e
embeddingselements_with_embeddingss         r    rO   'BedrockEmbeddingEncoder.embed_documents@   sT    //1#33X4NXSVX4NO
#'#C#CH#Y '' 5Os   Ac                     [        U5      [        U5      :X  d   e/ n[        U5       H  u  pEX$   Ul        UR                  U5        M!     U$ r9   )len	enumeraterR   append)r   rM   rR   elements_w_embeddingielements         r    rP   3BedrockEmbeddingEncoder._add_embeddings_to_elementsF   sN    8}J///!#H-JA!+G ''0 . r#   r$   N)r&   r'   r(   r)   r   r*   r   floatr6   r;   rB   rH   r4   r   rO   rP   r,   r$   r#   r    r.   r.   *   sX    ""+e +-D;(W ($w- (4= r#   r.   )dataclassesr   typingr   r   r   r>   pydanticr   unstructured.documents.elementsr   unstructured.embed.interfacesr   r	   unstructured.utilsr
   r   r   r   r.   r$   r#   r    <module>rd      sM    ! &   P 4@_ 2 !2 ! !r#   