U 췀g2$@sddlmZddlmZddlmZddlmZddlm Z ddl m Z e rlddl m Z m Z mZddlmZdd lZdd lmZdd lmZmZdd lmZmZz.collect_chat_response_fieldsc sttdks.d|ks.t|dts8||S|d}tjtj j dtj d z||}Wn>t k r}z t|ddd|dW5d}~XYnXt8tr&jr&ttjttdd|dgd|dgtD]$\}}||krt|||qtD]$\}}||kr.t|||q.ttjd r|fd d }|W5QRSt|trĈ|tojd dddntd dddd|W5QRSQRXdS)Nmessagezcohere.client.Chatopnamer-cSst|ddt|dddS)NrolerGrKcontent)r?lowerxr"r"r#s z._wrap_chat..new_chat..Z chat_historyuserrMFc 3s`tBD]6}t|ts$t|tr<|jto6jd|Vq W5QRXddddS)NrD)r isinstancerrresponser r __exit__rP)rF integration old_iteratorrBr"r# new_iterators z2_wrap_chat..new_chat..new_iteratorrTZunknown_responseT)r1r2get_integrationrrUgetstr start_spanrOPZCOHERE_CHAT_COMPLETIONS_CREATEr- __enter__ Exceptionr6rWrr r rrAI_INPUT_MESSAGESlistmapCOLLECTED_PII_CHAT_PARAMSitemsCOLLECTED_CHAT_PARAMSZ AI_STREAMINGr)argskwargsrGrCervrZrFfr%)rXrYrBr#new_chatsr         z_wrap_chat..new_chatr)rmr%rnr"rlr#r&_s"Vr&cstfdd}|S)Nc sltt}|dkr ||Stjtjjdtjd*}d|krt r|j rt |dt rpt |d|dgnBt |dtrt|ddkrt |ddt rt |tj|dd|krt |tj|dz||}Wn2tk r }zt||dW5d}~XYnXt|drRt|jdrRt|jjd rRt||jjj|jjjd |W5QRSQRXdS) NzCohere Embedding CreationrHZtextszai.textsrrr8r9rA)r:Z total_tokens)r1r2r[rr^rr_ZCOHERE_EMBEDDINGS_CREATEr-r r rUr]rrclenrrb AI_MODEL_IDrar6r=r8r9rrA)rhrirXrBrCrjrmr"r# new_embeds\    z_wrap_embed..new_embedr)rmrrr"rqr#r's,r')5 functoolsrr1rZsentry_sdk.ai.monitoringrZsentry_sdk.constsrZsentry_sdk.ai.utilsrtypingrr r r Zsentry_sdk.tracingr Zsentry_sdk.scoper Zsentry_sdk.integrationsrrZsentry_sdk.utilsrrZ cohere.clientrZcohere.base_clientrrrrr ImportErrorrrrpZAI_TOP_KZAI_TOP_PZAI_SEEDZAI_FREQUENCY_PENALTYZAI_PRESENCE_PENALTYZAI_RAW_PROMPTINGrgZAI_TOOLSZ AI_PREAMBLErer@r>rr6r&r'r"r"r"r#sb