
    pi                       U d dl mZ ddlmZ ddl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Zde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.d0d.d1d.d2d.d3d.d4d.d5d.d6d+d7d+d8d+d9d+d:d+d;d+d<d=d>d=d?d.d.d.d.d.d.d.d.d.d.d@d@dAZdedB<   dFdCZ	dGdDZ
yE)H    )annotations   )Encoding)get_encodingzo1-
o200k_basezo3-zo4-mini-zgpt-5-zgpt-4.5-zgpt-4.1-zchatgpt-4o-zgpt-4o-zgpt-4-cl100k_basezgpt-3.5-turbo-zgpt-35-turbo-zgpt-oss-o200k_harmonyz	ft:gpt-4ozft:gpt-4zft:gpt-3.5-turbozft:davinci-002zft:babbage-002zdict[str, str]MODEL_PREFIX_TO_ENCODINGo1o3zo4-minizgpt-5zgpt-4.1zgpt-4ozgpt-4zgpt-3.5-turbozgpt-3.5zgpt-35-turbozdavinci-002zbabbage-002ztext-embedding-ada-002ztext-embedding-3-smallztext-embedding-3-largeztext-davinci-003	p50k_baseztext-davinci-002ztext-davinci-001	r50k_baseztext-curie-001ztext-babbage-001ztext-ada-001davincicuriebabbageadazcode-davinci-002zcode-davinci-001zcode-cushman-002zcode-cushman-001zdavinci-codexzcushman-codexztext-davinci-edit-001	p50k_editzcode-davinci-edit-001ztext-similarity-davinci-001gpt2)ztext-similarity-curie-001ztext-similarity-babbage-001ztext-similarity-ada-001ztext-search-davinci-doc-001ztext-search-curie-doc-001ztext-search-babbage-doc-001ztext-search-ada-doc-001zcode-search-babbage-code-001zcode-search-ada-code-001r   zgpt-2MODEL_TO_ENCODINGc                    d}| t         v r
t         |    }n1t        j                         D ]  \  }}| j                  |      s|c S  |t	        d|  d      d|S )zrReturns the name of the encoding used by a model.

    Raises a KeyError if the model name is not recognised.
    NzCould not automatically map z_ to a tokeniser. Please use `tiktoken.get_encoding` to explicitly get the tokeniser you expect.)r   r
   items
startswithKeyError)
model_nameencoding_namemodel_prefixmodel_encoding_names       P/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/tiktoken/model.pyencoding_name_for_modelr   X   s    
 M&&)*5
 2J1O1O1Q 	+-L-$$\2**	+ *:, 7] ]
 	
     c                *    t        t        |             S )zfReturns the encoding used by a model.

    Raises a KeyError if the model name is not recognised.
    )r   r   )r   s    r   encoding_for_modelr"   q   s    
 /
;<<r    N)r   strreturnr#   )r   r#   r$   r   )
__future__r   corer   registryr   r
   __annotations__r   r   r"    r    r   <module>r*      s   "  ",	<,	<, ,
 l, , , <, |, m, m, ], , ,  !," #,$ m%,& m', . ,8%,8% 	,8% |	8% \8% |8% l8% ]8% ]8% }8% M8% =8% =8%" m#8%$ m%8%& m'8%, -8%. /8%0 18%2 k38%4 58%6 K78%8 {98%: [;8%< {=8%> 
;?8%B C8%D E8%F G8%H I8%J [K8%L [M8%P [Q8%R [S8%V ";W8%X "-#.*#.!,#.*$/ +o8% > 8v2=r    