- g UddlZddlmZddlmZmZmZddlmZddl m Z ddl m Z m Z ddlmZdd lmZmZdd lmZdd lmZmZmZdd lmZdd lmZddlmZeeZejeZ eZ!eddZ"ej#dedgZ$e$e"zZ%iZ&ee'efe(d<e!)dee fde*de*fdZ+e!)dee fde*de*fdZ,e!)dee fde*de*fdZ-dS) N) load_dotenv) APIRouterDepends WebSocket JSONResponse)get_current_user)RTCPeerConnectionRTCSessionDescription) ChatOpenAI)ChatPromptTemplateMessagesPlaceholder)ConversationBufferMemory) HumanMessage RemoveMessageAIMessageChunk) MemorySaver)graph)Dict) checkpointerzgpt-4o) temperature model_name)systemz`You are expert in asking questions. Your goal is to ask full name, age, and address of a person.messages) variable_name user_memoriesz /webrtc/offeroffer current_usercKt}t|d|d}||d{V|d{V}||d{Vjt vrtdt j<|dfd}t|j j |j j dS) Nsdptype)r!r"T)return_messages datachannelcLdfd}dS)NmessagecXKtj}t|}|j|ddjii}t |gddd|d}|23d{V\}}t|tr |j :6dS) Ncontent configurable thread_idzfull name, birthdatezJohn Doe, 1990-01-01)rfieldsvaluesr)config stream_mode) rusernamer chat_memoryadd_user_messageappastream isinstancersendr)) r&memory user_messager.r4msgmetadatachannelrs /Users/richardlai/Documents/MyProjects/Education/AI-Makerspace-Cohort-4/final_project/chat-patient-intake/backend/app/webrtc.py on_messagez8webrtc_offer..on_datachannel..on_message1s#<#89F'888L   / / = = =${L4I&JKFkk ~H^i#A#AJP^hkiiG'. . . . . . . .mc8c>22.LL---(/wws/B))on)r;r=rs` r<on_datachannelz$webrtc_offer..on_datachannel/sC I   . . . . .   . . .r() r r setRemoteDescription createAnswersetLocalDescriptionr0rrr>rlocalDescriptionr!r")rrpc offer_objanswerr?s ` r< webrtc_offerrH!s/   B%%,U6]KKKI ! !) , ,,,,,,,,??$$ $ $ $ $ $ $F  ( ((((((((M11/G 0"0"0" l+,UU=..... "&#(!!   r@z/webrtc/ice-candidate candidatec*KtddiS)Nstatussuccessr(r)rIrs r<webrtc_ice_candidaterMFs 9 5 6 6 66r@z/webrtc/clear_memoryobjcKdd|jii}t|}|jdg}|D]2}t|dt |ji3tddiS) Nr*r+)r.r)idrKrLr() r0r3 get_stater-get update_staterrPr)rNrr.staterr&s r<webrtc_clear_memoryrULs{L,AB CF MMM ( (E| B//HMM *mwz.J.J.J!KLLLL 9 5 6 6 66r@).osdotenvrfastapirrrfastapi.responsesrauthr aiortcr r langchain_openair langchain.promptsrrlangchain.memoryrlangchain_core.messagesrrrlanggraph.checkpoint.memoryrrtypingrr7compiler3 webrtc_routerllm from_messagespromptchainrstr__annotations__postdictrHrMrUr@r<rms 1111111111******"""""";;;;;;;;''''''EEEEEEEE555555OOOOOOOOOO333333 em((( jQ8444 )  )rj111+    57 tC112777O$$9@AQ9R9R!!d!$!!!%$!H+,,ELWM]E^E^77$7d777-,7 *++>EgFV>W>W7747t777,+777r@