import json import requests from ..typing import Any, CreateResult from .base_provider import BaseProvider class Forefront(BaseProvider): url = "https://forefront.com" supports_stream = True supports_gpt_35_turbo = True @staticmethod def create_completion( model: str, messages: list[dict[str, str]], stream: bool, **kwargs: Any, ) -> CreateResult: 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, ) response.raise_for_status() for token in response.iter_lines(): if b"delta" in token: yield json.loads(token.decode().split("data: ")[1])["delta"]