import json import os import requests from ...typing import get_type_hints url = "https://forefront.com" model = ["gpt-3.5-turbo"] supports_stream = True needs_auth = False def _create_completion(model: str, messages: list, stream: bool, **kwargs): json_data = { "text": messages[-1]["content"], "action": "noauth", "id": "", "parentId": "", "workspaceId": "", "messagePersona": "607e41fe-95be-497e-8e97-010a59b2e2c0", "model": "gpt-4", "messages": messages[:-1] if len(messages) > 1 else [], "internetMode": "auto", } response = requests.post( "https://streaming.tenant-forefront-default.knative.chi.coreweave.com/free-chat", json=json_data, stream=True, ) for token in response.iter_lines(): if b"delta" in token: token = json.loads(token.decode().split("data: ")[1])["delta"] 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] ] )