Pull to refresh

Comments 34

Не проще VPN поднять?
Пользуюсь ChatGPT через свой VPN. На своей хоумлабе держу тг бота который ходит в OpenAI API через этот же VPN и всё хорошо.

есть где подробнее прочитать что бы отправлять ТГ бота через VPN ?

Вот это полезнее уже чем просто вопрос про VPN!

Когда у тебя дело про сервер нет.

Сам код который использует OPEN AI у меня крутится на сервере весь трафик с которого не хочу через VPN гнать. Даже весь трафик контейнера гнать через VPN излишне!

Всё равно как то странно выглядит, проще кажется сделать рядом контейнер с прокси который будет в openai ходить через VPN и а остальной трафик пускать без VPN.

Статья о первом своем api :) , а не "как заплатить денег и не напрягаться" :)

IMHO, Если рассуждать, следуя Вашему тезису, то можно просто "три копейки закинуть" сервисам-посредникам и не напрягаясь пользоваться без всяких "подъемов своих vpn". )

Ох. Я поддерживаю сервис, который как раз предоставляет прокси OpenAI API для нейросетей в России и релеит запросы оригинальным сервисам (в профиле есть).

Что могу сказать - по факту, вы закрыли ровно 1 кейс - т.е. отправка чисто сообщений. Не учитывается - передача температуры, параметра tools (т.е. схемы инструментов для формальных запросов) и ряда других. Не поддерживается стриминг - это такая хитрая штука, когда при ответе отсылается последовательно ряд HTTP-events, которая рендерится на клиенте (нужно, чтобы не ждать ответа от сети полностью, т.к. может быть долго, можно выводить по кусочкам). Еще понятное дело, у вас только под текстовый запрос - т.е. не поддерживаются DALL-E, embeddings, TTS, STT... :)

Такой задачи у меня не было. Есть задача гнать текст!

А не проще было просто nginx с proxy_pass поднять?

Я не пробовал nginx прокси, можно попробовать, но кажется он палит cookies. И разницу в часовых поясах прокси и сервера. Но я попробую

Ничего не понял, куда "палит" куки, и причем тут разница часовых поясов...

Написал ниже про проблему с сертификатами для nginx

Если дадите нормальную конфигурацию для nginx это была бы польза. Я попрбовал:

# nginx.conf

server {
    listen 80;
    server_name your_relay_server_domain;

    # Reverse proxy to OpenAI API
    location / {
        proxy_pass https://api.openai.com;  # Forward all requests to the OpenAI API

        # Set proxy headers
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Optionally add timeouts or other restrictions
        proxy_read_timeout 90;
    }
}

но она дает конфликт SSL:

2024/10/16 12:43:36 [error] 27#27: *1 SSL_do_handshake() failed (SSL: error:0A000410:SSL routines::sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream, client: ***, server: your_relay_server_domain, request: "POST /v1/chat/completions HTTP/1.1", upstream: "https://***:443/v1/chat/completions", host: "***"
2024/10/16 12:43:36 [warn] 27#27: *1 upstream server temporarily disabled while SSL handshaking to upstream, client: ***, server: your_relay_server_domain, request: "POST /v1/chat/completions HTTP/1.1", upstream: "https://***:443/v1/chat/completions", host: "***"
2024/10/16 12:43:36 [error] 27#27: *1 SSL_do_handshake() failed (SSL: error:0A000410:SSL routines::sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream, client: ***, server: your_relay_server_domain, request: "POST /v1/chat/completions HTTP/1.1", upstream: "https://***:443/v1/chat/completions", host: "***"



У меня в РФ есть сервер на котором работают сервисы и я хочу подключить к ним OpenAI, но они не дают доступ, распознавая IP из россии. Подумал что напишу сервер для пересылки запроса.

И

Мы создали простой, но функциональный сервис, который можно развернуть на вашей VPS после чего он будет отправлять запросы к OpenAI и возвращать ответы.

Не совсем понял: так в итоге получилось отправлять запросы с российского сервиса (минуя блокировки по IP), или VDS нужен забугорный?

Может чел просто ни разу в жизни не слышал о прокси.

Я не пробовал nginx прокси, можно попробовать, но кажется он палит cookies. Те что я попробовал не работали в разных часовых поясах. И разницу в часовых поясах прокси и сервера.
p.s. попробовал NGINX. там есть проблемы с SSL которые если вы знаете как решить меньше чем за час милости прошу рассказать. Использовал такой конфиг:

# nginx.conf

server {
    listen 80;
    server_name your_relay_server_domain;

    # Reverse proxy to OpenAI API
    location / {
        proxy_pass https://api.openai.com;  # Forward all requests to the OpenAI API

        # Set proxy headers
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Optionally add timeouts or other restrictions
        proxy_read_timeout 90;
    }
}

Меня послал SSL по понятным причинам.

А ещё у вас блокирующая операция на запросе к openai. Вся асинхронность пропадает к сожалению)

А не проще сервак купить у timeweb ничего не делая подобного? Уже больше года полет нормальный.

Нет, у меня есть сервер который я хочу использовать. Но да можно конечно арендовать машину.

Извиняюсь, а "ничего подобного" - это чего? У Timeweb серверов ведь российские IP адреса - значит и блокировка OpenAI API будет.

У них есть польские, нидерландские серваки. Просто берешь арендуешь и из коробки все работает.

Пробовал я VPS TimeWeb, а whois говорит (пример двух IP):

address: Icerenkoy Mh. Huzur Hoca Cd. No: 53/4 Atasehir/ISTANBUL

address: 22/2 lit.A, Zastavskaya str.

И так все 10 IP. Полчаса выпытывал у поддержки какого происходит и только под конец разговора мне сказали: "Понимаю, что неприятно, но в NL устоявшиеся адреса очень быстро разбираются пользователями. Новые подсети не успевают актуализироваться."

Работают ли эти серверы с OpenAI - пока возможно. Но то, что они палятся и их вполне могут заблочить в любой момент - запросто.

Не хочу чтобы весь трафик ходил через VPN а выборочно гемор настраивать!

Что сложного отправить через vpn только то, что идёт на OpenAI, их сети же поди все известны?

Блин, писать сервис на fastapi, когда можно просто проксировать запросы.

Ну то есть ты просто написал проксю для одного запроса...

Блин писать комментарий вместо того чтобы почитать FAQ либо комменты выше... Ты просто повторил вопрос который есть в спойлере.

Ну либо скажите как легко в конфигурации обойти SSL. Отталкиваясь от конфига выше

Запроксируй RAW TCP, например. Это умеет и nginx и haproxy.

Тогда SSL терминация не нужна - ты на другом уровне работаешь.

Ну или даже если про HTTP - если ты стучишься в свой эндпоинт - зачем тебе чужие (эндпоинта) SSL серты?

Туториал заявлялся, как метод обхода блокировки OpenAI. В итоге весь "обход" сводится к использованию VPS, который OpenAI не блокирует. Все остальные технологии, как FastAPI и Docker, это конечно замечательно, но по сути к теме поста не относится.

Логичнее было бы назвать пост "Используем OpenAI API с помощью FastAPI и Docker", разве нет?

Sign up to leave a comment.

Articles