Open-WebUI首次调用硅基流动AI响应缓慢的解决方案

AI摘要

Open-WebUI首次调用AI API时响应极慢,开启Clash代理后速度正常。排查发现是Ubuntu 24.04环境代理问题,通过在环境变量设置no_proxy绕过代理,并配置Nginx相关代理规则后,成功实现秒级响应。

在使用Open-WebUI 过程中发现一个非常奇怪的问题,就是不打卡clash 调用AI提供商的API 的时候,回复的非常慢,有次都要1个小时后才有结果返回,只要回复成功,后面再次调用的时候就不会很慢;

但是首次使用openwebui,打开了clash (非openwebui的部署环境)后,回复速度非常的快;

之前怀疑过open-webui 没有优化好,就配置了数据库,redis,向量数据库等,查看openwebui 日志 也没发现过问题,貌似并没有起到效果;

也查看了防火墙,是否有接口被拦截了,发现也没有接口被防火墙拦截掉;

也不知道使用open-webui 的环境是不是有接口URL 需要访问外网,才能正常使用,还是免费开源项目故意设计的问题;

解决方法:

1、目前只能是打开clash使用;

2、最新解决方法:应该是Ubuntu 24.04 环境clash 代理问题;最终解决办法是在环境变量里添加绕过代理的设置(no_proxy=Ubuntu 环境的外网IP和open-webui 外网域名),同时clash要开启全局代理;具体操作方法如下:

# 在Ubuntu 24.04 环境下执行下面的命令行,添加no_proxy环境变量
export no_proxy=192.168.31.2,ai.saiita.cn

或者在open-webui 添加systemctl 里no_proxy环境变

4、需要在nginx 配置文件添加下面的配置项,貌似不会返回消息慢了,应该是解决问题了,现在秒回复消息;

主nginx 配置文件

# API 代理配置(排除 WebSocket)
    location ~ ^/(api|ollama|openai)/ {
      proxy_pass http://127.0.0.1:8088;
    
      # 更安全的 CORS 配置
      if ($http_origin ~* ^https?://(ai\.saiita\.cn|www\.saiita\.com\.cn|localhost)(:[0-9]+)?$) {
         set $cors_origin $http_origin;
      }
    
      # CORS 头
      add_header 'Access-Control-Allow-Origin' $cors_origin always;
      add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
      add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always;
      add_header 'Access-Control-Allow-Credentials' 'true' always;
      add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;

      # OPTIONS 预检请求
      if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
      }
    
      # 其他代理头
      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;
    }
  
    location /v1 {
        proxy_set_header Host api.openai.com;
        proxy_pass https://api.openai.com/v1;
        proxy_ssl_name api.openai.com;
        proxy_ssl_server_name on;
        proxy_pass_request_headers on;
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
    }

nginx反向代理添加下面的配置项

    proxy_buffering off;
    proxy_request_buffering off;
    proxy_ignore_client_abort on;
    proxy_buffer_size 4k;
    proxy_buffers 4 4k;
    proxy_busy_buffers_size 8k;
    proxy_set_header Connection "keep-alive";

nginx完整的反向代理添加下面的配置


#PROXY-START/

location ^~ /
{
    proxy_pass http://127.0.0.1:8088;
    proxy_set_header Host 127.0.0.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;    
    
    proxy_buffering off;
    proxy_request_buffering off;
    proxy_ignore_client_abort on;
    proxy_buffer_size 4k;
    proxy_buffers 4 4k;
    proxy_busy_buffers_size 8k;
    


    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_fileUuKWYjdn 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_fileUuKWYjdn 1;
    	expires 1m;
        }
    if ( $static_fileUuKWYjdn = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

#PROXY-END/

open-webui 环境变量说明

no_proxy

  • 类型: str
  • 描述: 列出不应使用代理的域扩展名(或 IP 地址),用逗号分隔。例如,将 no_proxy 设置为 '.mit.edu' 确保在访问来自 MIT 的文档时绕过代理。

Saiyintai

软件测试工程师

相关推荐

三步安装配置Pipeline,轻松连接Open WebUI

Pipeline是Open-WebUI中用于信息拦截与处理的机制,可扩展模型功能(如添加图像识别)或实现过滤。官方支持函数调用、定制RAG、消息监控、速率限制、实时翻译及有害信息过滤等功能。安装需克隆仓库、配置虚拟环境并启动服务,随后在Open-WebUI设置中启用并连接Pipeline地址与密钥。

Open WebUI v0.8.12:终端安全修复 + API 稳定性提升

Open WebUI v0.8.12 版本发布,重点进行了安全修复、依赖补全与多项Bug修复。主要更新包括:增强多语言翻译;通过后端代理提升终端连接安全性,防止密钥泄露;修复终端工具异常、API文件列表错误和依赖缺失问题;优化管理员模型可见性、工具调用嵌入的显示效果及许可证数据加载。

【教程】三步配置Pipeline,解锁Open-WebUI图片识别(二)

Open-WebUI通过pipelines管道支持图片理解和视频识别,但本身不支持视频上传。配置pipelines后,可集成Ollama本地图片模型(如gemma3:27b)和智普免费图片模型(如glm-4.1v-thinking-flash)。代码优先使用智普模型(若配置),仅Ollama的qwen3-vl:8b支持视频处理,智普模型仅支持图片。

【教程】三步配置Pipeline,解锁Open-WebUI图片识别(一)

PIPELINE扩展了OPEN-WEBUI的功能,使其不仅能进行文字对话,还能集成图片识别、音频处理等动态工作流。它支持函数调用、定制RAG、消息监控、速率限制、实时翻译和有害信息过滤等功能。安装需在Ubuntu环境中克隆代码库、配置虚拟环境并启动服务器,随后在OPEN-WEBUI管理面板中设置连接即可使用。

暂无评论