Comments 34
Не проще VPN поднять?
Пользуюсь ChatGPT через свой VPN. На своей хоумлабе держу тг бота который ходит в OpenAI API через этот же VPN и всё хорошо.
есть где подробнее прочитать что бы отправлять ТГ бота через VPN ?
Я использую вот этот docker image https://github.com/dperson/openvpn-client?tab=readme-ov-file#local-network-access-to-services-connecting-to-the-internet-through-the-vpn чтобы некоторые мои контейнеры выходили в инет через VPN
Когда у тебя дело про сервер нет.
Какое дело? Про какой сервер?
Сам код который использует OPEN AI у меня крутится на сервере весь трафик с которого не хочу через VPN гнать. Даже весь трафик контейнера гнать через VPN излишне!
Статья о первом своем api :) , а не "как заплатить денег и не напрягаться" :)
IMHO, Если рассуждать, следуя Вашему тезису, то можно просто "три копейки закинуть" сервисам-посредникам и не напрягаясь пользоваться без всяких "подъемов своих vpn". )
Ох. Я поддерживаю сервис, который как раз предоставляет прокси OpenAI API для нейросетей в России и релеит запросы оригинальным сервисам (в профиле есть).
Что могу сказать - по факту, вы закрыли ровно 1 кейс - т.е. отправка чисто сообщений. Не учитывается - передача температуры, параметра tools (т.е. схемы инструментов для формальных запросов) и ряда других. Не поддерживается стриминг - это такая хитрая штука, когда при ответе отсылается последовательно ряд HTTP-events, которая рендерится на клиенте (нужно, чтобы не ждать ответа от сети полностью, т.к. может быть долго, можно выводить по кусочкам). Еще понятное дело, у вас только под текстовый запрос - т.е. не поддерживаются DALL-E, embeddings, TTS, STT... :)
А не проще было просто nginx с proxy_pass поднять?
Я не пробовал nginx прокси, можно попробовать, но кажется он палит cookies. И разницу в часовых поясах прокси и сервера. Но я попробую
Если дадите нормальную конфигурацию для 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. Отталкиваясь от конфига выше
Туториал заявлялся, как метод обхода блокировки OpenAI. В итоге весь "обход" сводится к использованию VPS, который OpenAI не блокирует. Все остальные технологии, как FastAPI и Docker, это конечно замечательно, но по сути к теме поста не относится.
Логичнее было бы назвать пост "Используем OpenAI API с помощью FastAPI и Docker", разве нет?
Сервис для обхода блокировки OpenAI API в России или ваш первый API