U 췀g@sddlmZddlmZddlmZddlmZddlm Z ddl m Z m Z m Z ddlZddlmZdd lmZmZdd lmZmZzddlZdd lmZmZWnek red YnXGd ddeZddZddZdS)wraps)consts)record_token_usage)set_data_normalized)SPANDATA)AnyIterableCallableN)should_send_default_pii) DidNotEnable Integration)capture_internal_exceptionsevent_from_exception)ChatCompletionStreamOutputTextGenerationOutputzHuggingface not installedc@s0eZdZdZdeZd ddZeddZdS) HuggingfaceHubIntegrationhuggingface_hubzauto.ai.TcCs ||_dSN)include_prompts)selfrrU/opt/hc_python/lib/python3.8/site-packages/sentry_sdk/integrations/huggingface_hub.py__init__sz"HuggingfaceHubIntegration.__init__cCsttjjjjtjjj_dSr)_wrap_text_generationrZ inferenceZ_clientZInferenceClientZtext_generationrrrr setup_once"s z$HuggingfaceHubIntegration.setup_onceN)T)__name__ __module__ __qualname__ identifieroriginr staticmethodrrrrrrs   rcCs0t|tjdddd\}}tj||ddS)NrF)typeZhandled)Zclient_optionsZ mechanism)hint)r sentry_sdk get_clientoptionsZ capture_event)exceventr#rrr_capture_exception,s  r)cstfdd}|S)Nc sttdkr ||Sd|kr2|d}nBt|dkrj|d|d<|d}|df|dd}n ||S|d}|d}tjtjj dtj d z||Wn>t k r}z t |ddd|dW5d}~XYnXttrjrttj|ttj|ttj|ttrtrbjrbtd gdddW5QRSttrtrjrtd jgjdk rֈjjdkrtjjd dddW5QRStts*td d dddW5QRS|d drZfdd}|W5QRSfdd}|W5QRSW5QRXdS)NpromptrmodelstreamzText Generation)opnamer z ai.responsesZ total_tokensZunknown_responseTdetailsFc 3std}g}D]L}t|dr.new_text_generation..new_details_iteratorc 3sxg}tdD]}t|tr(|||Vqt|dkr\tr\jr\ttj d | dddW5QRXdS)Nrr6) r isinstancestrr8r9r rrrr:r;r<)r=sr?rr new_iterators$   zH_wrap_text_generation..new_text_generation..new_iterator)r$r%Zget_integrationrr9getZ start_spanrOPZ'HUGGINGFACE_HUB_CHAT_COMPLETIONS_CREATEr __enter__ Exceptionr)r<rr rrrZAI_INPUT_MESSAGESZ AI_MODEL_IDZ AI_STREAMINGrCrDrZgenerated_textr2r5rr )argskwargsr*r-Z streamingerBrFfr?rnew_text_generation8st            z2_wrap_text_generation..new_text_generationr)rOrPrrNrr6svr) functoolsrr$rZsentry_sdk.ai.monitoringrZsentry_sdk.ai.utilsrZsentry_sdk.constsrtypingrr r Zsentry_sdk.scoper Zsentry_sdk.integrationsr r Zsentry_sdk.utilsrrZ!huggingface_hub.inference._clientrrr ImportErrorrr)rrrrrs"