hf-llm-api / tests /openai.py
Hansimov's picture
:gem: [Feature] Enable get models of chat.openai.com
51e07f2
raw
history blame
1.9 kB
import uuid
from pathlib import Path
from curl_cffi import requests
from tclogger import logger, OSEnver
secrets_path = Path(__file__).parents[1] / "secrets.json"
ENVER = OSEnver(secrets_path)
class OpenaiAPI:
def __init__(self):
self.api_me = "https://chat.openai.com/backend-anon/me"
self.api_models = "https://chat.openai.com/backend-anon/models"
def auth(self):
http_proxy = ENVER["http_proxy"]
if http_proxy:
logger.note(f"> Using Proxy: {http_proxy}")
requests_proxies = {
"http": http_proxy,
"https": http_proxy,
}
uuid_str = str(uuid.uuid4())
requests_headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br, zstd",
"Accept-Language": "en-US,en;q=0.9",
"Cache-Control": "no-cache",
"Oai-Device-Id": uuid_str,
"Oai-Language": "en-US",
"Pragma": "no-cache",
"Referer": "https://chat.openai.com/",
"Sec-Ch-Ua": 'Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"',
"Sec-Ch-Ua-Mobile": "?0",
"Sec-Ch-Ua-Platform": '"Windows"',
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
}
logger.note(f"> Get: {self.api_models}")
res = requests.get(
self.api_models,
headers=requests_headers,
proxies=requests_proxies,
timeout=10,
impersonate="chrome120",
)
logger.warn(res.status_code)
logger.mesg(res.json())
if __name__ == "__main__":
api = OpenaiAPI()
api.auth()
# python -m tests.openai