
    g                         d dl Z d dlmZmZm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mZ ddlmZ 	 	 	 	 dded	ed
ee   dedededeeee
f      fdZd Zy)    N)CallableOptionalUnion)custom_promptprompt_factory)AsyncHTTPHandlerHTTPHandler_get_httpx_client)ModelResponseUsage   )PetalsErrormodelmessagesapi_basemodel_responseprint_verboseoptional_paramsclientc                    t         j                  j                         }|j                         D ]  \  }}||vs|||<    | t         j                  v r,t         j                  |    }t        |d   |d   |d   |      }nt        | |      }d }|r|j                  |d||d       | |d	|}|t        |t              s
t               }|j                  ||
      }|j                  |d|j                  d|i       	 |j                         d   }n	 ddlm} ddlm} | } |j1                  | dd      }|j1                  |       }|j                  |dd|i        ||d      d   } |j2                  |fi |}|j                  |d|d|i       |j5                  |d         }|,t7        |      dkD  r||j8                  d   j:                  _        t7        |j?                  |            }t7        |j?                  |d   d   d   jA                  d                  }tC        tE        jD                               |_#        | |_$        tK        ||||z         }tM        |d|       |S # t        $ r5}t!        |j"                  t%        |      |j&                         Y d }~d }~ww xY w# t        $ r t        d      w xY w)Nrolesinitial_prompt_valuefinal_prompt_value)	role_dictr   r   r   )r   r    )complete_input_dictr   )inputapi_keyadditional_args)r   inputs)datar   )r   r   original_responser   outputs)status_codemessageheadersr   )AutoDistributedModelForCausalLM)AutoTokenizerzImporting torch, transformers, petals failed
Try pip installing petals 
pip install git+https://github.com/bigscience-workshop/petalsF)use_fastadd_bos_tokenpt)return_tensors	input_idschoicesr%   content)prompt_tokenscompletion_tokenstotal_tokensusage)'litellmPetalsConfig
get_configitemscustom_prompt_dictr   r   pre_call
isinstancer	   r
   post	post_calltextjson	Exceptionr   r$   strr&   petalsr'   transformersr(   from_pretrainedgeneratedecodelenr.   r%   r/   encodegetinttimecreatedr   r   setattr)r   r   r   r   r   encodinglogging_objr   streamlitellm_params	logger_fnr   configkvmodel_prompt_detailspromptoutput_textr!   responseer'   r(   	tokenizer	model_objr    r#   r0   r1   r3   s                                 [/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/petals/completion/handler.py
completionr]      s    !!,,.F1_$!"OA	  ***&99%@*73!56L!M34HI	
  eh?!%K'6$ 	 	
 &DOD >FK!@&(F;;xd;3 	&mm2OD	 	 	
	"--/)4K	>2 !11E 2 
	 4CCEJ	 	2OD 	 	
 6$7D %)$$V?? 	%2OD	 	 	
  &&wqz23{#3a#74?q!))1/0My1!4Y?CCINO !-N N#+"%66E
 NGU+}  	$00A (( 	  	 Z 	s$   ?I+ J, +	J)4+J$$J),Kc                       y )N r_       r\   	embeddingra      s    r`   )FNNN)rJ   typingr   r   r   r4   3litellm.litellm_core_utils.prompt_templates.factoryr   r   &litellm.llms.custom_httpx.http_handlerr   r	   r
   litellm.utilsr   r   common_utilsr   r@   listdictr]   ra   r_   r`   r\   <module>ri      s     , ,  
 / & =A}}} sm} "	}
 } } U;(889:}@	r`   