https://github.com/open-webui/open-webui/blob/main/backend/open_webui/apps/openai/main.py
v0.42最新中的代码:
可以对比这个三个函数:
1
async def aiohttp_get(url, key=None):
...
async with aiohttp.ClientSession(timeout=timeout, trust_env=True) as session:
2
async def verify_connection(url_idx: Optional[int] = None, user=Depends(get_verified_user)):...
...
async with session.get(f"{url}/models", headers=headers) as r:
3
async def verify_connection(
...
async with session.get(f"{url}/models", headers=headers) as r:
第一个是有trust_env=True,后面两个没有。
这会导致verify_connection会用不了docker中proxy的环境变量。会出现如下错误。进入docker 部署的open webui 的容器内部,修改这两个函数,添加trust_env=True后问题解决。 或者可以更改更彻底的网络环境
之前的问题
网页页面显示
OPENAI: Network problem
模型能出现,能正常聊天
Ubuntu Docker中本地部署,Docker中能curl -I https://api.openai.com/v1/models
同步和 异步 测试代码能运行成功。
可以看看docker log。可能是其中代码少了环境变量。