前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx代理ChatGPT流式访问

Nginx代理ChatGPT流式访问

原创
作者头像
Luoyger
修改2024-03-13 12:32:05
3.4K0
修改2024-03-13 12:32:05
举报
文章被收录于专栏:AI技术探索和应用

当ChatGPT无法直接访问时,需要某个地方设置一个代理服务,如Nginx代理,接下来介绍如何设置API代理并保持流式输出的能力。

假设后端服务的地址为http://127.0.0.1:3000,后端提供了流式返回的API能力,如果需要通过代理去访问该服务,Nginx的代理配置如下:

代码语言:shell
复制
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;
    }
}

其中如下配置是设置支持流式返回:

代码语言:shell
复制
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),可以配置如下:

代码语言:shell
复制
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请求配置:

代码语言:shell
复制
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配置实现更灵活的代理方式。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档