diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-01-22 03:38:11 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-01-22 03:38:11 +0100 |
commit | 38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c (patch) | |
tree | 6cdb82f14fcb04e9f6b339f5cab13e73a6f75d41 /g4f/Provider/TalkAi.py | |
parent | Fix error in copilot (diff) | |
download | gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.tar gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.tar.gz gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.tar.bz2 gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.tar.lz gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.tar.xz gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.tar.zst gpt4free-38dbe4b8e5ca7f9bc0508e1ba1bf878fd6d8c19c.zip |
Diffstat (limited to 'g4f/Provider/TalkAi.py')
-rw-r--r-- | g4f/Provider/TalkAi.py | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/g4f/Provider/TalkAi.py b/g4f/Provider/TalkAi.py deleted file mode 100644 index d4efd269..00000000 --- a/g4f/Provider/TalkAi.py +++ /dev/null @@ -1,87 +0,0 @@ -from __future__ import annotations - -import time, json, time - -from ..typing import CreateResult, Messages -from .base_provider import AbstractProvider -from ..webdriver import WebDriver, WebDriverSession - -class TalkAi(AbstractProvider): - url = "https://talkai.info" - working = True - supports_gpt_35_turbo = True - supports_stream = True - - @classmethod - def create_completion( - cls, - model: str, - messages: Messages, - stream: bool, - proxy: str = None, - webdriver: WebDriver = None, - **kwargs - ) -> CreateResult: - with WebDriverSession(webdriver, "", virtual_display=True, proxy=proxy) as driver: - from selenium.webdriver.common.by import By - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - - driver.get(f"{cls.url}/chat/") - - # Wait for page load - WebDriverWait(driver, 240).until( - EC.presence_of_element_located((By.CSS_SELECTOR, "body.chat-page")) - ) - - data = { - "type": "chat", - "message": messages[-1]["content"], - "messagesHistory": [{ - "from": "you" if message["role"] == "user" else "chatGPT", - "content": message["content"] - } for message in messages], - "model": model if model else "gpt-3.5-turbo", - "max_tokens": 256, - "temperature": 1, - "top_p": 1, - "presence_penalty": 0, - "frequency_penalty": 0, - **kwargs - } - script = """ -const response = await fetch("/chat/send2/", { - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - }, - "body": {body}, - "method": "POST" -}); -window._reader = response.body.pipeThrough(new TextDecoderStream()).getReader(); -""" - driver.execute_script( - script.replace("{body}", json.dumps(json.dumps(data))) - ) - # Read response - while True: - chunk = driver.execute_script(""" -chunk = await window._reader.read(); -if (chunk["done"]) { - return null; -} -content = ""; -lines = chunk["value"].split("\\n") -lines.forEach((line, index) => { - if (line.startsWith('data: ')) { - content += line.substring('data: '.length); - } -}); -return content; -""") - if chunk: - yield chunk.replace("\\n", "\n") - elif chunk != "": - break - else: - time.sleep(0.1)
\ No newline at end of file |