
    =QjQ                     L    d dl Z ddlmZ ddlmZ ddlmZ ddlmZ dede	fd	Z
y)
    N   )LLMGenerationError)stay_system_prompt)get_provider)RecommendStayRequestpayloadreturnc                 z   t        | j                  | j                  | j                        }| j                  | j
                  r| j
                  j                         nd d}dt        j                  |      dg}	 t               j                  ||      S # t        $ r}t        dt        |            |d }~ww xY w)N)preferences
candidatesnum_recommendations)	itinerary	trip_specuser)rolecontentz!Failed to recommend accommodation)r   r   r   r   r   r   
model_dumpjsondumpsr   complete_json	Exceptionr   str)r   system_promptuser_contentmessagesexcs        7/var/www/html/meridian/meridian-ai/app/services/stay.pyrecommend_stayr   	   s    &''%%#77M &&7>7H7HW&&113dL  DJJ|,DEFHY~++M8DD Y !Dc#hOUXXYs   <B 	B:B55B:)r   
exceptionsr   promptsr   providers.factoryr   schemasr   dictr        r   <module>r&      s+     + ( , *Y0 YT Yr%   