
    ^{i                     `    d dl Z d dlZd dlZddefdZ e j        dd          ZdZd	efd
ZdS )    Nlasttextc                 H   t          | t                    sd S |                     dd                              dd          }t          j        d|          }|sd S |dk    r|d         n|d         }t          j        dd	|          }	 t          j        |          S #  Y d S xY w)
Nz```json z```z\{[\s\S]*?\}r   r   z,\s*}})
isinstancestrreplacerefindallsubjsonloads)r   pickcleanedblocksblocks        /var/www/sze-llm.hu/utils.pyextract_json_blockr   
   s    dC   t 	Y##WUB 
 Z11F t&..F2JJfQiEF8S%((Ez%   tts   B B!zbedrock-runtimezeu-central-1)region_namezeu.amazon.nova-pro-v1:0promptc                 4   dd| igdg}ddig}d||dddd	d
d}t                               t          t          j        |                    }t          j        |d                                                   }|d         d         d         d         d         S )Nuserr   )rolecontentz/You are a precise medical extraction assistant.zmessages-v1i   g?   g?)	maxTokenstopPtopKtemperature)schemaVersionmessagessysteminferenceConfig)modelIdbodyr'   outputmessager   r   )clientinvoke_modelMODEL_IDr   dumpsr   read)r   message_listsystem_listnative_requestresponsemodel_responses         r   call_llmr4   3   s     ()	
 	
L E	
K ' 	
 
	
 
N ""Z'' #  H
 Z 0 5 5 7 788N(#I.y9!<VDD    )r   )boto3r   r   r
   r   r*   r,   r4    r5   r   <module>r8      s      				 S    : 

 
 

 %"ES "E "E "E "E "E "Er5   