OpenAI API ошибка 403

Есть такой код

def gpt(type_: str) -> str:
    """

    Использование GPT

    """

    openai.api_key = GPT_TOKEN

    print("start generating")
    print(type_)
    print("'"+prompts.get(type_)+"'")

    completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompts.get(type_)}])

    print("end generating")

    return str(completion.choices[0].message.content)

type_ - это выбор из словаря промптов, сам список prompts это сам словарь с промптами, проблема в том что при вызове этого кода появляется ошибка 403

HTTP code 403 from API (<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->

и далее просто идет html код

как это возможно исправить

причем раньше код работал, это на днях начало выдавать ошибку


Ответы (2 шт):

Автор решения: user573778

Столкнулся с такой же проблемой. Решение для этого безобразия нашел пока, что только одно. Это VPN на пк

→ Ссылка
Автор решения: стививандер

HTML возвращает не openai, а cloudflare всем русским ip-адресам, просто openai заблочили доступ из РФ теперь и по api, но решение до нелепого простое: в старых версиях либы можно просто прописывать:

openai.proxy = {любой прокси кроме РФ}

, а в новых версиях - в параметрах AsyncOpenAI можно предать:

http_client=httpx.AsyncClient(proxies={любой прокси кроме РФ})
→ Ссылка