Ë
    µŒj8  ã                   ór   — d dl m Z  d dlmZmZmZmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZ  G d„ de
«      Zy	)
é    )Údatetime)ÚAnyÚDictÚListÚOptional)ÚAgentActionÚAgentFinish)ÚBaseCallbackHandler)Ú	LLMResult)Úimport_pandasc                   ó¼  ‡ — e Zd ZdZ	 	 	 	 d%dee   dee   dee   dee   ddf
ˆ fd„Zd	eeef   d
e	e   deddfd„Z
dededdfd„Zdededdfd„Zdededdfd„Zd	eeef   deeef   deddfd„Zdeeef   deddfd„Zdededdfd„Zd	eeef   dededdfd„Zdededefd„Z	 	 d&dedee   dee   deddf
d„Zdededdfd „Zd!ededdfd"„Zd#ededdfd$„Zˆ xZS )'ÚArizeCallbackHandlerz$Callback Handler that logs to Arize.NÚmodel_idÚmodel_versionÚ	SPACE_KEYÚAPI_KEYÚreturnc                 ó¼  •— t         ‰| �  «        || _        || _        || _        || _        g | _        g | _        g | _        g | _	        g | _
        g | _        d| _        d| _        d| _        d| _        ddlm}m} ddlm} |j+                  |j,                  j.                  ddd¬«      | _         |||¬«      | _        |d	k(  s|d
k(  rt5        d«      ‚t7        d«       y)zInitialize callback handler.r   )ÚEmbeddingGeneratorÚUseCases)ÚClientzdistilbert-base-uncasedi   é   )Úuse_caseÚ
model_nameÚtokenizer_max_lengthÚ
batch_size)Ú	space_keyÚapi_keyr   r   u   â�Œ CHANGE SPACE AND API KEYSu;   âœ… Arize client setup done! Now you can start using Arize!N)ÚsuperÚ__init__r   r   r   r   Úprompt_recordsÚresponse_recordsÚprediction_idsÚpred_timestampsÚresponse_embeddingsÚprompt_embeddingsÚprompt_tokensÚcompletion_tokensÚtotal_tokensÚstepÚarize.pandas.embeddingsr   r   Úarize.pandas.loggerr   Úfrom_use_caseÚNLPÚSEQUENCE_CLASSIFICATIONÚ	generatorÚarize_clientÚ
ValueErrorÚprint)	Úselfr   r   r   r   r   r   r   Ú	__class__s	           €úv/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/callbacks/arize_callback.pyr    zArizeCallbackHandler.__init__   sä   ø€ ô 	‰ÑÔØ ˆŒØ*ˆÔØ"ˆŒØˆŒØ)+ˆÔØ+-ˆÔØ)+ˆÔØ*,ˆÔØ02ˆÔ Ø.0ˆÔØˆÔØ!"ˆÔØˆÔØˆŒ	çHÝ.à+×9Ñ9Ø—\‘\×9Ñ9Ø0Ø!$Øð	 :ó 
ˆŒñ #¨YÀÔHˆÔØ˜Ò# w°)Ò';ÜÐ<Ó=Ð=äÐOÕPó    Ú
serializedÚpromptsÚkwargsc                 óh   — |D ]-  }| j                   j                  |j                  dd«      «       Œ/ y )NÚ
Ú )r!   ÚappendÚreplace)r4   r8   r9   r:   Úprompts        r6   Úon_llm_startz!ArizeCallbackHandler.on_llm_start6   s-   € ó ˆFØ×Ñ×&Ñ& v§~¡~°d¸BÓ'?Õ@ñ r7   Útokenc                  ó   — y©zDo nothing.N© )r4   rB   r:   s      r6   Úon_llm_new_tokenz%ArizeCallbackHandler.on_llm_new_token<   ó   € àr7   Úresponsec                 ó¾  — t        «       }ddlm}m}m}m} |j                  r{d|j                  v rm|j                  d   j                  dd«      | _        |j                  d   j                  dd«      | _	        |j                  d   j                  dd«      | _
        ndx| _        x| _	        | _
        |j                  D �]  }|D �]  }	| j                  | j                     }
| j                  dz   | _        |j                  | j                  j!                  |j                  |
j#                  dd	«      «      ¬
«      j%                  d¬«      «      }|	j&                  j#                  dd	«      }|j                  | j                  j!                  |j                  |	j&                  j#                  dd	«      «      ¬
«      j%                  d¬«      «      }t)        j*                  «       j-                  «       }g d¢}|||
|d   |d   | j                  | j                  | j                  gg}|j/                  ||¬«      } |dd¬«      } |dd¬«      } |dg d¢||¬«      }| j0                  j3                  ||| j4                  | j6                  |j8                  |j:                  ¬«      }|j<                  dk(  rt?        d«       �Œút?        d|j&                  › d�«       �Œ �Œ y )Nr   )ÚEmbeddingColumnNamesÚEnvironmentsÚ
ModelTypesÚSchemaÚtoken_usager'   r)   r(   é   r<   Ú )Útext_colT)Údrop)Úprediction_tsrH   r@   Úresponse_vectorÚprompt_vectorÚprompt_tokenÚcompletion_tokenÚtotal_token)ÚcolumnsrU   r@   )Úvector_column_nameÚdata_column_namerT   rH   rS   )rV   rW   rX   )Útimestamp_column_nameÚtag_column_namesÚprompt_column_namesÚresponse_column_names)Ú	dataframeÚschemar   r   Ú
model_typeÚenvironmentéÈ   u&   âœ… Successfully logged data to Arize!u   â�Œ Logging failed "Ú") r   Úarize.utils.typesrJ   rK   rL   rM   Ú
llm_outputÚgetr'   r)   r(   Úgenerationsr!   r*   ÚSeriesr0   Úgenerate_embeddingsr?   Úreset_indexÚtextr   ÚnowÚ	timestampÚ	DataFramer1   Úlogr   r   ÚGENERATIVE_LLMÚ
PRODUCTIONÚstatus_coder3   )r4   rH   r:   ÚpdrJ   rK   rL   rM   ri   Ú
generationr@   Úprompt_embeddingÚresponse_textÚresponse_embeddingÚpred_timestamprY   ÚdataÚdfÚprompt_columnsÚresponse_columnsra   Úresponse_from_arizes                         r6   Ú
on_llm_endzArizeCallbackHandler.on_llm_end@   sÑ  € Ü‹_ˆ÷	
ó 	
ð ×Ò =°H×4GÑ4GÑ#GØ!)×!4Ñ!4°]Ñ!C×!GÑ!GØ ó"ˆDÔð !)× 3Ñ 3°MÑ B× FÑ FØ ó!ˆDÔð &.×%8Ñ%8¸Ñ%G×%KÑ%KØ# Qó&ˆDÕ"ð
 ðˆDÔð  Ô!2°TÔ5Kð $×/Õ/ˆKÜ)�
Ø×,Ñ,¨T¯Y©YÑ7�Ø ŸI™I¨™M�”	Ø#%§9¡9Ø—N‘N×6Ñ6Ø!#§¡¨6¯>©>¸$ÀÓ+DÓ!Eð 7ó ç!‘k t�kÓ,ó$Ð ð !+§¡× 7Ñ 7¸¸cÓ B�Ø%'§Y¡YØ—N‘N×6Ñ6Ø!#§¡¨:¯?©?×+BÑ+BÀ4ÈÓ+MÓ!Nð 7ó ç!‘k t�kÓ,ó&Ð"ô
 "*§¡£×!9Ñ!9Ó!;�ò	�ð 'Ø%ØØ*¨1Ñ-Ø(¨Ñ+Ø×*Ñ*Ø×)Ñ)Ø×.Ñ.ð	ð�ð —\‘\ $°�\Ó8�ñ "6Ø'6Èô"�ñ $8Ø'8È:ô$Ð ñ  Ø*9ò&ð
 )7Ø*:ô	�ð '+×&7Ñ&7×&;Ñ&;Ø Ø!Ø!Ÿ]™]Ø"&×"4Ñ"4Ø)×8Ñ8Ø ,× 7Ñ 7ð '<ó 'Ð#ð '×2Ñ2°cÒ9ÜÐBÖCäÐ0Ð1D×1IÑ1IÐ0JÈ!ÐLÖMòY *ñ 0r7   Úerrorc                  ó   — yrD   rE   ©r4   r�   r:   s      r6   Úon_llm_errorz!ArizeCallbackHandler.on_llm_error¨   rG   r7   Úinputsc                  ó   — y ©NrE   )r4   r8   r…   r:   s       r6   Úon_chain_startz#ArizeCallbackHandler.on_chain_start¬   s   € ð 	r7   Úoutputsc                  ó   — yrD   rE   )r4   r‰   r:   s      r6   Úon_chain_endz!ArizeCallbackHandler.on_chain_end±   rG   r7   c                  ó   — yrD   rE   rƒ   s      r6   Úon_chain_errorz#ArizeCallbackHandler.on_chain_errorµ   rG   r7   Ú	input_strc                  ó   — y r‡   rE   )r4   r8   rŽ   r:   s       r6   Úon_tool_startz"ArizeCallbackHandler.on_tool_start¹   s   € ð 	r7   Úactionc                  ó   — yrD   rE   )r4   r‘   r:   s      r6   Úon_agent_actionz$ArizeCallbackHandler.on_agent_actionÁ   rG   r7   ÚoutputÚobservation_prefixÚ
llm_prefixc                  ó   — y r‡   rE   )r4   r”   r•   r–   r:   s        r6   Úon_tool_endz ArizeCallbackHandler.on_tool_endÅ   s   € ð 	r7   c                  ó   — y r‡   rE   rƒ   s      r6   Úon_tool_errorz"ArizeCallbackHandler.on_tool_errorÎ   ó   € Ør7   rm   c                  ó   — y r‡   rE   )r4   rm   r:   s      r6   Úon_textzArizeCallbackHandler.on_textÑ   r›   r7   Úfinishc                  ó   — y r‡   rE   )r4   rž   r:   s      r6   Úon_agent_finishz$ArizeCallbackHandler.on_agent_finishÔ   r›   r7   )NNNN)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr    r   r   r   rA   rF   r   r€   ÚBaseExceptionr„   rˆ   r‹   r�   r�   r   r“   r˜   rš   r�   r	   r    Ú__classcell__)r5   s   @r6   r   r      s>  ø„ Ù.ð #'Ø'+Ø#'Ø!%ñ&Qà˜3‘-ð&Qð   ‘}ð&Qð ˜C‘=ð	&Qð
 ˜#‘ð&Qð 
õ&QðPAØ˜s C˜x™.ðAØ37¸±9ðAØHKðAà	óAð cð °Sð ¸Tó ðfN 9ð fN¸ð fNÀó fNðP -ð ¸3ð À4ó ðØ˜s C˜x™.ðØ26°s¸C°x±.ðØLOðà	óð
 D¨¨c¨¡Nð ¸cð Àdó ð Mð ¸Sð ÀTó ðà˜˜c˜‘Nðð ðð ð	ð
 
óð kð ¸Sð ÀSó ð -1Ø$(ñ	àðð % S™Mðð ˜S‘Mð	ð
 ðð 
óð =ð ¸Cð ÀDó ð˜Cð ¨3ð °4ó ð kð ¸Sð ÀT÷ r7   r   N)r   Útypingr   r   r   r   Úlangchain_core.agentsr   r	   Úlangchain_core.callbacksr
   Úlangchain_core.outputsr   Ú#langchain_community.callbacks.utilsr   r   rE   r7   r6   Ú<module>r­      s)   ðÝ ß ,Ó ,ç :Ý 8Ý ,å =ôJÐ.õ Jr7   