import json import os import requests from ...typing import get_type_hints url = "https://hteyun.com" model = [ "gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-3.5-turbo-16k-0613", "gpt-3.5-turbo-0613", ] supports_stream = True needs_auth = False def _create_completion(model: str, messages: list, stream: bool, temperature: float = 0.7, **kwargs): headers = { "Content-Type": "application/json", } data = { "model": model, "temperature": 0.7, "presence_penalty": 0, "messages": messages, } response = requests.post(url + "/api/chat-stream", json=data, stream=True) if stream: for chunk in response.iter_content(chunk_size=None): chunk = chunk.decode("utf-8") if chunk.strip(): message = json.loads(chunk)["choices"][0]["message"]["content"] yield message else: message = response.json()["choices"][0]["message"]["content"] yield message 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] ] )