type hints

Use `from __future__ import annotations avoid `dict` and `list` cause "TypeErro: 'type' object is not subscriptable".

Refer to the following Stack Overflow discussions for more information:
1.
https://stackoverflow.com/questions/75202610/typeerror-type-object-is-not-subscriptable-python
2.
https://stackoverflow.com/questions/59101121/type-hint-for-a-dict-gives-typeerror-type-object-is-not-subscriptable
This commit is contained in:
msi-JunXiang 2023-09-03 16:26:26 +08:00
parent 9de43a0e95
commit 901595b10f
35 changed files with 176 additions and 45 deletions

View file

@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
import requests import requests

View file

@ -1,3 +1,5 @@
from __future__ import annotations
import time import time
import requests import requests

View file

@ -1,3 +1,5 @@
from __future__ import annotations
import requests import requests
from ..typing import Any, CreateResult from ..typing import Any, CreateResult

View file

@ -1,3 +1,5 @@
from __future__ import annotations
import requests import requests
from ..typing import Any, CreateResult from ..typing import Any, CreateResult

View file

@ -1,3 +1,5 @@
from __future__ import annotations
import hashlib import hashlib
import json import json
import time import time
@ -9,6 +11,7 @@ import requests
from ..typing import SHA256, Any, CreateResult from ..typing import SHA256, Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider
class Ails(BaseProvider): class Ails(BaseProvider):
url: str = "https://ai.ls" url: str = "https://ai.ls"
working = True working = True

View file

@ -1,9 +1,13 @@
from __future__ import annotations
import json import json
import random import random
import re import re
from aiohttp import ClientSession from aiohttp import ClientSession
from .base_provider import AsyncProvider, get_cookies, format_prompt from .base_provider import AsyncProvider, format_prompt, get_cookies
class Bard(AsyncProvider): class Bard(AsyncProvider):
url = "https://bard.google.com" url = "https://bard.google.com"

View file

@ -1,9 +1,17 @@
import asyncio, aiohttp, json, os, random from __future__ import annotations
from aiohttp import ClientSession import asyncio
from ..typing import Any, AsyncGenerator, CreateResult, Union import json
import os
import random
import aiohttp
from aiohttp import ClientSession
from ..typing import Any, AsyncGenerator, CreateResult, Union
from .base_provider import AsyncGeneratorProvider, get_cookies from .base_provider import AsyncGeneratorProvider, get_cookies
class Bing(AsyncGeneratorProvider): class Bing(AsyncGeneratorProvider):
url = "https://bing.com/chat" url = "https://bing.com/chat"
needs_auth = True needs_auth = True

View file

@ -1,6 +1,10 @@
import re, requests from __future__ import annotations
from ..typing import Any, CreateResult import re
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,12 @@
import base64, os, re, requests from __future__ import annotations
from ..typing import Any, CreateResult import base64
import os
import re
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,11 @@
import json, js2py, requests from __future__ import annotations
from ..typing import Any, CreateResult import json
import js2py
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,12 @@
import json, re, time , requests from __future__ import annotations
from ..typing import Any, CreateResult import json
import re
import time
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,11 @@
import json, requests, random from __future__ import annotations
from ..typing import Any, CreateResult import json
import random
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,10 @@
import requests, json from __future__ import annotations
import json
from abc import ABC, abstractmethod
import requests
from abc import ABC, abstractmethod
from ..typing import Any, CreateResult from ..typing import Any, CreateResult

View file

@ -1,6 +1,11 @@
import requests, json, random from __future__ import annotations
import json
import random
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
import requests
from ..typing import Any, CreateResult from ..typing import Any, CreateResult

View file

@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
import requests import requests

View file

@ -1,7 +1,13 @@
import os, json, uuid, requests from __future__ import annotations
from Crypto.Cipher import AES import json
from ..typing import Any, CreateResult import os
import uuid
import requests
from Crypto.Cipher import AES
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,5 +1,8 @@
from __future__ import annotations
import json import json
import uuid import uuid
from aiohttp import ClientSession from aiohttp import ClientSession
from ..typing import AsyncGenerator from ..typing import AsyncGenerator

View file

@ -1,8 +1,11 @@
from __future__ import annotations
import json import json
from aiohttp import ClientSession from aiohttp import ClientSession
from ..typing import AsyncGenerator from ..typing import AsyncGenerator
from .base_provider import AsyncGeneratorProvider, get_cookies, format_prompt from .base_provider import AsyncGeneratorProvider, format_prompt, get_cookies
class HuggingChat(AsyncGeneratorProvider): class HuggingChat(AsyncGeneratorProvider):

View file

@ -1,5 +1,8 @@
import uuid from __future__ import annotations
import json import json
import uuid
from aiohttp import ClientSession from aiohttp import ClientSession
from ..typing import AsyncGenerator from ..typing import AsyncGenerator

View file

@ -1,6 +1,10 @@
import json, requests from __future__ import annotations
from ..typing import Any, CreateResult import json
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,8 @@
from __future__ import annotations
import requests import requests
from ..typing import Any, CreateResult from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,8 +1,12 @@
from __future__ import annotations
import json import json
from aiohttp import ClientSession from aiohttp import ClientSession
from ..typing import Any, AsyncGenerator from ..typing import Any, AsyncGenerator
from .base_provider import AsyncGeneratorProvider, get_cookies, format_prompt from .base_provider import AsyncGeneratorProvider, format_prompt, get_cookies
class OpenAssistant(AsyncGeneratorProvider): class OpenAssistant(AsyncGeneratorProvider):
url = "https://open-assistant.io/chat" url = "https://open-assistant.io/chat"

View file

@ -1,14 +1,18 @@
from __future__ import annotations
has_module = True has_module = True
try: try:
from revChatGPT.V1 import AsyncChatbot from revChatGPT.V1 import AsyncChatbot
except ImportError: except ImportError:
has_module = False has_module = False
from .base_provider import AsyncGeneratorProvider, get_cookies, format_prompt
from ..typing import AsyncGenerator
from httpx import AsyncClient
import json import json
from httpx import AsyncClient
from ..typing import AsyncGenerator
from .base_provider import AsyncGeneratorProvider, format_prompt, get_cookies
class OpenaiChat(AsyncGeneratorProvider): class OpenaiChat(AsyncGeneratorProvider):
url = "https://chat.openai.com" url = "https://chat.openai.com"

View file

@ -1,6 +1,10 @@
import json, requests from __future__ import annotations
from ..typing import Any, CreateResult import json
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,11 @@
import json, random, requests from __future__ import annotations
from ..typing import Any, CreateResult import json
import random
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,8 +1,13 @@
import uuid, requests from __future__ import annotations
from ..typing import Any, CreateResult import uuid
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider
class V50(BaseProvider): class V50(BaseProvider):
url = 'https://p5.v50.ltd' url = 'https://p5.v50.ltd'
supports_gpt_35_turbo = True supports_gpt_35_turbo = True

View file

@ -1,7 +1,13 @@
import base64, json, uuid, quickjs from __future__ import annotations
from curl_cffi import requests import base64
from ..typing import Any, CreateResult, TypedDict import json
import uuid
import quickjs
from curl_cffi import requests
from ..typing import Any, CreateResult, TypedDict
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,13 @@
import json, random, string, time, requests from __future__ import annotations
from ..typing import Any, CreateResult import json
import random
import string
import time
import requests
from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,4 +1,9 @@
import random, requests from __future__ import annotations
import random
import requests
from ..typing import Any, CreateResult from ..typing import Any, CreateResult
from .base_provider import BaseProvider from .base_provider import BaseProvider

View file

@ -1,6 +1,9 @@
from aiohttp import ClientSession from __future__ import annotations
import json import json
from aiohttp import ClientSession
from ..typing import AsyncGenerator from ..typing import AsyncGenerator
from .base_provider import AsyncGeneratorProvider, format_prompt, get_cookies from .base_provider import AsyncGeneratorProvider, format_prompt, get_cookies

View file

@ -1,3 +1,5 @@
from __future__ import annotations
from aiohttp import ClientSession from aiohttp import ClientSession
from .base_provider import AsyncProvider, format_prompt from .base_provider import AsyncProvider, format_prompt

View file

@ -1,3 +1,4 @@
from __future__ import annotations
from .Acytoo import Acytoo from .Acytoo import Acytoo
from .Aichat import Aichat from .Aichat import Aichat
from .Ails import Ails from .Ails import Ails

View file

@ -1,9 +1,11 @@
from __future__ import annotations
import asyncio
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from ..typing import Any, CreateResult, AsyncGenerator, Union
import browser_cookie3 import browser_cookie3
import asyncio
from ..typing import Any, AsyncGenerator, CreateResult, Union
class BaseProvider(ABC): class BaseProvider(ABC):

View file

@ -1,3 +1,4 @@
from __future__ import annotations
from . import models from . import models
from .Provider import BaseProvider from .Provider import BaseProvider
from .typing import Any, CreateResult, Union from .typing import Any, CreateResult, Union

View file

@ -1,3 +1,4 @@
from __future__ import annotations
from dataclasses import dataclass from dataclasses import dataclass
from .Provider import Bard, BaseProvider, GetGpt, H2o, Liaobots, Vercel, Equing from .Provider import Bard, BaseProvider, GetGpt, H2o, Liaobots, Vercel, Equing