@ -37,7 +37,9 @@ class Utils:
n = e % 10
r = n + 1 if n % 2 == 0 else n
return str ( e - n + r )
def getV ( ) :
crossref = requests . get ( " https://ai.ls " + requests . get ( " https://ai.ls/?chat=1 " ) . text . split ( ' crossorigin href= " ' ) [ 1 ] . split ( ' " ' ) [ 0 ] ) . text . split ( ' G4= " ' ) [ 1 ] . split ( ' " ' ) [ 0 ]
return crossref
def _create_completion ( model : str , messages : list , temperature : float = 0.6 , stream : bool = False , * * kwargs ) :
@ -47,7 +49,7 @@ def _create_completion(model: str, messages: list, temperature: float = 0.6, str
' accept-language ' : ' en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3 ' ,
' authorization ' : ' Bearer free ' ,
' client-id ' : str ( uuid . uuid4 ( ) ) ,
' client-v ' : ' 0.1.249 ' ,
' client-v ' : Utils . getV ( ) ,
' content-type ' : ' application/json ' ,
' origin ' : ' https://ai.ls ' ,
' referer ' : ' https://ai.ls/ ' ,
@ -90,4 +92,4 @@ def _create_completion(model: str, messages: list, temperature: float = 0.6, str
yield token
params = f ' g4f.Providers. { os . path . basename ( __file__ ) [ : - 3 ] } supports: ' + \
' ( %s ) ' % ' , ' . join ( [ f " { name } : { get_type_hints ( _create_completion ) [ name ] . __name__ } " for name in _create_completion . __code__ . co_varnames [ : _create_completion . __code__ . co_argcount ] ] )
' ( %s ) ' % ' , ' . join ( [ f " { name } : { get_type_hints ( _create_completion ) [ name ] . __name__ } " for name in _create_completion . __code__ . co_varnames [ : _create_completion . __code__ . co_argcount ] ] )