Если прямой доступ к ChatGPT невозможен, необходимо где-то настроить прокси-службу, например прокси-сервер Nginx. Далее мы расскажем, как настроить прокси-сервер API и сохранить возможность потоковой передачи вывода.
Предположим, что адрес серверной службыhttp://127.0.0.1:3000
,Бэкэнд обеспечивает возврат потоковой передачиAPIспособность,Если вам нужен доступ к сервису через прокси,Конфигурация прокси-сервера Nginx следующая:
server {
listen 80;
listen [::]:80;
server_name _;
location / {
root /data/www/chat;
index index.html;
}
location /api {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Upgrade "";
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_cache off;
}
}
Следующая конфигурация настроена для поддержки возврата потоковой передачи:
proxy_set_header Upgrade "";
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_cache off;
Итак, если вы действуете как прямой агентChatGPTчатAPI(https://api.openai.com/v1/chat/completions
),Его можно настроить следующим образом:
server {
listen 80;
listen [::]:80;
server_name _;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass https://api.openai.com/v1/chat/completions;
proxy_set_header Upgrade "";
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_cache off;
proxy_set_header X-XSS-Protection "1; mode=block";
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass_request_headers on;
proxy_pass_request_body on;
proxy_ssl_server_name on;
proxy_ssl_session_reuse off;
}
}
Поскольку прокси-сервер представляет собой запрос HTTPS, требуется дополнительная настройка запроса SSL:
proxy_set_header X-XSS-Protection "1; mode=block";
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass_request_headers on;
proxy_pass_request_body on;
proxy_ssl_server_name on;
proxy_ssl_session_reuse off;
Конечно, его также можно изменитьproxy_pass
Настройте более гибкий метод прокси。