
    AHj                     1   U d dl Z d dlZd dlmZmZ d dl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 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 j                  d(d      Z#e# ee#      ndZ$ e e j                  d)d*            Z% e j                  d+d,      jM                         d-k(  Z' e e j                  d.d/            Z( e e j                  d0d            Z) e e j                  d1d2            Z* e e j                  d3d2            Z+ e e j                  d4d/            Z, e e j                  d5d6            Z- e e j                  d7d8            Z. e e j                  d9d	            Z/ e e j                  d:d             Z0 e e j                  d;d<            Z1 e e j                  d=d            Z2 e e j                  d>d?            Z3 e e j                  d@dA            Z4 e e j                  dBd<            Z5 e e j                  dCdD            Z6 e e j                  dEdF            Z7 e e j                  dGdH            Z8 e e j                  dIdJ            Z9 e j                  dKdL      Z: e e j                  dMdN            Z; e e j                  dOdP            Z< e e j                  dQdR            Z= e e j                  dSdT            Z> e e j                  dUdT            Z?dVdWgZ@ e e j                  dXd            ZA e e j                  dYdZ            ZB e e j                  d[d            ZC ed\d      ZD e e j                  d]dZ            ZEd^ZF e e j                  d_d6            ZG e e j                  d`da            ZH e e j                  dbd            ZI e e j                  dcd            ZJ e e j                  ddde            ZK e e j                  dfdg            ZLdhZM e e j                  did8            ZN e e j                  djdk            ZO e e j                  dldm            ZP e e j                  dnd2            ZQdoej                  cxk  xr dpk  nc xs ej                  dqk  ZS e j                  dr      ZTeT eeT      ndZU e j                  dsdt      ZVduZWdvZXdwZYdxZZdyZ[dzZ\d{Z] e e j                  d|d            Z^ e e j                  d}d8            Z_ e e j                  d~d            Z` e e j                  d ee_dz                    Za e e j                  dd8            Zb e e j                  dd6            Zc e e j                  ddD            Zd e e j                  dd            Ze e e j                  dd            Zf e e j                  dd            Zg e e j                  dd            Zh e e j                  dd*            Zi e e j                  dd            Zj e e j                  dd            Zk e e j                  dd            Zl e e j                  dd            Zm e e j                  dd            Zn e e j                  dd            Zo e e j                  dd            Zp e e j                  dd            Zq e e j                  dd            Zr e e j                  dd            Zs e e j                  dd            Zt e e j                  dd            Zu e e j                  dd            Zv e e j                  dd            Zw e e j                  dd            Zx e e j                  dd            Zy e e j                  dd*            Zzd8Z{ e e j                  dd            Z| e e j                  dd            Z} e e j                  ddD            Z~ e e j                  dd	            Z e e j                  dd8            Z e e j                  dd            Z e e j                  ddm            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd	            Z e e j                  dd	            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dda            Z e e j                  dd            Z e e j                  dd6            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  ddƫ            Z e e j                  ddȫ            Z e e j                  ddʫ            Z e e j                  dd̫            Z e e j                  ddΫ            Z e e j                  ddA            Z e e j                  ddѫ            Z e e j                  ddӫ            Z e e j                  ddի            Z e e j                  dd׫            Z e e j                  dd٫            Z e e j                  d5d            Z- e e j                  dd            Z e e j                  ddܫ            Zeed<    e e j                  ddܫ            Zeed<   g dߢZee   ed<   g dZee   ed<   dZeed<   dZeed<    e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd̫            ZdZ e e j                  dd/            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd/            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e j                  dd      Z e e j                  d d            Z e e j                  dd            Z e j                  dd      ZdZdd	ddZdZdZd	Z e e j                  d
dƫ            Z e e j                  dd            Zg dZg dZg dZg dZg dZi eD  ci c]  } | d c} ddddZi 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d0dd1dd2dd3dd4dd5dddddddddddd6
Zg d7Zeed8<   g d9Zeed:<   g d;Zeed<<   g d=Zeed><    eg d?      Zeed@<    eg dA      ZeedB<    eg dC      ZeedD<    eʐdEdFg      Z eg dG      ZeedH<    eg dI      ZeedJ<    eg dK      ZeedL<    eg dM      ZeedN<    eg dO      ZeedP<    eg dQ      ZeedR<    eg dS      ZeedT<   edU   ZedV   Zg dWZ eʐdXg      ZeedY<    eg dZ      Zeed[<    eg d\      Zeed]<   d^d_d`dadbdcdddeddadbdcdfdgdhdidgdfdgdgdjdgdhdkdgdfdgdgdjdfdldhdkdgdfdgdgdji ddmdndodbdcdpZg dqZ e e j                  drd            ZސdsZߐdtZ e e j                  dud	            Z e e j                  dvd            ZdwZ e e j                  dxd            ZdyZdzZd{Zd|Zd}Zd~dgZ e e j                  dd            Z e e j                  dd            ZdZ e j                  d      Zg dZddhZdZdZ e e j                  ddh            Z e e j                  dd            Z e e j                  dd            ZdZdZdZ e j                  dd,      Z e e j                  dd            Z e j                  dd      Zeed<   dZdZdZdZdZ dZ e e j                  d      xs  e j                  d      xs d      Z e j                  dd      ZdZdZdZ e e j                  dd            ZdZ e e j                  ddk            Z	 e e j                  dd8            Z
 e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  dd            Z e e j                  ddh            Z ed e e j                  dd/                  Z ed e e j                  dd                  Z e j                  dd-      jM                         Zed-k(  Z e e j                  dd            Z e e j                  dd            Z e j                  dd      jM                         dv Z e e j                  ddh            Z e e j                  dd            Z e j                  dd      jM                         dv Z e e j                  dd2            Z e e j                  dd2            Z e e j                  dd            ZdZ e e j                  dd            Z e e j                  dd            Z  e e j                  dd2            Z! e e j                  dd            Z" e e j                  dd8            Z# e e j                  dd            Z$ e e j                  dd            Z% e e j                  dÐd            Z&g dĢZ'dgZ( e e j                  dd            Z) e e j                  ddg            Z*g dȢZ+g dɢZ, e e j                  dd8            Z- e e j                  dd8            Z. e e j                  dd            Z/ e e j                  dd6            Z0 e e j                  dΐdϫ            Z1dgZ2 e e j                  dѐdҫ            Z3 e e j                  dӐdԫ            Z4 e e j                  dՐd֫            Z5 e e j                  dאdث            Z6 e e j                  dِdګ            Z7 e e j                  dېdܫ            Z8 e e j                  dd            Z9 e e j                  dd?            Z:dߐZ;yc c} w (      N)ListLiteral)get_env_intDEFAULT_HEALTH_CHECK_PROMPTztest from litellm#AZURE_DEFAULT_RESPONSES_API_VERSIONpreview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_NUM_WORKERS_LITELLM_PROXY   -DYNAMIC_RATE_LIMIT_ERROR_THRESHOLD_PER_MINUTE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   &LITELLM_MAX_STREAMING_DURATION_SECONDSMAX_BASE64_LENGTH_FOR_LOGGING@   LITELLM_DETAILED_TIMINGfalsetrueMODEL_COST_MAP_MIN_MODEL_COUNT2   MODEL_COST_MAP_MAX_SHRINK_RATIODEFAULT_IMAGE_WIDTHi,  DEFAULT_IMAGE_HEIGHTMAX_IMAGE_URL_DOWNLOAD_SIZE_MB'MAX_SIZE_PER_ITEM_IN_MEMORY_CACHE_IN_KBi   +SINGLE_DEPLOYMENT_TRAFFIC_FAILURE_THRESHOLDi  *DEFAULT_FAILURE_THRESHOLD_MINIMUM_REQUESTS0DEFAULT_REASONING_EFFORT_DISABLE_THINKING_BUDGET+DEFAULT_MCP_SEMANTIC_FILTER_EMBEDDING_MODELztext-embedding-3-small!DEFAULT_MCP_SEMANTIC_FILTER_TOP_K0DEFAULT_MCP_SEMANTIC_FILTER_SIMILARITY_THRESHOLDg333333?+MAX_MCP_SEMANTIC_FILTER_TOOLS_HEADER_LENGTH   &DEFAULT_SEMANTIC_GUARD_EMBEDDING_MODEL+DEFAULT_SEMANTIC_GUARD_SIMILARITY_THRESHOLDg      ?&MCP_OAUTH2_TOKEN_EXPIRY_BUFFER_SECONDS60MCP_OAUTH2_TOKEN_CACHE_MAX_SIZE200"MCP_OAUTH2_TOKEN_CACHE_DEFAULT_TTL3600MCP_NPM_CACHE_DIRz/tmp/.npm_mcp_cacheMCP_OAUTH2_TOKEN_CACHE_MIN_TTL10LITELLM_MCP_CLIENT_TIMEOUTz60.0 LITELLM_MCP_TOOL_LISTING_TIMEOUTz30.0LITELLM_MCP_METADATA_TIMEOUTz10.0 LITELLM_MCP_HEALTH_CHECK_TIMEOUTzx-litellm-semantic-filterzx-litellm-semantic-filter-toolsADEFAULT_REASONING_EFFORT_MINIMAL_THINKING_BUDGET_GEMINI_2_5_FLASH?DEFAULT_REASONING_EFFORT_MINIMAL_THINKING_BUDGET_GEMINI_2_5_PRO   FDEFAULT_REASONING_EFFORT_MINIMAL_THINKING_BUDGET_GEMINI_2_5_FLASH_LITELITELLM_MAX_CALLBACKS0DEFAULT_REASONING_EFFORT_MINIMAL_THINKING_BUDGETzhttps://api.x.ai/v1,DEFAULT_REASONING_EFFORT_LOW_THINKING_BUDGET/DEFAULT_REASONING_EFFORT_MEDIUM_THINKING_BUDGETi   -DEFAULT_REASONING_EFFORT_HIGH_THINKING_BUDGETMAX_TOKEN_TRIMMING_ATTEMPTSRUNWAYML_DEFAULT_API_VERSIONz
2024-11-06RUNWAYML_POLLING_TIMEOUTiX  i  AIOHTTP_CONNECTOR_LIMIT AIOHTTP_CONNECTOR_LIMIT_PER_HOSTi  AIOHTTP_KEEPALIVE_TIMEOUTx   AIOHTTP_TTL_DNS_CACHE)r      r   )r   rZ   r   )r         )REALTIME_WEBSOCKET_MAX_MESSAGE_SIZE_BYTESLITELLM_SSL_CIPHERSaL  TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256litellm_spend_update_buffer!litellm_daily_spend_update_buffer&litellm_daily_team_spend_update_buffer%litellm_daily_org_spend_update_buffer*litellm_daily_end_user_spend_update_buffer'litellm_daily_agent_spend_update_buffer%litellm_daily_tag_spend_update_bufferMAX_REDIS_BUFFER_DEQUEUE_COUNTLITELLM_ASYNCIO_QUEUE_MAXSIZETOOL_POLICY_CACHE_TTL_SECONDS<   MAX_SIZE_IN_MEMORY_QUEUEg?MAX_IN_MEMORY_QUEUE_FLUSH_COUNT MINIMUM_PROMPT_CACHE_TOKEN_COUNTDEFAULT_TRIM_RATIOHOURS_IN_A_DAY   DAYS_IN_A_WEEKr\   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_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_MAX_REDIS_BATCH_CACHE_SIZEDEFAULT_POLLING_INTERVALgQ?AZURE_OPERATION_POLLING_TIMEOUT'AZURE_DOCUMENT_INTELLIGENCE_API_VERSIONz
2024-11-30'AZURE_DOCUMENT_INTELLIGENCE_DEFAULT_DPI`   REDIS_SOCKET_TIMEOUTREDIS_CONNECTION_POOL_TIMEOUT'REDIS_CIRCUIT_BREAKER_FAILURE_THRESHOLD&REDIS_CIRCUIT_BREAKER_RECOVERY_TIMEOUTDEFAULT_REDIS_MAJOR_VERSIONNON_LLM_CONNECTION_TIMEOUT   MAX_EXCEPTION_MESSAGE_LENGTHMAX_STRING_LENGTH_PROMPT_IN_DBBEDROCK_MAX_POLICY_SIZEK   "BEDROCK_MIN_THINKING_BUDGET_TOKENS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?AUDIO_SPEECH_CHUNK_SIZEi    DEFAULT_MAX_TOKENS_FOR_TRITONREQUEST_TIMEOUTip  request_timeoutDEFAULT_A2A_AGENT_TIMEOUT)	localhostz	127.0.0.1z0.0.0.0z[::1]LOCALHOST_URL_PATTERNS)connect
connectionnetworkrefusedCONNECTION_ERROR_PATTERNSz[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_CLIENTSLOGGING_WORKER_CONCURRENCYLOGGING_WORKER_MAX_QUEUE_SIZEiP  %LOGGING_WORKER_MAX_TIME_PER_COROUTINEg      4@LOGGING_WORKER_CLEAR_PERCENTAGEMAX_ITERATIONS_TO_CLEAR_QUEUE   MAX_TIME_TO_CLEAR_QUEUEg      @0LOGGING_WORKER_AGGRESSIVE_CLEAR_COOLDOWN_SECONDS(DD_TRACER_STREAMING_CHUNK_YIELD_RESOURCEzstreaming.chunk.yieldEMAIL_BUDGET_ALERT_TTLiQ -EMAIL_BUDGET_ALERT_MAX_SPEND_ALERT_PERCENTAGE%ANTHROPIC_TOKEN_COUNTING_BETA_VERSIONztoken-counting-2024-11-01zskills-2025-10-02)lowmediumhighlitellm_web_searchzdall-e-2zsora-2%DEFAULT_GOOGLE_VIDEO_DURATION_SECONDS DEFAULT_DATAFORSEO_LOCATION_CODEi  )Yopenaiopenai_likebytezxaicustom_openaiztext-completion-openaicoherecohere_chatclarifai	anthropicanthropic_text	replicatehuggingfacetogether_ai	datarobothelicone
openroutercometapi	vertex_aivertex_ai_betageminiai21basetenazure
azure_textazure_ai	sagemakersagemaker_chatsagemaker_novabedrockvllm	nlp_cloudpetals	oobaboogaollamaollama_chat	deepinfra
perplexitymistralgroqgigachat
nvidia_nimcerebrasr   	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gradient_aigithub_copilotchatgptnovita
meta_llamafeatherless_ainscalenebius	dashscopemoonshotpublicaiv0herokuocimorph	lambda_aivercel_ai_gatewaywandbovhcloudlemonadedocker_model_runneramazon_nova)r   r   r  r#  )-	functionsfunction_calltemperaturer4  top_pnstreamstream_optionsstopmax_completion_tokens
modalities
predictionaudio
max_tokenspresence_penaltyfrequency_penalty
logit_biasuserr   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service_tierprompt_cache_keyprompt_cache_retentionsafety_identifier	verbositystore)languagerK  timestamp_granularities)
dimensionsencoding_formatrB   )modelcustom_llm_providerinputr2  r3  r4  r5  r6  r7  r8  r9  r>  r:  r;  r<  r=  r?  r@  rA  rB  rb  rc  rK  rL  rM  rN  rO  rQ  rR  rT  rD  rP  drop_paramsallowed_openai_paramsadditional_drop_paramsmessagesrS  )
r[  rU  rV  rW  rZ  rX  rY  r\  metadatacontext_management)$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
ollama.comz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.publicai.co/v1z#https://api.synthetic.new/openai/v1zhttps://api.stima.tech/v1zhttps://nano-gpt.com/api/v1zhttps://api.poe.com/v1zhttps://llm.chutes.ai/v1/zhttps://api.v0.dev/v1zhttps://api.morphllm.com/v1zhttps://api.lambda.ai/v1zhttps://api.hyperbolic.xyz/v1zhttps://ai-gateway.helicone.ai/zhttps://ai-gateway.vercel.sh/v1z!https://api.inference.wandb.ai/v1z)https://api.clarifai.com/v2/ext/openai/v1openai_compatible_endpoints)6anyscaler  r  r  r   r
  r  r   r  r  r	  r   r   
xinferencer   zair   r  r  r  r   r  r  r  r  r  r  r  r  r  r   r&  	syntheticapertisnano-gptpoechutesr!  r"  r#  r$  r%  r'  r   r*  r+  
hyperbolicr,  aimlr-  r   r   r0  ragflowopenai_compatible_providers)r   r  r  r   r  r!  r#  r$  r%  r&  ro  rp  rq  rr  rs  r'  r+  rt  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/openai.chat-completion.gpt-oss-20bz0clarifai/qwen.qwenLM.Qwen3-30B-A3B-Instruct-2507z/clarifai/qwen.qwen3.qwen3-next-80B-A3B-Thinkingz,clarifai/openai.chat-completion.gpt-oss-120bzZclarifai/qwen.qwenLM.Qwen3-30B-A3B-Thinking-2507clarifai/openai.chat-completion.gpt-5-nanoz&clarifai/openai.chat-completion.gpt-4oz$clarifai/gcp.generate.gemini-2_5-proz-clarifai/anthropic.completion.claude-sonnet-4z/clarifai/xai.chat-completion.grok-2-vision-1212z/clarifai/openbmb.miniCPM.MiniCPM-o-2_6-languagez7clarifai/microsoft.text-generation.Phi-4-reasoning-plusz$clarifai/openbmb.miniCPM.MiniCPM3-4Bz$clarifai/openbmb.miniCPM.MiniCPM4-8Bz(clarifai/xai.chat-completion.grok-2-1212z+clarifai/anthropic.completion.claude-opus-4z-clarifai/xai.chat-completion.grok-code-fast-1z4clarifai/qwen.qwenCoder.Qwen3-Coder-30B-A3B-Instructz<clarifai/deepseek-ai.deepseek-chat.DeepSeek-R1-0528-Qwen3-8Bz*clarifai/openai.chat-completion.gpt-5-miniz(clarifai/microsoft.text-generation.phi-4z%clarifai/openai.chat-completion.gpt-5z+clarifai/meta.Llama-3.Llama-3_2-3B-Instructz/clarifai/xai.image-generation.grok-2-image-1212z#clarifai/xai.chat-completion.grok-3z"clarifai/openai.chat-completion.o3z,clarifai/qwen.qwen-VL.Qwen2_5-VL-7B-Instructzclarifai/qwen.qwenLM.Qwen3-14Bz clarifai/qwen.qwenLM.QwQ-32B-AWQz.clarifai/anthropic.completion.claude-3_5-haikuz/clarifai/anthropic.completion.claude-3_7-sonnet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-32BQwen/Qwen2.5-72B-Instructall-hands/openhands-lm-32b-v0.1Qwen/Qwen2.5-Coder-32B-Instructdeepseek-ai/DeepSeek-V3-0324z)mistralai/Mistral-Small-24B-Instruct-2501$mistralai/Mistral-Nemo-Instruct-2407%ProdeusUnity/Stellar-Odyssey-12b-v0.0featherless_ai_models)&deepseek-ai/DeepSeek-R1-0528r  zdeepseek-ai/DeepSeek-V3zdeepseek-ai/DeepSeek-R1z)deepseek-ai/DeepSeek-R1-Distill-Llama-70Bzgoogle/gemma-2-2b-itzgoogle/gemma-2-9b-it-fast!meta-llama/Llama-3.3-70B-Instructz&meta-llama/Meta-Llama-3.1-70B-Instructz%meta-llama/Meta-Llama-3.1-8B-Instructz'meta-llama/Meta-Llama-3.1-405B-Instructz NousResearch/Hermes-3-Llama-405Bzmicrosoft/phi-4r  zmistralai/Devstral-Small-2505moonshotai/Kimi-K2-Instructz'nvidia/Llama-3_1-Nemotron-Ultra-253B-v1z&nvidia/Llama-3_3-Nemotron-Super-49B-v1openai/gpt-oss-120bopenai/gpt-oss-20b#Qwen/Qwen3-Coder-480B-A35B-Instruct"Qwen/Qwen3-235B-A22B-Instruct-2507zQwen/Qwen3-235B-A22BzQwen/Qwen3-30B-A3BzQwen/Qwen3-32BzQwen/Qwen3-14BzQwen/Qwen3-4B-fastzQwen/Qwen2.5-Coder-7Br  r  zQwen/QwQ-32Bz Qwen/Qwen3-30B-A3B-Thinking-2507z Qwen/Qwen3-30B-A3B-Instruct-2507zai-org/GLM-4.5zzai-org/GLM-4.5-Airzaaditya/Llama3-OpenBioLLM-70Br  r  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  r  r  z"Qwen/Qwen3-235B-A22B-Thinking-2507r  z meta-llama/Llama-3.1-8B-Instructr  z)meta-llama/Llama-4-Scout-17B-16E-Instructzdeepseek-ai/DeepSeek-V3.1r  r  zmicrosoft/Phi-4-mini-instructWANDB_MODELS)r   r   r  amazonmetallamar   novadeepseek_r1qwen3qwen2
twelvelabsr   	stabilityr%  )r   r  r  r  )4zqwen.qwen3-coder-480b-a35b-v1:0zqwen.qwen3-coder-nextzqwen.qwen3-235b-a22b-2507-v1:0zqwen.qwen3-coder-30b-a3b-v1:0zqwen.qwen3-32b-v1:0zdeepseek.v3-v1:0zdeepseek.v3.2zopenai.gpt-oss-20b-1:0zopenai.gpt-oss-120b-1:0z(anthropic.claude-haiku-4-5-20251001-v1:0z)anthropic.claude-sonnet-4-5-20250929-v1:0zanthropic.claude-opus-4-6-v1:0zanthropic.claude-opus-4-6-v1zanthropic.claude-sonnet-4-6z'anthropic.claude-opus-4-1-20250805-v1:0z%anthropic.claude-opus-4-20250514-v1:0z'anthropic.claude-sonnet-4-20250514-v1:0z)anthropic.claude-3-7-sonnet-20250219-v1:0z(anthropic.claude-3-5-haiku-20241022-v1:0z)anthropic.claude-3-5-sonnet-20241022-v2:0z)anthropic.claude-3-5-sonnet-20240620-v1:0z%anthropic.claude-3-opus-20240229-v1:0z'anthropic.claude-3-sonnet-20240229-v1:0z&anthropic.claude-3-haiku-20240307-v1:0zanthropic.claude-v2zanthropic.claude-v2:1zanthropic.claude-v1zanthropic.claude-instant-v1zai21.jamba-instruct-v1:0zai21.jamba-1-5-mini-v1:0zai21.jamba-1-5-large-v1:0meta.llama3-70b-instruct-v1:0zmeta.llama3-8b-instruct-v1:0zmeta.llama3-1-8b-instruct-v1:0zmeta.llama3-1-70b-instruct-v1:0z meta.llama3-1-405b-instruct-v1:0r  zmistral.mistral-large-2407-v1:0zmistral.mistral-large-2402-v1:0zmistral.mistral-small-2402-v1:0zmeta.llama3-2-1b-instruct-v1:0zmeta.llama3-2-3b-instruct-v1:0zmeta.llama3-2-11b-instruct-v1:0zmeta.llama3-2-90b-instruct-v1:0zamazon.nova-lite-v1:0zamazon.nova-2-lite-v1:0z'amazon.nova-2-pro-preview-20251202-v1:0zamazon.nova-pro-v1:0zwriter.palmyra-x4-v1:0zwriter.palmyra-x5-v1:0zminimax.minimax-m2.1zmoonshotai.kimi-k2.5z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(amazon.nova-2-multimodal-embeddings-v1:0zcohere.embed-english-v3zcohere.embed-multilingual-v3zcohere.embed-v4:0z!twelvelabs.marengo-embed-2-7-v1:0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)r9  lengthr3  
tool_callscontent_filter"HUMANLOOP_PROMPT_CACHE_TTL_SECONDSjson_tool_callz
2019-07-072PROMETHEUS_BUDGET_METRICS_REFRESH_INTERVAL_MINUTES!CLOUDZERO_EXPORT_INTERVAL_MINUTESmcp_toolMAXIMUM_TRACEBACK_LINES_TO_LOGzx-litellm-disable-callbackslitellm_metadatari  litellm_truncatedzTruncation is a DB storage safeguard. Full, untruncated data is logged to logging callbacks (OTEL, Datadog, etc.). To increase the truncation limit, set `MAX_STRING_LENGTH_PROMPT_IN_DB` in your env.zx-litellm-customer-idzx-litellm-end-user-idMAX_SPENDLOG_ROWS_TO_QUERYi@B DEFAULT_SOFT_BUDGETg      I@z%LiteLLM Virtual Key user_api_key_hashPYTHON_GC_THRESHOLD)zagents/zknowledgebases/zflows/zretrieveAndGenerate/zrerank/zgenerateQuery/zoptimize-prompt/zanthropic-betazcontent-typezx-pass-z/mcp"BATCH_STATUS_POLL_INTERVAL_SECONDSBATCH_STATUS_POLL_MAX_ATTEMPTSHEALTH_CHECK_TIMEOUT_SECONDSzlitellm-internal-health-checkzlitellm-clilitellm_internal_jobsLITELLM_KEY_ROTATION_ENABLED+LITELLM_KEY_ROTATION_CHECK_INTERVAL_SECONDS!LITELLM_KEY_ROTATION_GRACE_PERIODzlitellm-dashboarddefault_user_idzlitellm-session-tokencli_sso_sessionzcli-jwt-tokenCLI_JWT_EXPIRATION_HOURS LITELLM_CLI_JWT_EXPIRATION_HOURSLITELLM_UI_SESSION_DURATION24hdb_spend_update_jobprometheus_emit_budget_metricscloudzero_export_usage_data"CLOUDZERO_MAX_FETCHED_DATA_RECORDSspend_log_cleanupSPEND_LOG_RUN_LOOPSSPEND_LOG_CLEANUP_BATCH_SIZESPEND_LOG_QUEUE_SIZE_THRESHOLDSPEND_LOG_QUEUE_POLL_INTERVALg       @!DEFAULT_CRON_JOB_LOCK_TTL_SECONDS!PROXY_BUDGET_RESCHEDULER_MIN_TIMEiU  PROXY_BATCH_POLLING_INTERVALMAX_OBJECTS_PER_POLL_CYCLE$MANAGED_OBJECT_STALENESS_CUTOFF_DAYSPROXY_BATCH_POLLING_ENABLED!PROXY_BUDGET_RESCHEDULER_MAX_TIMEi]  PROXY_BATCH_WRITE_ATAPSCHEDULER_COALESCETrue)r*   1APSCHEDULER_MISFIRE_GRACE_TIMEAPSCHEDULER_MAX_INSTANCESAPSCHEDULER_REPLACE_EXISTINGDEFAULT_HEALTH_CHECK_INTERVALDEFAULT_SHARED_HEALTH_CHECK_TTL$DEFAULT_SHARED_HEALTH_CHECK_LOCK_TTL)PROMETHEUS_FALLBACK_STATS_SEND_TIME_HOURSDEFAULT_MODEL_CREATED_AT_TIMEijNc DEFAULT_SLACK_ALERTING_THRESHOLDMAX_TEAM_LIST_LIMITMAX_POLICY_ESTIMATE_IMPACT_ROWS-DEFAULT_PROMPT_INJECTION_SIMILARITY_THRESHOLDgffffff?LENGTH_OF_LITELLM_GENERATED_KEYSECRET_MANAGER_REFRESH_INTERVAL)default_internal_user_paramsdefault_team_paramspublic_mcp_serverspublic_agent_groupspublic_model_groupspublic_model_groups_linkscost_discount_configcost_margin_configzui-token-DEFAULT_MANAGEMENT_OBJECT_IN_MEMORY_CACHE_TTLDEFAULT_ACCESS_GROUP_CACHE_TTL)0rE  tokenkeysecretpasswordauth
credentialOPENAI_API_KEYANTHROPIC_API_KEYANTHROPIC_AUTH_TOKENAZURE_API_KEYCOHERE_API_KEYREPLICATE_API_KEYHUGGINGFACE_API_KEYTOGETHERAI_API_KEYCLOUDFLARE_API_KEYBASETEN_KEYOPENROUTER_KEYCOMETAPI_KEYDATAROBOT_API_TOKENFIREWORKS_API_KEYFIREWORKS_AI_API_KEYFIREWORKSAI_API_KEYOVHCLOUD_API_KEYCLARIFAI_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$COROUTINE_CHECKER_MAX_SIZE_IN_MEMORYDEFAULT_CHUNK_SIZEDEFAULT_CHUNK_OVERLAPS3_VECTORS_DEFAULT_DIMENSION"S3_VECTORS_DEFAULT_DISTANCE_METRICcosinesource_textMICROSOFT_USER_EMAIL_ATTRIBUTEuserPrincipalName%MICROSOFT_USER_DISPLAY_NAME_ATTRIBUTEdisplayNameMICROSOFT_USER_ID_ATTRIBUTEid#MICROSOFT_USER_FIRST_NAME_ATTRIBUTE	givenName"MICROSOFT_USER_LAST_NAME_ATTRIBUTEsurnameMAX_PAYLOAD_SIZE_FOR_DEBUG_LOGi  MAX_COMPETITOR_NAMESCOMPETITOR_LLM_TEMPERATUREzgpt-4o-mini(<  ossystypingr   r   $litellm.litellm_core_utils.env_utilsr   strgetenvr   r   intr	   r   r   r   r   r   r   r   r   SQS_SEND_MESSAGE_ACTIONSQS_API_VERSIONr   r   r   floatr   r   r   r   r    r!   r"   r#   _max_stream_duration_envr%   r&   lowerr(   r+   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r:   r;   r<   r>   r@   rB   rC   MCP_CLIENT_TIMEOUTMCP_TOOL_LISTING_TIMEOUTMCP_METADATA_TIMEOUTMCP_HEALTH_CHECK_TIMEOUTLITELLM_UI_ALLOW_HEADERSrI   rJ   rL   MAX_CALLBACKSrN   XAI_API_BASErO   rP   rQ   rR   rS   rT   _DEFAULT_TTL_FOR_HTTPX_CLIENTSrU   rV   rW   rY   version_infoAIOHTTP_NEEDS_CLEANUP_CLOSED_max_size_envr]   DEFAULT_SSL_CIPHERSREDIS_UPDATE_BUFFER_KEY#REDIS_DAILY_SPEND_UPDATE_BUFFER_KEY(REDIS_DAILY_TEAM_SPEND_UPDATE_BUFFER_KEY'REDIS_DAILY_ORG_SPEND_UPDATE_BUFFER_KEY,REDIS_DAILY_END_USER_SPEND_UPDATE_BUFFER_KEY)REDIS_DAILY_AGENT_SPEND_UPDATE_BUFFER_KEY'REDIS_DAILY_TAG_SPEND_UPDATE_BUFFER_KEYrf   rg   rh   rj   rk   rl   rm   rn   rp   rq   rs   rt   ru   rw   ry   rz   r{   r}   r~   r   r   r   r   r   r   r   r   r   r   _REALTIME_BODY_CACHE_SIZEr   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   r   r   r   r   r   r   __annotations__r   r   r   r   r   r   r   r   r   r   r   REDACTED_BY_LITELM_STRINGr   r   r   r   r   r   r   r   r   r   r   r   !ANTHROPIC_SKILLS_API_BETA_VERSION"ANTHROPIC_WEB_SEARCH_TOOL_MAX_USESLITELLM_WEB_SEARCH_TOOL_NAMEDEFAULT_IMAGE_ENDPOINT_MODELDEFAULT_VIDEO_ENDPOINT_MODELr   r   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_VALUESrk  rw  rx  ry  setrz  r{  r|  empower_modelsr}  r  r  r  r  r  r   BEDROCK_INVOKE_PROVIDERS_LITERAL#BEDROCK_EMBEDDING_PROVIDERS_LITERALBEDROCK_CONVERSE_MODELSr  r  r  known_tokenizer_configOPENAI_FINISH_REASONSr  RESPONSE_FORMAT_TOOL_NAMEAZURE_STORAGE_MSFT_VERSIONr  r  MCP_TOOL_NAME_PREFIXr  X_LITELLM_DISABLE_CALLBACKSLITELLM_METADATA_FIELDOLD_LITELLM_METADATA_FIELDLITELLM_TRUNCATED_PAYLOAD_FIELD$LITELLM_TRUNCATION_DB_SAFEGUARD_NOTESTANDARD_CUSTOMER_ID_HEADERSr  r  (RATE_LIMIT_ERROR_MESSAGE_FOR_VIRTUAL_KEYr  )BEDROCK_AGENT_RUNTIME_PASS_THROUGH_ROUTES%ALLOWED_VERTEX_AI_PASSTHROUGH_HEADERSPASS_THROUGH_HEADER_PREFIXBASE_MCP_ROUTEr  r  r  ,LITTELM_INTERNAL_HEALTH_SERVICE_ACCOUNT_NAME LITTELM_CLI_SERVICE_ACCOUNT_NAME*LITELLM_INTERNAL_JOBS_SERVICE_ACCOUNT_NAMEr  r  r  UI_SESSION_TOKEN_TEAM_IDLITELLM_PROXY_ADMIN_NAMELITELLM_CLI_SOURCE_IDENTIFIER LITELLM_CLI_SESSION_TOKEN_PREFIX CLI_SSO_SESSION_CACHE_KEY_PREFIXCLI_JWT_TOKEN_NAMEr  r  DB_SPEND_UPDATE_JOB_NAME'PROMETHEUS_EMIT_BUDGET_METRICS_JOB_NAME$CLOUDZERO_EXPORT_USAGE_DATA_JOB_NAMEr  SPEND_LOG_CLEANUP_JOB_NAMEr  r  r  r  r  r  r  maxr  r  _batch_polling_envr  r  r  r  r  r  r  r  r  r  )DEFAULT_HEALTH_CHECK_STALENESS_MULTIPLIERr  r  r  r  r  r  r  r  "LITELLM_SETTINGS_SAFE_DB_OVERRIDESSPECIAL_LITELLM_AUTH_TOKENr  r  SENTRY_DENYLISTSENTRY_PII_DENYLISTr6  r7  r8  r9  r:  /S3_VECTORS_DEFAULT_NON_FILTERABLE_METADATA_KEYSr=  r?  rA  rC  rE  rG  rH  rI  "DEFAULT_COMPETITOR_DISCOVERY_MODEL)ks   0I/root/tools/cai/cai_env/lib/python3.12/site-packages/litellm/constants.py<module>r     s&   	 
   <!BII+-@A  '*BII3Y?' # 9299%;Q?@ #7=> !$YRYY/OQR%S!T $'BII126% ! IBII&=sCD %(BII2B7& " %(BII115% ! 14BII=qA1 - 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 
 %299%MtT '?'KE
"#QU ' !$IBII.Mr$R S 
 BII'1779VC 
 "%BII.3"  #(BII/5#  )"))$93?@ 9299%;SAB 
 "'yryy1QSU'V!W *-BII7>+ ' /2BII;TB/ + .1BII:A>. * 47BII@!D4 0
 /2BII;=UV/ + %(BII126% ! 49BII@#F4 0 /2BII;SA/ +
 *-BII68PQ* & /4BII;TB/ +
 *-BII6=* & #&BII/7#  &)BII2F;& " BII13HI !$YRYY/OQU%V!W  9299%A6JK  +Mv!VW YRYY'EvNO  +Mv!VW   %  EHBIIQSTUE A CFBIIOQTUC ? JMBIIPRUJ F 3S9 47BII@#F4 0
 %/2BII<dC0 , 36BII?F3 / 14BII=tD1 - "BII+R0   #BII,l;   BII(#. 
 "&  ibii(A4HI #&BII0#6$    			*Es KL IBII&=sCD   *S-=-=   A    # 	
"	  		EF'3C *  bii * 8 &I #+S (*Q '0 - -V )*Q '!$YRYY/OQT%U!V  #IBII.Mt$T U  #IBII.Mr$R S  BII(#.Kc.Q*RS  #&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;) % /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2D9& " !BII($/  #&ibii0QSV&W"X *-BII7F+ ' +.BII7<+ ' YRYY'=sCD  #IBII.Mq$Q R *-BII7;+ ' *-BII6;* &
 ")")),I1"MN  BII*B/   #9299-KT#RS !$YRYY/OQU%V!W ibii(A2FG %(BII2D9& " #(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'.  +.BII7=+ ' !$IBII.Mt$T U yryy):DAB B#(BII)40$ 5 % S	 ( 49  '  &&  &).BII6A* & IBII&=rBC YRYY'?EF yryy!3Q78 			"5r:; 			"5r:; 0 #&BII0"5$   !BII*C0  !$IBII.Mv$V W (-BII5t<) % #&BII/4#  !$IBII.Ms$S T 			*CS IJ 38BII@#F4 0 ,5299.0G, ( BII&5  16BII=sC1 -
 )2		+-H) % %8 !& "  4 ) ' (+BII5q9) %
 $'BII0$7$  Z x@ <.! `  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 "Y-( $^%% T %P7% T 7r ,T .     # "  " "J  C   #)  C D   !
 s  24s 4l  #   #    c 4 $+$  $ '.' #5 p !$%=$> ? # ?"
   
 !$	! # 	 }

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

 , ""&:"$ -2&8"$  %&8"$  "3 o#C"
F I%,#7 t  &)BII2B7& " -  * 58BIIBAF6 2 %(BII126% ! " !$YRYY/OQT%U!V  < + ' "5 Z %    !BII*I6  BII#T*  ,S (  bii 56 - ) ) % ' %(BII2D9& " "%BII.3"   #BII,b1   0O ,#0  -D *  )ryy)GQ .1BII;UC/ + *3'* !3  / ,  !. #:  #4  $ BII() 
ryy34
	  (bii(EuM  1 *J ''D $%(BII2E:& " 1 )"))$93?@ "9299-KT#RS !$YRYY/OQT%U!V  %ibii0OQT&U V $'BII126% ! %(BII137% !  #9299-KT#RS  C			2NPR(S$TU '*s9299;Q?@( $ RYY<fEKKM 0F: $'BII137% ! BII$b)  !ryy!7@FFH M   "%BII.5"   BII)1-   )ryy"F %'    !$BII-s3!  #&BII/5#  (+BII4b9( $  * -0BII91=- ) !$BII-z:!  $'BII0#6$   )"))$92>? "%BII/6#  16BII=sC1 - #&ibii0QSU&V"W "%BII/7# 	& " )\ 03BII=rB1 - "%YRYY/OQT%U!V 7p  (+BII4d;( $
 #7>? IBII&=sCD   #9299-KT#RS %(BII2H=& " 4A/ / "%BII.0CD"  ),BII5}E) % ")")),I4"PQ &)BII3[A' # &)BII2I>& " "%BII.7" 
 9299%;SAB "9299-I3#OP %2 "[ 1s   
Ab;