WongSaang / chatgpt-ui

A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage. Provides Docker images and quick deployment scripts.
https://wongsaang.github.io/chatgpt-ui/
MIT License
1.51k stars 333 forks source link

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

Closed 101536363 closed 1 year ago

101536363 commented 1 year ago

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

101536363 commented 1 year ago

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

WongSaang commented 1 year ago

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

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

101536363 commented 1 year ago

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

WongSaang commented 1 year ago

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

101536363 commented 1 year ago

服务端您指的是docker-compose配置文件么 还是我的nginx 这是我的docker-compose文件 version: '3' services: client: image: wongsaang/chatgpt-ui-client:latest environment:

networks: chatgpt_ui_network: driver: bridge

WongSaang commented 1 year ago

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

278213568 commented 1 year ago

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

101536363 commented 1 year ago

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

WongSaang commented 1 year ago

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

278213568 commented 1 year ago

我用的MariaDB 10.3

101536363 commented 1 year ago

mysql 5.7

101536363 commented 1 year ago

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

WongSaang commented 1 year ago

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

278213568 commented 1 year ago

日志是哪个地方看呢?

101536363 commented 1 year ago

image 这个是之前的报错

WongSaang commented 1 year ago

日志是哪个地方看呢?

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

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

    docker-compose logs

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

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

    docker-compose logs <service-name>

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

WongSaang commented 1 year ago

image 这个是之前的报错

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

278213568 commented 1 year ago

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 到数据库问题

101536363 commented 1 year ago

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

WongSaang commented 1 year ago

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

278213568 commented 1 year ago

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

WongSaang commented 1 year ago

😀