§
    šŠtjAK  ã            	       ó˜  — d Z ddlZddlmZmZ ddlmZmZmZ ddl	m
Z
 ddlmZ ddlmZmZ i dd	“d
d“dd	“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“i d"d!“d#d	“d$d“d%d	“d&d“d'd“d(d“d)d“d*d“d+d,“d-d,“d.d/“d0d/“d1d!“d2d!“d3d4“d5d4“¥i d6d7“d8d7“d9d4“d:d4“d;d“d<d“d=d!“d>d!“d?d@“dAd@“dBdC“dDdC“dEdF“dGdF“dHdI“dJdI“dKdL“¥i dMdL“dNdO“dPdO“dQdF“dRdF“dSdT“dUdT“dVd“dWd“dXd,“dYd,“dZd/“d[d/“d\d]“d^d]“d_d`“dad`“¥i dbdc“dddc“ded]“dfd]“dgdh“didh“djdc“dkdc“dld]“dmdh“dnd]“dodh“dpdc“dqdc“drdI“dsdL“dtdI“¥i dudL“dvdO“dwdO“dxdy“dzd	“d{d|“d}dy“d~d	“ddy“d€d	“d�d“d‚dI“dƒd“d„d“d…dy“d†dy“d‡dy“¥i dˆd“d‰d“dŠd“d‹d|“dŒd|“d�d|“dŽdy“d�dy“d�dy“d‘d’“d“d’“d”d’“d•d–“d—d˜“d™d–“dšd˜“d›dœ“¥i d�dœ“džd–“dŸd–“d dœ“d¡dœ“d¢dœ“d£dœ“d¤d¥“d¦d¥“d§d¨“d©d¨“dªd–“d«d–“d¬dœ“d­dœ“d®dy“d¯dy“¥i d°d“d±d“d²d³“d´d³“dµd¶“d·d¶“d¸d¹“dºd¹“d»d¹“d¼dO“d½dO“d¾dO“d¿d“dÀd“dÁd“dÂd“dÃd“¥i dÄd“dÅdO“dÆdO“dÇdO“dÈdÉ“dÊdÉ“dËdÉ“dÌd¹“dÍd¹“dÎd¹“dÏd¹“dÐd¹“dÑd¹“dÒdÓ“dÔd,“dÕdÓ“dÖdÓ“¥i d×dØ“dÙdÓ“dÚd³“dÛd³“dÜd“dÝdÓ“dÞd“dßd“dàd“dád“dâdã“dädã“dådÓ“dæd,“dçd“dèdÓ“dédÓ“¥i dêd³“dëd³“dìd“dídÓ“dîd“dïd“dðd“dñdã“dòdã“dód!“dôd!“dõd,“död,“d÷d“død“dùd’“dúd’“¥i dûd’“düd7“dýd¶“dþd³“dÿd³“�d d³“�dd¥“�dd–“�dd7“�dd¶“�d�d“�d�d“�d�d“�d	�d
“�dd!“�dd“�ddÓ“¥d!ddd7d¨d¶dÉ�dœ¥Z G �d„ �de¦  «        Zej        �dœ�de�de�def�d„Zej        �dœ�de�de�de�def�d„Z G �d„ �de
¦  «        ZdS (  z(Callback Handler that prints to std out.é    N)ÚEnumÚauto)ÚAnyÚDictÚList)ÚBaseCallbackHandler)Ú	AIMessage)ÚChatGenerationÚ	LLMResultúgpt-5g{®GázT?zgpt-5-cachedgü©ñÒMb ?zgpt-5-2025-08-07zgpt-5-2025-08-07-cachedzgpt-5-completiong{®Gáz„?zgpt-5-2025-08-07-completionz
gpt-5-minigü©ñÒMb0?zgpt-5-mini-cachedg-Cëâ6ú>zgpt-5-mini-2025-08-07zgpt-5-mini-2025-08-07-cachedzgpt-5-mini-completiongü©ñÒMb`?z gpt-5-mini-2025-08-07-completionz
gpt-5-nanog-Cëâ6
?zgpt-5-nano-cachedgñhãˆµøÔ>zgpt-5-nano-2025-08-07zgpt-5-nano-2025-08-07-cachedzgpt-5-nano-completiong-Cëâ6:?z gpt-5-nano-2025-08-07-completionzgpt-5-chat-latestzgpt-5-chat-latest-cachedzgpt-5-chat-latest-2025-08-07z#gpt-5-chat-latest-2025-08-07-cachedzgpt-5-chat-latest-completionz'gpt-5-chat-latest-2025-08-07-completionúgpt-4.1zgpt-4.1-2025-04-14zgpt-4.1-cachedgü©ñÒMb@?zgpt-4.1-2025-04-14-cachedzgpt-4.1-completiongü©ñÒMb€?zgpt-4.1-2025-04-14-completionzgpt-4.1-minizgpt-4.1-mini-2025-04-14zgpt-4.1-mini-cachedg-Cëâ6?zgpt-4.1-mini-2025-04-14-cachedzgpt-4.1-mini-completiong-Cëâ6Z?z"gpt-4.1-mini-2025-04-14-completionzgpt-4.1-nanozgpt-4.1-nano-2025-04-14zgpt-4.1-nano-cachedzgpt-4.1-nano-2025-04-14-cachedzgpt-4.1-nano-completionz"gpt-4.1-nano-2025-04-14-completionzgpt-4.5-previewg333333³?zgpt-4.5-preview-2025-02-27zgpt-4.5-preview-cachedg333333£?z!gpt-4.5-preview-2025-02-27-cachedzgpt-4.5-preview-completiong333333Ã?z%gpt-4.5-preview-2025-02-27-completionÚo1g¸…ëQ¸Ž?zo1-2024-12-17z	o1-cachedg¸…ëQ¸~?zo1-2024-12-17-cachedzo1-completiong¸…ëQ¸®?zo1-2024-12-17-completionzo1-prozo1-pro-2025-03-19zo1-pro-completiong333333ã?zo1-pro-2025-03-19-completionÚo3zo3-2025-04-16z	o3-cachedzo3-2025-04-16-cachedzo3-completionzo3-2025-04-16-completionzo4-minig/n£¼R?zo4-mini-2025-04-16zo4-mini-cachedg/n£¼2?zo4-mini-2025-04-16-cachedzo4-mini-completiong/n£¼r?zo4-mini-2025-04-16-completionzo3-minizo3-mini-2025-01-31zo3-mini-cachedg/n£¼B?zo3-mini-2025-01-31-cachedzo3-mini-completionzo3-mini-2025-01-31-completionzo1-minizo1-mini-cachedzo1-mini-2024-09-12zo1-mini-2024-09-12-cachedzo1-mini-completionzo1-mini-2024-09-12-completionz
o1-previewzo1-preview-cachedzo1-preview-2024-09-12zo1-preview-2024-09-12-cachedzo1-preview-completionz o1-preview-2024-09-12-completionúgpt-4og{®Gázd?zgpt-4o-cachedúgpt-4o-2024-05-13g{®Gázt?zgpt-4o-2024-08-06zgpt-4o-2024-08-06-cachedzgpt-4o-2024-11-20zgpt-4o-2024-11-20-cachedzgpt-4o-completionzgpt-4o-2024-05-13-completionzgpt-4o-2024-08-06-completionzgpt-4o-2024-11-20-completionzgpt-4o-audio-previewzgpt-4o-audio-preview-2024-12-17zgpt-4o-audio-preview-2024-10-01zgpt-4o-audio-preview-completionz*gpt-4o-audio-preview-2024-12-17-completionz*gpt-4o-audio-preview-2024-10-01-completionzgpt-4o-realtime-previewz"gpt-4o-realtime-preview-2024-12-17z"gpt-4o-realtime-preview-2024-10-01zgpt-4o-realtime-preview-cachedz)gpt-4o-realtime-preview-2024-12-17-cachedz)gpt-4o-realtime-preview-2024-10-01-cachedz"gpt-4o-realtime-preview-completiong{®Gáz”?z-gpt-4o-realtime-preview-2024-12-17-completionz-gpt-4o-realtime-preview-2024-10-01-completionzgpt-4o-miniga2U0*©#?zgpt-4o-mini-cachedga2U0*©?zgpt-4o-mini-2024-07-18zgpt-4o-mini-2024-07-18-cachedzgpt-4o-mini-completionga2U0*©C?z!gpt-4o-mini-2024-07-18-completionzgpt-4o-mini-audio-previewz$gpt-4o-mini-audio-preview-2024-12-17z$gpt-4o-mini-audio-preview-completionz/gpt-4o-mini-audio-preview-2024-12-17-completionzgpt-4o-mini-realtime-previewz'gpt-4o-mini-realtime-preview-2024-12-17z#gpt-4o-mini-realtime-preview-cachedga2U0*©3?z.gpt-4o-mini-realtime-preview-2024-12-17-cachedz'gpt-4o-mini-realtime-preview-completionga2U0*©c?z2gpt-4o-mini-realtime-preview-2024-12-17-completionzgpt-4o-mini-search-previewz%gpt-4o-mini-search-preview-2025-03-11z%gpt-4o-mini-search-preview-completionz0gpt-4o-mini-search-preview-2025-03-11-completionzgpt-4o-search-previewz gpt-4o-search-preview-2025-03-11z gpt-4o-search-preview-completionz+gpt-4o-search-preview-2025-03-11-completionzcomputer-use-previewgú~j¼t“h?zcomputer-use-preview-2025-03-11zcomputer-use-preview-completiongú~j¼t“ˆ?z*computer-use-preview-2025-03-11-completionúgpt-4g¸…ëQ¸ž?z
gpt-4-0314z
gpt-4-0613z	gpt-4-32kzgpt-4-32k-0314zgpt-4-32k-0613zgpt-4-vision-previewzgpt-4-1106-previewzgpt-4-0125-previewzgpt-4-turbo-previewzgpt-4-turbozgpt-4-turbo-2024-04-09zgpt-4-completionzgpt-4-0314-completionzgpt-4-0613-completionzgpt-4-32k-completiong¸…ëQ¸¾?zgpt-4-32k-0314-completionzgpt-4-32k-0613-completionzgpt-4-vision-preview-completionzgpt-4-1106-preview-completionzgpt-4-0125-preview-completionzgpt-4-turbo-preview-completionzgpt-4-turbo-completionz!gpt-4-turbo-2024-04-09-completionzgpt-3.5-turbogú~j¼t“X?zgpt-3.5-turbo-0125zgpt-3.5-turbo-0301zgpt-3.5-turbo-0613zgpt-3.5-turbo-1106gü©ñÒMbP?zgpt-3.5-turbo-instructzgpt-3.5-turbo-16kzgpt-3.5-turbo-16k-0613zgpt-3.5-turbo-completionzgpt-3.5-turbo-0125-completionzgpt-3.5-turbo-0301-completionzgpt-3.5-turbo-0613-completionzgpt-3.5-turbo-1106-completionz!gpt-3.5-turbo-instruct-completionzgpt-3.5-turbo-16k-completiongü©ñÒMbp?z!gpt-3.5-turbo-16k-0613-completionzgpt-35-turbozgpt-35-turbo-0125zgpt-35-turbo-0301zgpt-35-turbo-0613zgpt-35-turbo-instructzgpt-35-turbo-16kzgpt-35-turbo-16k-0613zgpt-35-turbo-completionzgpt-35-turbo-0125-completionzgpt-35-turbo-0301-completionzgpt-35-turbo-0613-completionz gpt-35-turbo-instruct-completionzgpt-35-turbo-16k-completionz gpt-35-turbo-16k-0613-completionztext-ada-001Úadaztext-babbage-001Úbabbageztext-curie-001Úcurieztext-davinci-003ztext-davinci-002zcode-davinci-002zbabbage-002-finetunedzdavinci-002-finetunedzgpt-3.5-turbo-0613-finetunedzgpt-3.5-turbo-1106-finetunedzgpt-3.5-turbo-0125-finetunedz gpt-4o-mini-2024-07-18-finetunedz'gpt-4o-mini-2024-07-18-finetuned-cachedz babbage-002-finetuned-completionz davinci-002-finetuned-completionz'gpt-3.5-turbo-0613-finetuned-completiongú~j¼t“x?z'gpt-3.5-turbo-1106-finetuned-completionz'gpt-3.5-turbo-0125-finetuned-completionz+gpt-4o-mini-2024-07-18-finetuned-completionga2U0*©S?zbabbage-002-azure-finetunedzdavinci-002-azure-finetunedz!gpt-35-turbo-0613-azure-finetuned)z&babbage-002-azure-finetuned-completionz&davinci-002-azure-finetuned-completionz,gpt-35-turbo-0613-azure-finetuned-completionzada-finetuned-legacyzbabbage-finetuned-legacyzcurie-finetuned-legacyzdavinci-finetuned-legacyc                   óN   — e Zd ZdZ e¦   «         Z e¦   «         Z e¦   «         ZdS )Ú	TokenTypezToken type enum.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚPROMPTÚPROMPT_CACHEDÚ
COMPLETION© ó    úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/callbacks/openai_info.pyr   r   3  s5   € € € € € ØÐàˆT‰VŒV€FØ�D‘F”F€MØ�‘”€J€J€Jr    r   ©Ú
token_typeÚ
model_namer#   Úreturnc                óª  — |                       ¦   «         } d| v r|                      d¦  «        d         dz   } d| v r|                      d¦  «        d         dz   } d| v r|                      d¦  «        d         d	z   } |t          j        k    r |                      d
¦  «        s†|                      d¦  «        sq|                      d¦  «        s\|                      d¦  «        sG|                      d¦  «        s2|                      d¦  «        s|                      d¦  «        sd| v r	d| vr| dz   S |t          j        k    r˜|                      d
¦  «        si|                      d¦  «        sT|                      d¦  «        s?|                      d¦  «        s*|                      d¦  «        s|                      d¦  «        r|                      d¦  «        s| dz   S | S )a   
    Standardize the model name to a format that can be used in the OpenAI API.

    Args:
        model_name: Model name to standardize.
        token_type: Token type. Defaults to ``TokenType.PROMPT``.

    Returns:
        Standardized model name.

    z.ft-r   z-azure-finetunedz:ft-ú:z-finetuned-legacyzft:é   z
-finetunedr   r   zgpt-3.5zgpt-35zo1-zo3-zo4-Ú	finetunedÚlegacyz-completionr   r   r   r   Úo4r   z-cached)ÚlowerÚsplitr   r   Ú
startswithr   )r$   r#   s     r!   Ústandardize_model_namer/   ;  s+  € ð  ×!Ò!Ñ#Ô#€JØ�ÐÐØ×%Ò% fÑ-Ô-¨aÔ0Ð3EÑEˆ
Ø�ÐÐØ×%Ò% cÑ*Ô*¨1Ô-Ð0CÑCˆ
Ø�
ÐÐØ×%Ò% cÑ*Ô*¨1Ô-°Ñ<ˆ
Ø•YÔ)Ò)Ð)Ø×Ò˜gÑ&Ô&ð *à× Ò  Ñ)Ô)ð *ð × Ò  Ñ+Ô+ð *ð × Ò  Ñ*Ô*ð	 *ð
 × Ò  Ñ'Ô'ð *ð × Ò  Ñ'Ô'ð *ð × Ò  Ñ'Ô'ð *ð ˜:Ð%Ð%¨(¸*Ð*DÐ*Dà˜MÑ)Ð)à•iÔ-Ò-Ð-à×!Ò! 'Ñ*Ô*ð 	.ð ×$Ò$ XÑ.Ô.ð 	.ð ×$Ò$ YÑ/Ô/ð	 	.ð
 ×$Ò$ TÑ*Ô*ð 	.ð ×$Ò$ TÑ*Ô*ð 	.ð ×$Ò$ TÑ*Ô*ð 	.ð ×&Ò&Ð':Ñ;Ô;ð 	.ð ˜IÑ%Ð%àÐr    Ú
num_tokensc                óÜ   — t          | |¬¦  «        } | t          vr@t          d| › d�d                     t                               ¦   «         ¦  «        z   ¦  «        ‚t          |          |dz  z  S )a  
    Get the cost in USD for a given model and number of tokens.

    Args:
        model_name: Name of the model
        num_tokens: Number of tokens.
        token_type: Token type. Defaults to ``TokenType.PROMPT``.

    Returns:
        Cost in USD.
    r"   zUnknown model: z=. Please provide a valid OpenAI model name.Known models are: z, iè  )r/   ÚMODEL_COST_PER_1K_TOKENSÚ
ValueErrorÚjoinÚkeys)r$   r0   r#   s      r!   Úget_openai_token_cost_for_modelr6   n  sƒ   € õ" (¨
¸zÐJÑJÔJ€JØÕ1Ð1Ð1Ýð!˜jð !ð !ð !Ø#'§9¢9Õ-E×-JÒ-JÑ-LÔ-LÑ#MÔ#MñNñ
ô 
ð 	
õ $ JÔ/°:ÀÑ3DÑEÐEr    c                   ó$  ‡ — e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed<   d	Zeed
<   dˆ fd„Zdefd„Zede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d„Zdedd fd„Zˆ xZS )ÚOpenAICallbackHandlerz)Callback Handler that tracks OpenAI info.r   Útotal_tokensÚprompt_tokensÚprompt_tokens_cachedÚcompletion_tokensÚreasoning_tokensÚsuccessful_requestsg        Ú
total_costr%   Nc                 óx   •— t          ¦   «                              ¦   «          t          j        ¦   «         | _        d S )N)ÚsuperÚ__init__Ú	threadingÚLockÚ_lock)ÚselfÚ	__class__s    €r!   rB   zOpenAICallbackHandler.__init__“  s,   ø€ Ý‰Œ×ÒÑÔÐÝ”^Ñ%Ô%ˆŒ
ˆ
ˆ
r    c                 óv   — d| j         › d| j        › d| j        › d| j        › d| j        › d| j        › d| j        › �S )NzTokens Used: z
	Prompt Tokens: z
		Prompt Tokens Cached: z
	Completion Tokens: z
		Reasoning Tokens: z
Successful Requests: z
Total Cost (USD): $)r9   r:   r;   r<   r=   r>   r?   ©rF   s    r!   Ú__repr__zOpenAICallbackHandler.__repr__—  s‚   € ð4˜DÔ-ð 4ð 4Ø $Ô 2ð4ð 4à)-Ô)Bð4ð 4ð %)Ô$:ð4ð 4ð &*Ô%:ð	4ð 4ð
 %)Ô$<ð4ð 4ð #'¤/ð4ð 4ð	
r    c                 ó   — dS )z;Whether to call verbose callbacks even if verbose is False.Tr   rI   s    r!   Úalways_verbosez$OpenAICallbackHandler.always_verbose¢  s	   € ð ˆtr    Ú
serializedÚpromptsÚkwargsc                 ó   — dS )zPrint out the prompts.Nr   )rF   rM   rN   rO   s       r!   Úon_llm_startz"OpenAICallbackHandler.on_llm_start§  s	   € ð 	ˆr    Útokenc                 ó   — dS )zPrint out the token.Nr   )rF   rR   rO   s      r!   Úon_llm_new_tokenz&OpenAICallbackHandler.on_llm_new_token­  s   € àˆr    Úresponsec                 ó  — 	 |j         d         d         }n# t          $ r d}Y nw xY wt          |t          ¦  «        rE	 |j        }t          |t
          ¦  «        r|j        }|j        }nd}d}n# t          $ r d}d}Y nw xY wd}d}d}d}|rÂd|d         i}	|d         }
|d         }|pi  	                    d¦  «        x}rt          |¦  «        }n2|j        €d}n(t          |j         	                    dd¦  «        ¦  «        }d| 	                    d	i ¦  «        v r|d	         d         }d
| 	                    di ¦  «        v r|d         d
         }n¤|j        €dS d|j        vr1| j        5  | xj        dz  c_        ddd¦  «         n# 1 swxY w Y   dS |j        d         }	|	 	                    dd¦  «        }
|	 	                    dd¦  «        }t          |j         	                    dd¦  «        ¦  «        }|t          v r_||z
  }t          ||t           j        ¬¦  «        }t          ||t           j        ¬¦  «        }||z   }t          ||
t           j        ¬¦  «        }nd}d}| j        5  | xj        ||z   z  c_        | xj        |	 	                    dd¦  «        z  c_        | xj        |z  c_        | xj        |z  c_        | xj        |
z  c_        | xj        |z  c_        | xj        dz  c_        ddd¦  «         dS # 1 swxY w Y   dS )zCollect token usage.r   Nr9   Úoutput_tokensÚinput_tokensr$   Ú Ú
cache_readÚinput_token_detailsÚ	reasoningÚoutput_token_detailsÚtoken_usager(   r<   r:   r"   )ÚgenerationsÚ
IndexErrorÚ
isinstancer
   Úmessager	   Úusage_metadataÚresponse_metadataÚAttributeErrorÚgetr/   Ú
llm_outputrE   r>   r2   r6   r   r   r   r   r?   r9   r:   r;   r<   r=   )rF   rU   rO   Ú
generationrb   rc   rd   r;   r=   r^   r<   r:   Úresponse_model_namer$   Úuncached_prompt_tokensÚuncached_prompt_costÚcached_prompt_costÚprompt_costÚcompletion_costs                      r!   Ú
on_llm_endz OpenAICallbackHandler.on_llm_end±  sZ  € ð	Ø!Ô-¨aÔ0°Ô3ˆJˆJøÝð 	ð 	ð 	ØˆJˆJˆJð	øøøå�j¥.Ñ1Ô1ð 	%ð
)Ø$Ô,�Ý˜g¥yÑ1Ô1ð -Ø%,Ô%;�NØ(/Ô(AÐ%Ð%à%)�NØ(,Ð%øøÝ!ð )ð )ð )Ø!%�Ø$(Ð!Ð!Ð!ð)øøøð "ˆNØ $Ðà ÐØÐàð !	Ø)¨>¸.Ô+IÐJˆKØ .¨Ô ?ÐØ*¨>Ô:ˆMØ'8Ð'>¸B×&CÒ&CÀLÑ&QÔ&QÐQÐ"ð Ý3Ð4GÑHÔH�
�
ØÔ$Ð,Ø�
�
å3ØÔ'×+Ò+¨L¸"Ñ=Ô=ñô �
ð ˜~×1Ò1Ð2GÈÑLÔLÐLÐLØ'5Ð6KÔ'LØ ô(Ð$ð ˜n×0Ò0Ð1GÈÑLÔLÐLÐLØ#1Ð2HÔ#IÈ+Ô#VÐ øàÔ"Ð*Ø�tà HÔ$7Ð7Ð7Ø”Zð 2ð 2ØÐ,Ô,°Ñ1Ð,Ô,ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2à�tð #Ô-¨mÔ<ˆKØ +§¢Ð0CÀQÑ GÔ GÐØ'ŸOšO¨O¸QÑ?Ô?ˆMÝ/ØÔ#×'Ò'¨°bÑ9Ô9ñô ˆJð Õ1Ð1Ð1Ø%2Ð5IÑ%IÐ"Ý#BØÐ2½yÔ?Oð$ñ $ô $Ð õ "AØÐ0½YÔ=Tð"ñ "ô "Ðð /Ð1CÑCˆKÝ=ØÐ-½)Ô:Nðñ ô ˆOˆOð  ˆOØˆKð ŒZð 	*ð 	*ØˆOŒO˜{¨_Ñ<Ñ<ˆOŒOØÐÔ §¢°ÀÑ!CÔ!CÑCÐÔØÐÔ -Ñ/ÐÔØÐ%Ô%Ð)=Ñ=Ð%Ô%ØÐ"Ô"Ð&7Ñ7Ð"Ô"ØÐ!Ô!Ð%5Ñ5Ð!Ô!ØÐ$Ô$¨Ñ)Ð$Ô$ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*sB   ‚ –%¤%¾/A. Á.A?Á>A?Å'FÆFÆFÉ%BK:Ë:K>ÌK>c                 ó   — | S )z&Return a copy of the callback handler.r   rI   s    r!   Ú__copy__zOpenAICallbackHandler.__copy__  ó   € àˆr    Úmemoc                 ó   — | S )z+Return a deep copy of the callback handler.r   )rF   rs   s     r!   Ú__deepcopy__z"OpenAICallbackHandler.__deepcopy__  rr   r    )r%   N)r%   r8   )r   r   r   r   r9   ÚintÚ__annotations__r:   r;   r<   r=   r>   r?   ÚfloatrB   ÚstrrJ   ÚpropertyÚboolrL   r   r   r   rQ   rT   r   ro   rq   ru   Ú__classcell__)rG   s   @r!   r8   r8   ˆ  sÌ  ø€ € € € € € Ø3Ð3à€L�#ÐÐÑØ€M�3ÐÐÑØ !Ð˜#Ð!Ð!Ñ!ØÐ�sÐÐÑØÐ�cÐÐÑØ Ð˜Ð Ð Ñ Ø€J�ÐÐÑð&ð &ð &ð &ð &ð &ð	
˜#ð 	
ð 	
ð 	
ð 	
ð ð ð ð ð ñ „XððØ˜s C˜xœ.ðØ37¸´9ðØHKðà	ðð ð ð ð cð °Sð ¸Tð ð ð ð ðU* 9ð U*¸ð U*Àð U*ð U*ð U*ð U*ðnð ð ð ð ð Ð)@ð ð ð ð ð ð ð ð r    r8   )r   rC   Úenumr   r   Útypingr   r   r   Úlangchain_core.callbacksr   Úlangchain_core.messagesr	   Úlangchain_core.outputsr
   r   r2   r   r   ry   r/   rv   rx   r6   r8   r   r    r!   ú<module>r‚      s  ðØ .Ð .à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø -Ð -Ð -Ð -Ð -Ð -Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <ðeàˆWðeð �Hðeð ˜ð	eð
 ˜xðeð ˜ðeð " 4ðeð �'ðeð ˜ðeð ˜Wðeð # Hðeð ˜Uðeð  '¨ð!eð$ �'ð%eð& ˜ð'eð( ˜Wð)eð* # Hð+eð. ˜Vð/eð eð0 '¨ð1eð4 ˜ð5eð6  ð7eð8 # Gð9eð: *¨8ð;eð> # Dð?eð@ .¨tðAeðD ˆuðEeðF ˜%ðGeðH �fðIeðJ   ðKeðN ˜%ðOeðP $ UðQeðT �FðUeðV ˜vðWeðX ˜6ðYeðZ % fð[eð eð eð^ ˜vð_eð` )¨&ðaeðd �Fðeeðf ˜vðgeðh ˜8ðieðj % hðkeðn ˜vðoeðp )¨&ðqeðt �uðueðv ! %ðweðx ˜fðyeðz (¨ð{eð~ ! $ðeð@ ,¨TðAeðD 	ˆ%ðEeðF �UðGeðH �ðIeð eð eðJ ˜FðKeðN �TðOeðP  ðQeðT ˆdðUeðV ˜ðWeðZ ˜ð[eð\ # Cð]eð` 	ˆ%ðaeðb �Uðceðd �ðeeðf ˜Fðgeðj �Uðkeðl  ðmeðp ˆvðqeðr ˜&ðseðt �hðueðv   ðweð eð eðz ˜&ð{eð| $ Vð}eð@ ˆvðAeðB ˜&ðCeðD �gðEeðF   ðGeðJ ˜&ðKeðL $ VðMeðP ˆvðQeðR �gðSeðT ˜&ðUeðV   ðWeðZ ˜&ð[eð\ $ Vð]eð` �%ðaeðb ˜ðceðd ˜Uðeeð eð eðf # Fðgeðj ˜Tðkeðl '¨ðmeðp ˆfðqeðr �Wðseðt ˜ðueðv ˜ðweðx  ðyeðz ˜ð{eð|  ð}eð@ ˜ðAeðB # EðCeðD # DðEeðF # DðGeðJ ˜FðKeðL & vðMeðN & vðOeð eð eðR & tðSeðT 1°$ðUeðV 1°$ðWeðZ ˜uð[eð\ )¨%ð]eð^ )¨%ð_eð` % fðaeðb 0°ðceðd 0°ðeeðh )¨$ðieðj 4°Tðkeðl 4°Tðmeðp �7ðqeðr ˜(ðseðt ˜gðueðv $ Xðweðz ˜fð{eð eð eð| (¨ð}eð@   ðAeðB +¨GðCeðF +¨FðGeðH 6°vðIeðL # FðMeðN .¨vðOeðP *¨6ðQeðR 5°fðSeðV .¨vðWeðX 9¸&ðYeð\ ! 'ð]eð^ ,¨Wð_eðb ,¨Vðceðd 7¸ðeeðh ˜Vðieðj '¨ðkeð eð eðn '¨ðoeðp 2°4ðqeðt ˜Eðueðv & uðweðz & uð{eð| 1°%ð}eð@ ˆTðAeðB �$ðCeðD �$ðEeðF �ðGeðH �dðIeðJ �dðKeðL ˜DðMeðN ˜$ðOeðP ˜$ðQeðR ˜4ðSeðT �4ðUeð eð eðV ˜dðWeðZ ˜ð[eð\ ˜Tð]eð^ ˜Tð_eð` ˜Dðaeðb   ðceðd   ðeeðf & tðgeðh $ Tðieðj $ Tðkeðl % dðmeðn ˜dðoeðp (¨ðqeðx �Vðyeðz ˜&ð{eð| ˜&ð}eð~ ˜&ðeð eð eð@ ˜%ðAeðB ˜fðCeðD ˜ðEeðF ˜eðGeðN  ðOeðP $ VðQeðR $ UðSeðT $ UðUeðV $ UðWeðX (¨ðYeðZ # Eð[eð\ (¨ð]eð` �Fðaeðb ˜ðceðd ˜ðeeðf ˜ðgeðh ˜Vðieð eð eðj ˜ðkeðl ˜Uðmeðp ˜uðqeðr # Fðseðt # Eðueðv # Eðweðx '¨ðyeðz " 5ð{eð| '¨ð}eð@ �FðAeðB 
ˆ6ðCeðD ˜ðEeðF ˆvðGeðH �eðIeðJ ˆUðKeðL ˜ðMeðN ˜ðOeð eð eðP ˜ðQeðT ˜VðUeðV ˜UðWeðX # EðYeðZ # Eð[eñ\ # Eð]eñ^ '¨ð_eñ` .¨wðaeñd '¨ðeeñf '¨ðgeñh .©uðieñj .©uðkeñl .©uðmeñn 2±6ðoeñr " 6ðseñt " 5ðueñv (¨ðweð eðz /5Ø.3Ø49à"Ø &Ø#Ø $ñI	eð eð eÐ ðP	ð ñ ð ñ �ñ ô ð ð &Ô,ñ0ð 0ñ 0Øñ0ð ñ0ð 	ð	0ñ 0ð 0ð 0ðn &Ô,ñ	Fð Fñ FØñFàñFð ñ	Fð
 ðFñ Fð Fð Fð4Fð Fñ Fð Fñ FÐ/ñ Fô Fð Fð Fð Fr    