
    hU                     r   U d dl Z d dlmZmZ  e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd	            Z	 e e j
                  d
d            Z
 e e j
                  dd	            Z e e j
                  dd            ZdZdZ e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd	            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd            Z e e j
                  dd             Z e e j
                  d!d"            Z e e j
                  d#d"            Z e e j
                  d$d%            Z e e j
                  d&d'            Z e e j
                  d(d             Z e e j
                  d)d%            Z  e e j
                  d*d+            Z! e e j
                  d,d            Z" e e j
                  d-d	            Z#d.Z$d/Z%d0Z&d1Z'd2Z( e e j
                  d3d            Z) e e j
                  d4d5            Z* e e j
                  d6d'            Z+ e e j
                  d7d%            Z, e e j
                  d8d9            Z- e e j
                  d:d;            Z. e e j
                  d<d=            Z/ e e j
                  d>d?            Z0 e e j
                  d@dA            Z1 e e j
                  dBdC            Z2 e e j
                  dDdE            Z3 e e j
                  dFdG            Z4 e e j
                  dHdG            Z5 e e j
                  dId	            Z6 e e j
                  dJdK            Z7 e e j
                  dLdM            Z8 e e j
                  dNdO            Z9 e e j
                  dPd            Z: e e j
                  dQd            Z; e e j
                  dRdS            Z< e e j
                  dTdU            Z= e e j
                  dVdW            Z> e e j
                  dXdY            Z? e e j
                  dZd[            Z@ e e j
                  d\dU            ZA e e j
                  d]d^            ZB e e j
                  d_d            ZC e e j
                  d`da            ZD e e j
                  dbd            ZE e e j
                  dcdd            ZF e e j
                  ded9            ZG e e j
                  dfd            ZH e e j
                  dgdW            ZI e e j
                  dhdi            ZJ e e j
                  djdU            ZK e e j
                  dkd            ZL e e j
                  dldm            ZM e e j
                  dndO            ZN e e j
                  dodp            ZO e e j
                  dqd            ZP e e j
                  drd            ZQ e e j
                  dsdG            ZR e e j
                  dtdu            ZS e e j
                  dvdw            ZT e e j
                  dxdy            ZU e e j
                  dzd{            ZV e e j
                  d|d}            ZW e e j
                  d~d            ZX e e j
                  dd            ZY e e j
                  dd            ZZ e e j
                  dd            Z[ e e j
                  dd            Z\ e e j
                  d$d            Z e e j
                  ddO            Z] e e j
                  dd            Z^ee_d<   dZ`eae_d<   dZbeae_d<    e e j
                  dd            Zc e e j
                  dd            Zd e e j
                  dd            Ze e e j
                  ddG            Zf e e j
                  dda            Zg e e j
                  dd{            ZhdZi e e j
                  dd            Zj e j
                  dd      Zkddd	dZldZmg dZng dZog dZpg dZqg dZri erD  ci c]  } | d c} ddddZsi ddddddddddddddddddddddddddddddddddi dddddddddddddddddddddddddddddddddddddɜZtg dʢZuee_d<   g d̢Zvee_d<   g d΢Zwee_d<   g dТZxee_d<   g dҢZyee_d<   g dԢZzee_d<   g d֢Z{ee_d<   ddgZ|g dڢZ}ee_d<   g dܢZ~ee_d<   g dޢZee_d<   g dZee_d<   g dZee_d<   g dZee_d<   ed   ZdgZee_d<   g dZee_d<   g dZee_d<   ddddddddddddddddddddddddddddddddddddddi dddddddZg d Z e e j
                  dd            ZdZdZ e e j
                  dd            ZdZ e e j
                  dd            ZdZd	Zd
Z e e j
                  dd            Z e e j
                  dd            ZdZg dZdZ e e j
                  dd.            Z e e j
                  dd;            Z e e j
                  dd            ZdZdZdZdZdZdZdZdZ e e j
                  dd            Z e e j
                  dd'            Z e e j
                  d d            Z e e j
                  d!d"            Z e e j
                  d#d.            Z e e j
                  d$d%            Z e e j
                  d&d	            Z e e j
                  d'd"            Z e e j
                  d(dE            Z e e j
                  d)d*            Z e e j
                  d+d"            Z e e j
                  d,dK            Z e e j
                  d-d.            Z e e j
                  d/da            Z e e j
                  d0d1            Zg d2Zd3gZ e e j
                  d4d            Zg d5Zg d6Zyc c} w (7      N)ListLiteralROUTER_MAX_FALLBACKS   DEFAULT_BATCH_SIZEi   DEFAULT_FLUSH_INTERVAL_SECONDS!DEFAULT_S3_FLUSH_INTERVAL_SECONDS
   DEFAULT_S3_BATCH_SIZE"DEFAULT_SQS_FLUSH_INTERVAL_SECONDSDEFAULT_SQS_BATCH_SIZESendMessagez
2012-11-05DEFAULT_MAX_RETRIES   DEFAULT_MAX_RECURSE_DEPTHd   /DEFAULT_MAX_RECURSE_DEPTH_SENSITIVE_DATA_MASKER!DEFAULT_FAILURE_THRESHOLD_PERCENTg      ?DEFAULT_MAX_TOKENSi   DEFAULT_ALLOWED_FAILS   DEFAULT_REDIS_SYNC_INTERVAL   DEFAULT_COOLDOWN_TIME_SECONDS!DEFAULT_REPLICATE_POLLING_RETRIES'DEFAULT_REPLICATE_POLLING_DELAY_SECONDSDEFAULT_IMAGE_TOKEN_COUNT   DEFAULT_IMAGE_WIDTHi,  DEFAULT_IMAGE_HEIGHT'MAX_SIZE_PER_ITEM_IN_MEMORY_CACHE_IN_KBi   +SINGLE_DEPLOYMENT_TRAFFIC_FAILURE_THRESHOLDi  0DEFAULT_REASONING_EFFORT_DISABLE_THINKING_BUDGET,DEFAULT_REASONING_EFFORT_LOW_THINKING_BUDGET/DEFAULT_REASONING_EFFORT_MEDIUM_THINKING_BUDGETi   -DEFAULT_REASONING_EFFORT_HIGH_THINKING_BUDGETMAX_TOKEN_TRIMMING_ATTEMPTSi  litellm_spend_update_buffer!litellm_daily_spend_update_buffer&litellm_daily_team_spend_update_buffer%litellm_daily_tag_spend_update_bufferMAX_REDIS_BUFFER_DEQUEUE_COUNTMAX_SIZE_IN_MEMORY_QUEUEi'  MAX_IN_MEMORY_QUEUE_FLUSH_COUNT MINIMUM_PROMPT_CACHE_TOKEN_COUNTDEFAULT_TRIM_RATIOg      ?HOURS_IN_A_DAY   DAYS_IN_A_WEEK   DAYS_IN_A_MONTH   DAYS_IN_A_YEARim  #REPLICATE_MODEL_NAME_WITH_ID_LENGTH@   FUNCTION_DEFINITION_TOKEN_COUNT	   SYSTEM_MESSAGE_TOKEN_COUNT   TOOL_CHOICE_OBJECT_TOKEN_COUNT(DEFAULT_MOCK_RESPONSE_PROMPT_TOKEN_COUNT,DEFAULT_MOCK_RESPONSE_COMPLETION_TOKEN_COUNT   !MAX_SHORT_SIDE_FOR_IMAGE_HIGH_RESi    MAX_LONG_SIDE_FOR_IMAGE_HIGH_RESi  MAX_TILE_WIDTHMAX_TILE_HEIGHT$OPENAI_FILE_SEARCH_COST_PER_1K_CALLSg{Gzd?%AZURE_FILE_SEARCH_COST_PER_GB_PER_DAYg?'AZURE_CODE_INTERPRETER_COST_PER_SESSIONgQ?+AZURE_COMPUTER_USE_INPUT_COST_PER_1K_TOKENSg      @,AZURE_COMPUTER_USE_OUTPUT_COST_PER_1K_TOKENSg      (@&AZURE_VECTOR_STORE_COST_PER_GB_PER_DAYMIN_NON_ZERO_TEMPERATUREg-C6?REPEATED_STREAMING_CHUNK_LIMITDEFAULT_MAX_LRU_CACHE_SIZE   INITIAL_RETRY_DELAYMAX_RETRY_DELAYg       @JITTERDEFAULT_IN_MEMORY_TTLDEFAULT_POLLING_INTERVALAZURE_OPERATION_POLLING_TIMEOUTx   REDIS_SOCKET_TIMEOUTREDIS_CONNECTION_POOL_TIMEOUTNON_LLM_CONNECTION_TIMEOUT   MAX_EXCEPTION_MESSAGE_LENGTHBEDROCK_MAX_POLICY_SIZEK   REPLICATE_POLLING_DELAY_SECONDS!DEFAULT_ANTHROPIC_CHAT_MAX_TOKENSTOGETHER_AI_4_BTOGETHER_AI_8_B   TOGETHER_AI_21_B   TOGETHER_AI_41_B)   TOGETHER_AI_80_BP   TOGETHER_AI_110_Bn   TOGETHER_AI_EMBEDDING_150_M   TOGETHER_AI_EMBEDDING_350_Mi^  QDRANT_SCALAR_QUANTILEgGz?QDRANT_VECTOR_SIZEi   CACHED_STREAMING_CHUNK_DELAYg{Gz?DEFAULT_MAX_TOKENS_FOR_TRITONREQUEST_TIMEOUTip  request_timeoutz[DONE]STREAM_SSE_DONE_STRINGzdata: STREAM_SSE_DATA_PREFIX&DEFAULT_REPLICATE_GPU_PRICE_PER_SECONDgǺV?FIREWORKS_AI_56_B_MOE8   FIREWORKS_AI_176_B_MOE   FIREWORKS_AI_4_BFIREWORKS_AI_16_BFIREWORKS_AI_80_BREDACTED_BY_LITELM MAX_LANGFUSE_INITIALIZED_CLIENTS2   (DD_TRACER_STREAMING_CHUNK_YIELD_RESOURCEzstreaming.chunk.yield)lowmediumhighzdall-e-2)Iopenaiopenai_likebytezxaicustom_openaiztext-completion-openaicoherecohere_chatclarifai	anthropicanthropic_text	replicatehuggingfacetogether_ai	datarobot
openrouter	vertex_aivertex_ai_betageminiai21basetenazure
azure_textazure_ai	sagemakersagemaker_chatbedrockvllm	nlp_cloudpetals	oobaboogaollamaollama_chat	deepinfra
perplexitymistralgroq
nvidia_nimcerebras	ai21_chat
volcengine	codestralztext-completion-codestraldeepseek	sambanovamaritalk
cloudflarefireworks_ai
friendliaiwatsonxwatsonx_texttriton	predibase
databricksempowergithubcustomlitellm_proxyhosted_vllm	llamafile	lm_studio	galadrielgithub_copilotnovita
meta_llamafeatherless_ainscalenebius	dashscopemoonshotv0morph	lambda_ai)r   r   r   r   )'	functionsfunction_calltemperaturer   top_pnstreamstream_optionsstopmax_completion_tokens
modalities
predictionaudio
max_tokenspresence_penaltyfrequency_penalty
logit_biasuserrs   api_baseapi_versionapi_keydeployment_idorganizationbase_urldefault_headerstimeoutresponse_formatseedtoolstool_choicemax_retriesparallel_tool_callslogprobstop_logprobsreasoning_effortextra_headersthinkingweb_search_options)languager   timestamp_granularities)
dimensionsencoding_formatr    )modelcustom_llm_providerinputr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   drop_paramsallowed_openai_paramsadditional_drop_paramsmessagesr   )r   r   )zapi.perplexity.aizapi.endpoints.anyscale.com/v1zapi.deepinfra.com/v1/openaizapi.mistral.ai/v1z(codestral.mistral.ai/v1/chat/completionsz'codestral.mistral.ai/v1/fim/completionszapi.groq.com/openai/v1z#https://integrate.api.nvidia.com/v1zapi.deepseek.com/v1zapi.together.xyz/v1zapp.empower.dev/api/v1z%https://api.friendli.ai/serverless/v1zapi.sambanova.ai/v1zapi.x.ai/v1zapi.galadriel.ai/v1zapi.llama.com/compat/v1/zapi.featherless.ai/v1zinference.api.nscale.com/v1zapi.studio.nebius.ai/v1z6https://dashscope-intl.aliyuncs.com/compatible-mode/v1zhttps://api.moonshot.ai/v1zhttps://api.v0.dev/v1zhttps://api.morphllm.com/v1zhttps://api.lambda.ai/v1zhttps://api.hyperbolic.xyz/v1openai_compatible_endpoints)%anyscaler   r   r   r   r   r   r   r   r   r   r   
xinferencer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
hyperbolicopenai_compatible_providers)r   r   r   r   r   r   r   r   r   r   r   r   +openai_text_completion_compatible_providers)r   r   r   _openai_like_providers)z[replicate/llama-2-70b-chat:2796ee9483c3fd7aa2e171d38f4ca12251a30609463dcfd4cd76703f22e96cdfz\a16z-infra/llama-2-13b-chat:2a7f981751ec7fdf87b5b91ad4db53683a98082e9ff7bfd12c8cd5ea85980a52zSmeta/codellama-13b:1c914d844307b0588599b8393480a3ba917b660c7e9dfae681542b5325f228dbzUreplicate/vicuna-13b:6282abe6a492de4145d7bb601023762212f9ddbbe78278bd6771c8b3b2f2a13bzajoehoover/instructblip-vicuna13b:c4c54e3c8c97cd50c2d2fec9be3b6065563ccf7d43787fb99f84151b867178fezXdaanelson/flan-t5-large:ce962b3f6792a57074a601d3979db5839697add2e4e02696b3ced4c022d4767fzWreplicate/dolly-v2-12b:ef0e1aefc61f8e096ebe4db6b2bacc297daf2ef6899f0f7e001ec445893500e5zYreplit/replit-code-v1-3b:b84f4c074b807211cd75e3e8b1589b6399052125b4c27106e43d47189e8415adreplicate_models)?z)clarifai/meta.Llama-3.Llama-3-8B-Instructz%clarifai/gcp.generate.gemma-1_1-7b-itz+clarifai/mistralai.completion.mixtral-8x22Bz'clarifai/cohere.generate.command-r-plusz&clarifai/databricks.drbx.dbrx-instructz+clarifai/mistralai.completion.mistral-largez,clarifai/mistralai.completion.mistral-mediumz+clarifai/mistralai.completion.mistral-smallz8clarifai/mistralai.completion.mixtral-8x7B-Instruct-v0_1z!clarifai/gcp.generate.gemma-2b-itz!clarifai/gcp.generate.gemma-7b-itz'clarifai/deci.decilm.deciLM-7B-instructz1clarifai/mistralai.completion.mistral-7B-Instructz clarifai/gcp.generate.gemini-proz'clarifai/anthropic.completion.claude-v1z0clarifai/anthropic.completion.claude-instant-1_2z,clarifai/anthropic.completion.claude-instantz'clarifai/anthropic.completion.claude-v2z(clarifai/anthropic.completion.claude-2_1z*clarifai/meta.Llama-2.codeLlama-70b-Pythonz,clarifai/meta.Llama-2.codeLlama-70b-Instructz1clarifai/openai.completion.gpt-3_5-turbo-instructz$clarifai/meta.Llama-2.llama2-7b-chatz%clarifai/meta.Llama-2.llama2-13b-chatz%clarifai/meta.Llama-2.llama2-70b-chatz+clarifai/openai.chat-completion.gpt-4-turboz(clarifai/microsoft.text-generation.phi-2z)clarifai/meta.Llama-2.llama2-7b-chat-vllmz+clarifai/upstage.solar.solar-10_7b-instructz,clarifai/openchat.openchat.openchat-3_5-1210z;clarifai/togethercomputer.stripedHyena.stripedHyena-Nous-7Bz clarifai/gcp.generate.text-bisonz#clarifai/meta.Llama-2.llamaGuard-7bz1clarifai/fblgit.una-cybertron.una-cybertron-7b-v2z%clarifai/openai.chat-completion.GPT-4z-clarifai/openai.chat-completion.GPT-3_5-turboz'clarifai/ai21.complete.Jurassic2-Grandez0clarifai/ai21.complete.Jurassic2-Grande-Instructz/clarifai/ai21.complete.Jurassic2-Jumbo-Instructz&clarifai/ai21.complete.Jurassic2-Jumboz&clarifai/ai21.complete.Jurassic2-Largez0clarifai/cohere.generate.cohere-generate-commandz1clarifai/wizardlm.generate.wizardCoder-Python-34Bz'clarifai/wizardlm.generate.wizardLM-70Bz*clarifai/tiiuae.falcon.falcon-40b-instructz<clarifai/togethercomputer.RedPajama.RedPajama-INCITE-7B-Chatz clarifai/gcp.generate.code-geckoz clarifai/gcp.generate.code-bisonz1clarifai/mistralai.completion.mistral-7B-OpenOrcaz5clarifai/mistralai.completion.openHermes-2-mistral-7Bz'clarifai/wizardlm.generate.wizardLM-13Bz4clarifai/huggingface-research.zephyr.zephyr-7B-alphaz*clarifai/wizardlm.generate.wizardCoder-15Bz*clarifai/microsoft.text-generation.phi-1_5z)clarifai/databricks.Dolly-v2.dolly-v2-12bzclarifai/bigcode.code.StarCoderz,clarifai/salesforce.xgen.xgen-7b-8k-instructz%clarifai/mosaicml.mpt.mpt-7b-instructz+clarifai/anthropic.completion.claude-3-opusz-clarifai/anthropic.completion.claude-3-sonnetz$clarifai/gcp.generate.gemini-1_5-prozclarifai/gcp.generate.imagen-2z=clarifai/salesforce.blip.general-english-image-caption-blip-2clarifai_models)zmeta-llama/Llama-2-7b-hfzmeta-llama/Llama-2-7b-chat-hfzmeta-llama/Llama-2-13b-hfzmeta-llama/Llama-2-13b-chat-hfzmeta-llama/Llama-2-70b-hfzmeta-llama/Llama-2-70b-chat-hfzmeta-llama/Llama-2-7bzmeta-llama/Llama-2-7b-chatzmeta-llama/Llama-2-13bzmeta-llama/Llama-2-13b-chatzmeta-llama/Llama-2-70bzmeta-llama/Llama-2-70b-chathuggingface_modelszempower/empower-functionszempower/empower-functions-small)z!togethercomputer/llama-2-70b-chatztogethercomputer/llama-2-70bztogethercomputer/LLaMA-2-7B-32Kz(togethercomputer/Llama-2-7B-32K-Instructztogethercomputer/llama-2-7bz$togethercomputer/falcon-40b-instructz#togethercomputer/falcon-7b-instructztogethercomputer/alpaca-7bzHuggingFaceH4/starchat-alphaztogethercomputer/CodeLlama-34bz'togethercomputer/CodeLlama-34b-Instructz%togethercomputer/CodeLlama-34b-Pythonzdefog/sqlcoderzNumbersStation/nsql-llama-2-7BzWizardLM/WizardCoder-15B-V1.0z$WizardLM/WizardCoder-Python-34B-V1.0z#NousResearch/Nous-Hermes-Llama2-13bzAustism/chronos-hermes-13bzupstage/SOLAR-0-70b-16bitzWizardLM/WizardLM-70B-V1.0together_ai_models)qvv0xeqq841o8w31dxrj3baseten_models)	zfeatherless-ai/Qwerky-72Bzfeatherless-ai/Qwerky-QwQ-32BzQwen/Qwen2.5-72B-Instructzall-hands/openhands-lm-32b-v0.1zQwen/Qwen2.5-Coder-32B-Instructdeepseek-ai/DeepSeek-V3-0324z)mistralai/Mistral-Small-24B-Instruct-2501z$mistralai/Mistral-Nemo-Instruct-2407z%ProdeusUnity/Stellar-Odyssey-12b-v0.0featherless_ai_models)zQwen/Qwen3-235B-A22BzQwen/Qwen3-30B-A3B-fastzQwen/Qwen3-32BzQwen/Qwen3-14Bz'nvidia/Llama-3_1-Nemotron-Ultra-253B-v1r  z!deepseek-ai/DeepSeek-V3-0324-fastzdeepseek-ai/DeepSeek-R1zdeepseek-ai/DeepSeek-R1-fastz&meta-llama/Llama-3.3-70B-Instruct-fastzQwen/Qwen2.5-32B-Instruct-fastz$Qwen/Qwen2.5-Coder-32B-Instruct-fastnebius_models)
z
qwen-turboz	qwen-pluszqwen-maxzqwen-turbo-latestzqwen-plus-latestzqwen-max-latestzqwq-32bzqwen3-235b-a22bz	qwen3-32bzqwen3-30b-a3bdashscope_models)zBAAI/bge-en-iclzBAAI/bge-multilingual-gemma2zintfloat/e5-mistral-7b-instructnebius_embedding_models)	r   r   r   amazonmetallamar   novadeepseek_r1ztext-embedding-ada-002open_ai_embedding_models)z
embed-v4.0zembed-english-v3.0zembed-english-light-v3.0zembed-multilingual-v3.0zembed-english-v2.0zembed-english-light-v2.0zembed-multilingual-v2.0cohere_embedding_models)zamazon.titan-embed-text-v1zcohere.embed-english-v3zcohere.embed-multilingual-v3bedrock_embedding_modelsa  {{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token + ' ' }}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}z<s>z</s>)chat_template	bos_token	eos_tokensuccess)	tokenizerstatusa\  {% set loop_messages = messages %}{% for message in loop_messages %}{% set content = '<|start_header_id|>' + message['role'] + '<|end_header_id|>

'+ message['content'] | trim + '<|eot_id|>' %}{% if loop.index0 == 0 %}{% set content = bos_token + content %}{% endif %}{{ content }}{% endfor %}{{ '<|start_header_id|>assistant<|end_header_id|>

' }}z<|begin_of_text|>TF
AddedTokenu   <｜begin▁of▁sentence｜>)__typecontentlstrip
normalizedrstripsingle_wordu   <｜end▁of▁sentence｜>i @  LlamaTokenizerFastu  {% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='') %}{%- for message in messages %}{%- if message['role'] == 'system' %}{% set ns.system_prompt = message['content'] %}{%- endif %}{%- endfor %}{{bos_token}}{{ns.system_prompt}}{%- for message in messages %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{{'<｜User｜>' + message['content']}}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is none %}{%- set ns.is_tool = false -%}{%- for tool in message['tool_calls']%}{%- if not ns.is_first %}{{'<｜Assistant｜><｜tool▁calls▁begin｜><｜tool▁call▁begin｜>' + tool['type'] + '<｜tool▁sep｜>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments'] + '\n' + '```' + '<｜tool▁call▁end｜>'}}{%- set ns.is_first = true -%}{%- else %}{{'\n' + '<｜tool▁call▁begin｜>' + tool['type'] + '<｜tool▁sep｜>' + tool['function']['name'] + '\n' + '```json' + '\n' + tool['function']['arguments'] + '\n' + '```' + '<｜tool▁call▁end｜>'}}{{'<｜tool▁calls▁end｜><｜end▁of▁sentence｜>'}}{%- endif %}{%- endfor %}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is not none %}{%- if ns.is_tool %}{{'<｜tool▁outputs▁end｜>' + message['content'] + '<｜end▁of▁sentence｜>'}}{%- set ns.is_tool = false -%}{%- else %}{% set content = message['content'] %}{% if '</think>' in content %}{% set content = content.split('</think>')[-1] %}{% endif %}{{'<｜Assistant｜>' + content + '<｜end▁of▁sentence｜>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<｜tool▁outputs▁begin｜><｜tool▁output▁begin｜>' + message['content'] + '<｜tool▁output▁end｜>'}}{%- set ns.is_output_first = false %}{%- else %}{{'\n<｜tool▁output▁begin｜>' + message['content'] + '<｜tool▁output▁end｜>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<｜tool▁outputs▁end｜>'}}{% endif %}{% if add_generation_prompt and not ns.is_tool %}{{'<｜Assistant｜><think>\n'}}{% endif %})add_bos_tokenadd_eos_tokenr  clean_up_tokenization_spacesr  legacymodel_max_length	pad_tokensp_model_kwargs	unk_tokentokenizer_classr  )z"mistralai/Mistral-7B-Instruct-v0.1z#meta-llama/Meta-Llama-3-8B-Instructz#deepseek-r1/deepseek-r1-7b-instruct)r   lengthr   content_filternull"HUMANLOOP_PROMPT_CACHE_TTL_SECONDS<   json_tool_callz
2019-07-072PROMETHEUS_BUDGET_METRICS_REFRESH_INTERVAL_MINUTESmcp_toolMAXIMUM_TRACEBACK_LINES_TO_LOGzx-litellm-disable-callbackslitellm_metadatametadataMAX_SPENDLOG_ROWS_TO_QUERYi@B DEFAULT_SOFT_BUDGETg      I@z%LiteLLM Virtual Key user_api_key_hash)zagents/zknowledgebases/zflows/zretrieveAndGenerate/zrerank/zgenerateQuery/zoptimize-prompt/z/mcp"BATCH_STATUS_POLL_INTERVAL_SECONDSBATCH_STATUS_POLL_MAX_ATTEMPTSHEALTH_CHECK_TIMEOUT_SECONDSzlitellm-internal-health-checkzlitellm-dashboarddefault_user_idzlitellm-clizlitellm-session-tokendb_spend_update_jobprometheus_emit_budget_metricsspend_log_cleanupSPEND_LOG_RUN_LOOPSi  SPEND_LOG_CLEANUP_BATCH_SIZE!DEFAULT_CRON_JOB_LOCK_TTL_SECONDS!PROXY_BUDGET_RESCHEDULER_MIN_TIMEiU  PROXY_BATCH_POLLING_INTERVAL!PROXY_BUDGET_RESCHEDULER_MAX_TIMEi]  PROXY_BATCH_WRITE_ATDEFAULT_HEALTH_CHECK_INTERVAL)PROMETHEUS_FALLBACK_STATS_SEND_TIME_HOURSDEFAULT_MODEL_CREATED_AT_TIMEijNc DEFAULT_SLACK_ALERTING_THRESHOLDMAX_TEAM_LIST_LIMIT-DEFAULT_PROMPT_INJECTION_SIMILARITY_THRESHOLDgffffff?LENGTH_OF_LITELLM_GENERATED_KEYSECRET_MANAGER_REFRESH_INTERVALiQ )default_internal_user_paramspublic_model_groupspublic_model_groups_linkszui-token-DEFAULT_MANAGEMENT_OBJECT_IN_MEMORY_CACHE_TTL),r   tokenkeysecretpasswordauth
credentialOPENAI_API_KEYANTHROPIC_API_KEYAZURE_API_KEYCOHERE_API_KEYREPLICATE_API_KEYHUGGINGFACE_API_KEYTOGETHERAI_API_KEYCLOUDFLARE_API_KEYBASETEN_KEYOPENROUTER_KEYDATAROBOT_API_TOKENFIREWORKS_API_KEYFIREWORKS_AI_API_KEYFIREWORKSAI_API_KEYdatabase_url	redis_urlconnection_string
master_keyLITELLM_MASTER_KEY
auth_token	jwt_tokenprivate_keySLACK_WEBHOOK_URLwebhook_urlLANGFUSE_SECRET_KEYSMTP_PASSWORDSMTP_USERNAMEemail_passwordaws_access_keyaws_secret_keygcp_credentialsazure_credentialsHCP_VAULT_TOKENCIRCLE_OIDC_TOKEN	proxy_url	proxy_keyenvironment_variables)user_idemailphoneaddress
ip_addressSMTP_SENDER_EMAILTEST_EMAIL_ADDRESS)ostypingr   r   intgetenvr   r   r   r	   r   r   r   SQS_SEND_MESSAGE_ACTIONSQS_API_VERSIONr   r   r   floatr   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   _DEFAULT_TTL_FOR_HTTPX_CLIENTSREDIS_UPDATE_BUFFER_KEY#REDIS_DAILY_SPEND_UPDATE_BUFFER_KEY(REDIS_DAILY_TEAM_SPEND_UPDATE_BUFFER_KEY'REDIS_DAILY_TAG_SPEND_UPDATE_BUFFER_KEYr,   r-   r.   r/   r0   r1   r3   r5   r7   r8   r:   r<   r>   r?   r@   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rP   rQ   rR   rS   rT   rU   rW   rX   rY   r[   r\   r^   r_   r`   ra   rc   re   rg   ri   rk   rm   rn   ro   rp   rq   rs   __annotations__rt   strru   rv   rw   ry   r{   r|   r}   REDACTED_BY_LITELM_STRINGr   r   "ANTHROPIC_WEB_SEARCH_TOOL_MAX_USESDEFAULT_IMAGE_ENDPOINT_MODELLITELLM_CHAT_PROVIDERS<LITELLM_EMBEDDING_PROVIDERS_SUPPORTING_INPUT_ARRAY_OF_TOKENSOPENAI_CHAT_COMPLETION_PARAMSOPENAI_TRANSCRIPTION_PARAMSOPENAI_EMBEDDING_PARAMSDEFAULT_EMBEDDING_PARAM_VALUES$DEFAULT_CHAT_COMPLETION_PARAM_VALUESr   r  r  r  r  r  r  empower_modelsr  r  r  r  r  r   BEDROCK_INVOKE_PROVIDERS_LITERALr  r  r  known_tokenizer_configOPENAI_FINISH_REASONSr3  RESPONSE_FORMAT_TOOL_NAMEAZURE_STORAGE_MSFT_VERSIONr6  MCP_TOOL_NAME_PREFIXr8  X_LITELLM_DISABLE_CALLBACKSLITELLM_METADATA_FIELDOLD_LITELLM_METADATA_FIELDr;  r<  (RATE_LIMIT_ERROR_MESSAGE_FOR_VIRTUAL_KEY)BEDROCK_AGENT_RUNTIME_PASS_THROUGH_ROUTESBASE_MCP_ROUTEr=  r>  r?  ,LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAMEUI_SESSION_TOKEN_TEAM_IDLITELLM_PROXY_ADMIN_NAMELITELLM_CLI_SOURCE_IDENTIFIER LITELLM_CLI_SESSION_TOKEN_PREFIXDB_SPEND_UPDATE_JOB_NAME'PROMETHEUS_EMIT_BUDGET_METRICS_JOB_NAMESPEND_LOG_CLEANUP_JOB_NAMErD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  "LITELLM_SETTINGS_SAFE_DB_OVERRIDESSPECIAL_LITELLM_AUTH_TOKENrV  SENTRY_DENYLISTSENTRY_PII_DENYLIST)ks   0M/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/constants.py<module>r     s   	  9299%;Q?@ #7=> !$YRYY/OQR%S!T $'BII126% ! IBII&=sCD %(BII2B7& " YRYY'?EF ' )"))$91=> 			*Es KL 25BII?D3 / %*BII137% ! #7>? IBII&=qAB !)")),I1"MN  #IBII.Mq$Q R $'BII115% ! +.BII7;+ '  			*Es KL )"))$93?@ 9299%;SAB *-BII7>+ ' /2BII;TB/ + 47BII@!D4 0 03BII<dC0 , 36BII?F3 / 14BII=tD1 - "BII+R0  "&  8 &I #+S (*Q '!$YRYY/OQT%U!V yryy)CUKL "%BII/6#  $'BII0$7$   BII"D)  YRYY/45YRYY/34ibii 1267YRYY/56&)BII3R8' # #&ibii0QST&U"V  +G!KL !$YRYY/OQR%S!T +.BII8"=, ( 03BII<bA0 , %(BII137% ! $'BII0$7$   YRYY/56ibii 1378',BII4jA( $
 ).BII5s;) % +0BII14+ '
 /4BII5s/ +
 05BII60 ,
 */BII0#* &
 !+Ev!NO !$BII.4"  !+G!LM IBII&;SAB 			"3S9:	yryy4(	)BII%q)  !BII($/  #&ibii0QSV&W"X YRYY'=sCD  #IBII.Mq$Q R  BII*B/   #9299-KT#RS ibii(A2FG "'BII/5#  %(BII148% ! ibii 1156ibii 1156yryy!3R89 yryy!3R89 yryy!3R89 			"5s;< !)")),I3"OP !)")),I3"OP yryy)A4HI #7>? $YRYY/Mt%TU *-BII7=+ ' !$IBII.Mt$T U yryy):DAB B&  &&  &).BII6A* & IBII&=rBC YRYY'?EF yryy!3Q78 			"5r:; 			"5r:; 0 #&BII0"5$   ,5299.0G, ( & "
  * J X@ <(! T  D "/01q$w0"	" %(%(T%( 4%( T	%(
 %( d%( d%( D%( $%( T%( $%( $%( T%( %( %(  $!%(" D#%($ T%%(& 2'%(( t)%(* D+%(, T-%(. 4/%(0 41%(2 3%(4 D5%(6 T7%(8 49%(: 4;%(< 4=%(> T?%(@ dA%(B C%(D E%(F I%( $N% T :&% T &P ,T      $ @ @F D   %
 D > 
 t 
t  $ !   $+
$   #;!; $ ;!  " $  }

 + @,

 , ""&:"$ -2&8"$  %&8"$  "3 o#C"
F I%,#7 t V %(BII2B7& " -  * 58BIIBAF6 2 " !$YRYY/OQT%U!V  < + '  !BII*I6  BII#T*  ,S (- ) %(BII2D9& " "%BII.3"   #BII,b1   0O ,. ,  !. #:   1 *J '0 )"))$93?@ "9299-KT#RS $'BII126% ! %(BII137% !  #9299-KT#RS $'BII137% ! 9299%;R@A  #BII-s3!  -0BII91=- ) !$BII-z:!  $'BII0#6$   )"))$92>? 05BII=sC1 - #&ibii0QSU&V"W "%BII/7# & "
 )\ 03BII=rB1 -
3h m 1s   
t4