WongSaang/chatgpt-ui

hello 我前端使用了nginx代理到服务 报错500

Closed this issue · 22 comments

image
image
image
在使用nginx反向代理后中文出现500的错误而英文看起来没有什么问题 能否帮忙看下是什么问题吗啊?

另外我使用数据库的配置
image
我在li另一台主机上直接运行不适用数据库的情况下没有问题,是否要从新删除数据库 重建?

另外我使用数据库的配置 image 我在li另一台主机上直接运行不适用数据库的情况下没有问题,是否要从新删除数据库 重建?

在这添加一个环境变量:DEBUG=True,看看后端的错误日志

这个是后端返回的错误日志,看起来好像api没有调通
image
image
nginx上返回的日志
image

500 应该是服务端配置不正确或者无法请求openai的接口

服务端您指的是docker-compose配置文件么 还是我的nginx 这是我的docker-compose文件
version: '3'
services:
client:
image: wongsaang/chatgpt-ui-client:latest
environment:
- SERVER_DOMAIN=http://backend-web-server
- NUXT_PUBLIC_APP_NAME='ChatGPT UI' # App name
- NUXT_PUBLIC_TYPEWRITER=true # Enable typewriter effect, default is false
- NUXT_PUBLIC_TYPEWRITER_DELAY=100 # Typewriter effect delay time, default is 50ms
depends_on:
- backend-web-server
ports:
- '7000:80'
networks:
- chatgpt_ui_network
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- APP_DOMAIN=${APP_DOMAIN:-0.0.0.0:9000}
- DB_URL=mysql://root:123456@192.168.1.43:3307/chatgpt_webui
- DJANGO_SUPERUSER_USERNAME=admin
- DJANGO_SUPERUSER_PASSWORD=11111111
- DJANGO_SUPERUSER_EMAIL=dev@qq.com
- DEBUG=True
ports:
- '8000:8000'
networks:
- chatgpt_ui_network
backend-web-server:
image: wongsaang/chatgpt-ui-web-server:latest
environment:
- BACKEND_URL=http://backend-wsgi-server:8000
ports:
- '9000:80'
depends_on:
- backend-wsgi-server
networks:
- chatgpt_ui_network

networks:
chatgpt_ui_network:
driver: bridge

服务器能 ping 通 api.openai.com 吗

我们也碰到同样的问题,
发送中文出现 internal 500 error
能 ping 通 api.openai.com

嗯 能够正常ping通,主要会出现英文对话没有问题 但是使用中文就会出现500的错误,偶尔会timeout超时,但是我直接使用docker-compose 不使用数据库,同时不使用nginx代理 只使用ip访问 暂时没有出现这个问题 我想是不是docker-compose上面有什么要指定代理的配置我没有做 有时间也请大神给看下

但是使用中文就会出现500的错误
@101536363 用的什么数据库

我用的MariaDB 10.3

mysql 5.7

之前的一个版本我在使用数据库的时候也没有问题,升级后出现了这个问题,目前我使用的您这个应该是最新版本,我一直在想是不是数据库的问题,但是现在还没有删库测试 = =!

能看到 wsgi-server 容器的日志不?试一下输入中文的报错的时候,去看下日志有没有错误信息

日志是哪个地方看呢?

image
这个是之前的报错

日志是哪个地方看呢?

如果您使用 Docker Compose 启动了服务,可以使用以下方式来查看容器日志:

  1. 使用 docker-compose logs 命令查看所有容器的日志:

    docker-compose logs
    

    这将显示所有服务的日志输出,您可以使用 -f 参数来跟踪实时日志输出。

  2. 使用 docker-compose logs <service-name> 命令查看特定服务的日志:

    docker-compose logs <service-name>
    

    这将显示指定服务的日志输出。同样,您可以使用 -f 参数跟踪实时日志输出。

image 这个是之前的报错

@101536363 没有显示错误信息,这样,你改下 docker-compose.yml ,在 wsgi-server 服务下添加环境变量DEBUG=True,然后再试下。这样能显示错误日志。

kend-wsgi-server_1 | return manager._insert(
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
backend-wsgi-server_1 | return getattr(self.get_queryset(), name)(*args, **kwargs)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 1791, in _insert
backend-wsgi-server_1 | return query.get_compiler(using=using).execute_sql(returning_fields)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1660, in execute_sql
backend-wsgi-server_1 | cursor.execute(sql, params)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 67, in execute
backend-wsgi-server_1 | return self._execute_with_wrappers(
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
backend-wsgi-server_1 | return executor(sql, params, many, context)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
backend-wsgi-server_1 | with self.db.wrap_database_errors:
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/utils.py", line 91, in exit
backend-wsgi-server_1 | raise dj_exc_value.with_traceback(traceback) from exc_value
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute
backend-wsgi-server_1 | return self.cursor.execute(sql, params)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/django/db/backends/mysql/base.py", line 75, in execute
backend-wsgi-server_1 | return self.cursor.execute(query, args)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/MySQLdb/cursors.py", line 206, in execute
backend-wsgi-server_1 | res = self._query(query)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/MySQLdb/cursors.py", line 319, in _query
backend-wsgi-server_1 | db.query(q)
backend-wsgi-server_1 | File "/usr/local/lib/python3.10/site-packages/MySQLdb/connections.py", line 254, in query
backend-wsgi-server_1 | _mysql.connection.query(self, query)
backend-wsgi-server_1 | django.db.utils.OperationalError: (1366, "Incorrect string value: '\xE4\xB8\xAD\xE6\x96\x87' for column chatgpt.chat_message.message at row 1")
backend-wsgi-server_1 | Warning: gpt-3.5-turbo may change over time. Returning num tokens assuming gpt-3.5-turbo-0301.
backend-wsgi-server_1 | Warning: gpt-3.5-turbo may change over time. Returning num tokens assuming gpt-3.5-turbo-0301.
backend-wsgi-server_1 | 172.26.0.3 - - [17/Apr/2023:02:48:14 +0000] "POST /api/conversation/ HTTP/1.0" 500 0 "-" "-"

--看样子就是 insert 到数据库问题

okok稍微晚点我试试 然后我在试试新建一个数据库是不是就能解决 另外更新下现在的版本 感谢感谢

@278213568 应该是字符集的问题了,将数据库字符集修改 utf8mb4 。

修改以后, 中文可以了, 多谢啊!

😀