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 requests

View File

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

View File

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

View File

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

View File

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

View File

@ -1,9 +1,13 @@
from __future__ import annotations
import json
import random
import re
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):
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
from ..typing import Any, AsyncGenerator, CreateResult, Union
import asyncio
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
class Bing(AsyncGeneratorProvider):
url = "https://bing.com/chat"
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

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

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

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

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

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,8 +1,11 @@
from __future__ import annotations
import json
from aiohttp import ClientSession
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):

View File

@ -1,5 +1,8 @@
import uuid
from __future__ import annotations
import json
import uuid
from aiohttp import ClientSession
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

View File

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

View File

@ -1,8 +1,12 @@
from __future__ import annotations
import json
from aiohttp import ClientSession
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):
url = "https://open-assistant.io/chat"

View File

@ -1,14 +1,18 @@
from __future__ import annotations
has_module = True
try:
from revChatGPT.V1 import AsyncChatbot
except ImportError:
has_module = False
from .base_provider import AsyncGeneratorProvider, get_cookies, format_prompt
from ..typing import AsyncGenerator
from httpx import AsyncClient
import json
from httpx import AsyncClient
from ..typing import AsyncGenerator
from .base_provider import AsyncGeneratorProvider, format_prompt, get_cookies
class OpenaiChat(AsyncGeneratorProvider):
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

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

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
class V50(BaseProvider):
url = 'https://p5.v50.ltd'
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
from ..typing import Any, CreateResult, TypedDict
import base64
import json
import uuid
import quickjs
from curl_cffi import requests
from ..typing import Any, CreateResult, TypedDict
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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