
    -{g                         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 dl	m
Z
 d dlmZ d dlmZ d d	lmZ d d
lmZmZ  e       Z e j*                  e      Zej1                  ddd      defd       Zy)    N)	APIRouter)chat_history_to_base_messages)RAG)settings)HTTPException)ChatRequest)RateLimitError)
ChatOpenAI)collect_runsatrace_as_chain_groupz/chatzChat with data   )summarystatus_codeargsc                   K   t         j                  d       	 t        t        j                  d      }t        || j                  t        j                  t        j                  t        j                  t        j                        }t        | j                        }t               5 }t        dd| j                  i      4 d {   }|j                  ||	       d {   }|j!                  d
di       d {    |j"                  d   j$                  j'                         }d d d       d {    d d d        S 7 {7 b7 I7 # 1 d {  7  sw Y   $xY w# 1 sw Y   S xY w# t(        $ r@}t         j+                  |       t-        |j.                  |j0                        cY d }~S d }~wt2        $ r,}t         j+                  |       t-        dd      cY d }~S d }~ww xY ww)NzStarted GET /chatzgpt-4o-2024-08-06)api_keymodel)llmquerydb_userdb_passworddb_namedb_host)chat_historyChat_with_dataquestion)inputs)	callbacksr   output r   )r   contenti  zInternal Server Error)loginfor
   r   
OPENAI_KEYr   r   DB_USERNAMEDB_PASSWORDDB_NAMEDB_HOSTr   r   r   r   ainvokeon_chain_endtraced_runsid__str__r	   errorr   r   message	Exception)	r   r   chainr   runs_cbgroup_managerresultrun_ides	            4/var/www/html/chat-with-data/app/controllers/chat.pychatr8      s~     HH !O!4!4;NO**(( ,,$$$$
 5$BSBST^w,-=zSWS]S]F^__cp$}}}R^}__#00(B@@@ ,,Q/22::< `_ 
 	 `_@ `___ 
  K		!		JJ O		!6MNNOs   G*BE+ 'EEE	E	 E!E	;E<+E	'E2E3E7	E+  G*EE	E	E	E	EE	EE(#E+ 'G*(E+ +	G'45F/)G'*G*/G';!G"G'G*"G''G*)loggingfastapir   app.utils.extrar   app.ragr   app.config.applicationr   app.exceptions.httpr   app.schemas.chat_schemar   openair	   !langchain_openai.chat_models.baser
   langchain.callbacks.managerr   r   router	getLogger__name__r"   postr8        r7   <module>rI      sq      9  + - / ! 8 K	g!   
OK O
OrH   