智能专家3号
Some checks failed
Flask 提示词大师 - CI/CD 流水线 / 代码质量检查 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 单元测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 集成测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 构建Docker镜像 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到测试环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到生产环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署监控系统 (push) Has been cancelled
Some checks failed
Flask 提示词大师 - CI/CD 流水线 / 代码质量检查 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 单元测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 集成测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 构建Docker镜像 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到测试环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到生产环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署监控系统 (push) Has been cancelled
This commit is contained in:
192
logs/app.log
192
logs/app.log
@@ -2735,3 +2735,195 @@ Traceback (most recent call last):
|
|||||||
raise BuildError(endpoint, values, method, self)
|
raise BuildError(endpoint, values, method, self)
|
||||||
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
[in /home/renjianbo/aitsc/src/flask_prompt_master/__init__.py:120]
|
[in /home/renjianbo/aitsc/src/flask_prompt_master/__init__.py:120]
|
||||||
|
2026-02-28 22:13:20,966 ERROR: Exception on / [GET] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:1414]
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
2026-02-28 22:13:21,024 ERROR: Internal Server Error: 500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
[in /home/renjianbo/aitsc/src/flask_prompt_master/__init__.py:120]
|
||||||
|
2026-02-28 22:13:37,694 ERROR: Exception on / [GET] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:1414]
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
2026-02-28 22:13:37,732 ERROR: Internal Server Error: 500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
[in /home/renjianbo/aitsc/src/flask_prompt_master/__init__.py:120]
|
||||||
|
2026-02-28 22:15:25,968 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
|
||||||
|
2026-02-28 22:22:12,598 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
|
||||||
|
|||||||
@@ -15200,3 +15200,51 @@
|
|||||||
123.139.40.200 - - [28/Feb/2026:21:30:25 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1112
|
123.139.40.200 - - [28/Feb/2026:21:30:25 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1112
|
||||||
123.139.40.200 - - [28/Feb/2026:21:30:25 +0800] "GET /api/history?per_page=100 HTTP/1.1" 200 151945 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 296286
|
123.139.40.200 - - [28/Feb/2026:21:30:25 +0800] "GET /api/history?per_page=100 HTTP/1.1" 200 151945 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 296286
|
||||||
123.139.40.200 - - [28/Feb/2026:21:35:52 +0800] "GET / HTTP/1.1" 500 420 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 562770
|
123.139.40.200 - - [28/Feb/2026:21:35:52 +0800] "GET / HTTP/1.1" 500 420 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 562770
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:13:21 +0800] "GET / HTTP/1.1" 500 420 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 716161
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:13:37 +0800] "GET / HTTP/1.1" 500 420 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 615441
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:45 +0800] "GET / HTTP/1.1" 200 216259 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 812355
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:45 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 5945
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:45 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 5537
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:50 +0800] "GET /expert-generate-3 HTTP/1.1" 200 31515 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 464685
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:50 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1165
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:50 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 5464
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:56 +0800] "GET /expert-generate-2 HTTP/1.1" 200 31530 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 134570
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:56 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1038
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:15:56 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1101
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:16:50 +0800] "POST /api/expert-generate-2/generate HTTP/1.1" 200 7358 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 35345046
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:16:54 +0800] "POST /api/expert-generate-2/generate HTTP/1.1" 200 7763 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 38867214
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:16:57 +0800] "GET /history HTTP/1.1" 200 40105 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 143707
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:16:57 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1470
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:16:58 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1197
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:16:58 +0800] "GET /api/history?per_page=100 HTTP/1.1" 200 166762 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 328044
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:22:33 +0800] "GET / HTTP/1.1" 200 216259 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 840426
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:22:34 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 7433
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:22:34 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 5456
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:22:36 +0800] "GET /expert-generate-2 HTTP/1.1" 200 31638 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 447631
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:22:36 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1180
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:22:36 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1050
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:23:15 +0800] "POST /api/expert-generate-2/generate HTTP/1.1" 200 5676 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 26666136
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:23:31 +0800] "GET /history HTTP/1.1" 200 40105 "http://101.43.95.130:5002/expert-generate-2" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 487346
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:23:31 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1577
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:23:31 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1007
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:23:32 +0800] "GET /api/history?per_page=100 HTTP/1.1" 200 172261 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 285944
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:24:40 +0800] "GET /expert-generate-3 HTTP/1.1" 200 31623 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 136880
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:24:40 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1391
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:24:40 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 818
|
||||||
|
13.219.248.239 - - [28/Feb/2026:22:26:47 +0800] "HEAD /expert-generate-3 HTTP/1.1" 200 0 "-" "got (https://github.com/sindresorhus/got)" 4167
|
||||||
|
13.219.248.239 - - [28/Feb/2026:22:26:48 +0800] "GET /expert-generate-3 HTTP/1.1" 200 31623 "-" "got (https://github.com/sindresorhus/got)" 198337
|
||||||
|
13.219.248.239 - - [28/Feb/2026:22:26:49 +0800] "GET /expert-generate-3 HTTP/1.1" 200 31623 "-" "got (https://github.com/sindresorhus/got)" 215894
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:28:25 +0800] "GET /expert-generate-3 HTTP/1.1" 200 34731 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 507819
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:28:26 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1282
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:28:26 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1074
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:31:29 +0800] "POST /api/expert-generate-3/generate HTTP/1.1" 200 8334 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 41063840
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:31:48 +0800] "GET /history HTTP/1.1" 200 40105 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 257675
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:31:48 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1372
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:31:48 +0800] "GET /api/check-login HTTP/1.1" 200 95 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 888
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:31:49 +0800] "GET /api/history?per_page=100 HTTP/1.1" 200 180128 "http://101.43.95.130:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 334878
|
||||||
|
123.139.40.200 - - [28/Feb/2026:22:35:55 +0800] "POST /api/expert-generate-3/generate HTTP/1.1" 200 6946 "http://101.43.95.130:5002/expert-generate-3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 39194402
|
||||||
|
206.168.34.39 - - [01/Mar/2026:01:05:05 +0800] "GET / HTTP/1.1" 200 216259 "-" "-" 865654
|
||||||
|
206.168.34.39 - - [01/Mar/2026:01:05:24 +0800] "GET / HTTP/1.1" 200 216259 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1228039
|
||||||
|
206.168.34.39 - - [01/Mar/2026:01:05:25 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 828
|
||||||
|
206.168.34.39 - - [01/Mar/2026:01:05:26 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 806
|
||||||
|
206.168.34.39 - - [01/Mar/2026:01:05:45 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 659
|
||||||
|
|||||||
@@ -10304,3 +10304,286 @@ werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert
|
|||||||
[2026-02-28 21:37:53 +0800] [22289] [INFO] Booting worker with pid: 22289
|
[2026-02-28 21:37:53 +0800] [22289] [INFO] Booting worker with pid: 22289
|
||||||
[2026-02-28 21:37:53 +0800] [22289] [INFO] 工作进程 22289 已启动
|
[2026-02-28 21:37:53 +0800] [22289] [INFO] 工作进程 22289 已启动
|
||||||
[2026-02-28 21:37:53 +0800] [22289] [INFO] 工作进程 22289 初始化完成
|
[2026-02-28 21:37:53 +0800] [22289] [INFO] 工作进程 22289 初始化完成
|
||||||
|
[2026-02-28 22:13:20,966] ERROR in app: Exception on / [GET]
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
[2026-02-28 22:13:21,024] ERROR in __init__: Internal Server Error: 500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
|
||||||
|
[2026-02-28 22:13:25 +0800] [22289] [INFO] Worker exiting (pid: 22289)
|
||||||
|
[2026-02-28 22:13:25 +0800] [22948] [INFO] Handling signal: term
|
||||||
|
[2026-02-28 22:13:25 +0800] [23019] [INFO] Worker exiting (pid: 23019)
|
||||||
|
[2026-02-28 22:13:25 +0800] [23048] [INFO] Worker exiting (pid: 23048)
|
||||||
|
[2026-02-28 22:13:25 +0800] [23049] [INFO] Worker exiting (pid: 23049)
|
||||||
|
[2026-02-28 22:13:25 +0800] [22948] [ERROR] Worker (pid:22289) was sent SIGTERM!
|
||||||
|
[2026-02-28 22:13:37,694] ERROR in app: Exception on / [GET]
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
[2026-02-28 22:13:37,732] ERROR in __init__: Internal Server Error: 500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 2190, in wsgi_app
|
||||||
|
response = self.full_dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1486, in full_dispatch_request
|
||||||
|
rv = self.handle_user_exception(e)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
|
||||||
|
return cors_after_request(app.make_response(f(*args, **kwargs)))
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1484, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1469, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 263, in index
|
||||||
|
return render_template('generate.html', form=form, prompt=None, templates=templates,
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 151, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 132, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 603, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 206, in block 'content'
|
||||||
|
<a href="{{ url_for('expert_generate_3.expert_generate_3_page') }}" class="featured-card">
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1697, in url_for
|
||||||
|
return self.handle_url_build_error(error, endpoint, values)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1686, in url_for
|
||||||
|
rv = url_adapter.build( # type: ignore[union-attr]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 950, in build
|
||||||
|
raise BuildError(endpoint, values, method, self)
|
||||||
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'expert_generate_3.expert_generate_3_page'. Did you mean 'expert_generate_2.expert_generate_2_page' instead?
|
||||||
|
|
||||||
|
[2026-02-28 22:13:37 +0800] [23002] [INFO] Worker exiting (pid: 23002)
|
||||||
|
[2026-02-28 22:13:38 +0800] [22948] [INFO] Shutting down: Master
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] Starting gunicorn 21.2.0
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] Gunicorn服务器启动中...
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] Listening at: http://0.0.0.0:5002 (3489)
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] Using worker: sync
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3677] [INFO] Booting worker with pid: 3677
|
||||||
|
[2026-02-28 22:15:28 +0800] [3677] [INFO] 工作进程 3677 已启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3677] [INFO] 工作进程 3677 初始化完成
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3678] [INFO] Booting worker with pid: 3678
|
||||||
|
[2026-02-28 22:15:28 +0800] [3678] [INFO] 工作进程 3678 已启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3678] [INFO] 工作进程 3678 初始化完成
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3679] [INFO] Booting worker with pid: 3679
|
||||||
|
[2026-02-28 22:15:28 +0800] [3679] [INFO] 工作进程 3679 已启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3679] [INFO] 工作进程 3679 初始化完成
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3680] [INFO] Booting worker with pid: 3680
|
||||||
|
[2026-02-28 22:15:28 +0800] [3680] [INFO] 工作进程 3680 已启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3680] [INFO] 工作进程 3680 初始化完成
|
||||||
|
[2026-02-28 22:15:28 +0800] [3489] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3681] [INFO] Booting worker with pid: 3681
|
||||||
|
[2026-02-28 22:15:28 +0800] [3681] [INFO] 工作进程 3681 已启动
|
||||||
|
[2026-02-28 22:15:28 +0800] [3681] [INFO] 工作进程 3681 初始化完成
|
||||||
|
[2026-02-28 22:20:50 +0800] [3489] [INFO] Handling signal: term
|
||||||
|
[2026-02-28 22:20:50 +0800] [3677] [INFO] Worker exiting (pid: 3677)
|
||||||
|
[2026-02-28 22:20:50 +0800] [3679] [INFO] Worker exiting (pid: 3679)
|
||||||
|
[2026-02-28 22:20:50 +0800] [3678] [INFO] Worker exiting (pid: 3678)
|
||||||
|
[2026-02-28 22:20:50 +0800] [3680] [INFO] Worker exiting (pid: 3680)
|
||||||
|
[2026-02-28 22:20:50 +0800] [3681] [INFO] Worker exiting (pid: 3681)
|
||||||
|
[2026-02-28 22:20:51 +0800] [3489] [INFO] Shutting down: Master
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] Starting gunicorn 21.2.0
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] Gunicorn服务器启动中...
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] Listening at: http://0.0.0.0:5002 (31755)
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] Using worker: sync
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [689] [INFO] Booting worker with pid: 689
|
||||||
|
[2026-02-28 22:22:15 +0800] [689] [INFO] 工作进程 689 已启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [689] [INFO] 工作进程 689 初始化完成
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [696] [INFO] Booting worker with pid: 696
|
||||||
|
[2026-02-28 22:22:15 +0800] [696] [INFO] 工作进程 696 已启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [696] [INFO] 工作进程 696 初始化完成
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [741] [INFO] Booting worker with pid: 741
|
||||||
|
[2026-02-28 22:22:15 +0800] [741] [INFO] 工作进程 741 已启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [741] [INFO] 工作进程 741 初始化完成
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [785] [INFO] Booting worker with pid: 785
|
||||||
|
[2026-02-28 22:22:15 +0800] [785] [INFO] 工作进程 785 已启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [785] [INFO] 工作进程 785 初始化完成
|
||||||
|
[2026-02-28 22:22:15 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [831] [INFO] Booting worker with pid: 831
|
||||||
|
[2026-02-28 22:22:15 +0800] [831] [INFO] 工作进程 831 已启动
|
||||||
|
[2026-02-28 22:22:15 +0800] [831] [INFO] 工作进程 831 初始化完成
|
||||||
|
[2026-02-28 22:35:12 +0800] [31755] [CRITICAL] WORKER TIMEOUT (pid:689)
|
||||||
|
[2026-02-28 22:35:12 +0800] [689] [INFO] 工作进程 689 异常退出
|
||||||
|
[2026-02-28 22:35:12 +0800] [689] [INFO] Worker exiting (pid: 689)
|
||||||
|
[2026-02-28 22:35:12 +0800] [31755] [ERROR] Worker (pid:689) exited with code 1
|
||||||
|
[2026-02-28 22:35:12 +0800] [31755] [ERROR] Worker (pid:689) exited with code 1.
|
||||||
|
[2026-02-28 22:35:12 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-02-28 22:35:12 +0800] [5280] [INFO] Booting worker with pid: 5280
|
||||||
|
[2026-02-28 22:35:12 +0800] [5280] [INFO] 工作进程 5280 已启动
|
||||||
|
[2026-02-28 22:35:12 +0800] [5280] [INFO] 工作进程 5280 初始化完成
|
||||||
|
[2026-03-01 01:06:55 +0800] [31755] [CRITICAL] WORKER TIMEOUT (pid:5280)
|
||||||
|
[2026-03-01 01:06:55 +0800] [5280] [INFO] 工作进程 5280 异常退出
|
||||||
|
[2026-03-01 01:06:55 +0800] [5280] [INFO] Worker exiting (pid: 5280)
|
||||||
|
[2026-03-01 01:06:56 +0800] [31755] [ERROR] Worker (pid:5280) exited with code 1
|
||||||
|
[2026-03-01 01:06:56 +0800] [31755] [ERROR] Worker (pid:5280) exited with code 1.
|
||||||
|
[2026-03-01 01:06:56 +0800] [31755] [INFO] 工作进程 [booting] 即将启动
|
||||||
|
[2026-03-01 01:06:56 +0800] [27142] [INFO] Booting worker with pid: 27142
|
||||||
|
[2026-03-01 01:06:56 +0800] [27142] [INFO] 工作进程 27142 已启动
|
||||||
|
[2026-03-01 01:06:56 +0800] [27142] [INFO] 工作进程 27142 初始化完成
|
||||||
|
[2026-03-01 02:01:44 +0800] [27142] [INFO] Worker exiting (pid: 27142)
|
||||||
|
[2026-03-01 02:01:44 +0800] [831] [INFO] Worker exiting (pid: 831)
|
||||||
|
[2026-03-01 02:01:44 +0800] [696] [INFO] Worker exiting (pid: 696)
|
||||||
|
[2026-03-01 02:01:44 +0800] [785] [INFO] Worker exiting (pid: 785)
|
||||||
|
[2026-03-01 02:01:44 +0800] [741] [INFO] Worker exiting (pid: 741)
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [INFO] Handling signal: term
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [ERROR] Worker (pid:785) was sent SIGTERM!
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [ERROR] Worker (pid:741) was sent SIGTERM!
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [ERROR] Worker (pid:27142) was sent SIGTERM!
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [ERROR] Worker (pid:696) was sent SIGTERM!
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [ERROR] Worker (pid:831) was sent SIGTERM!
|
||||||
|
[2026-03-01 02:01:44 +0800] [31755] [INFO] Shutting down: Master
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -5,15 +5,18 @@
|
|||||||
"""
|
"""
|
||||||
from flask import Blueprint, render_template, request, jsonify
|
from flask import Blueprint, render_template, request, jsonify
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
|
import hashlib
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import time
|
||||||
from src.flask_prompt_master import db
|
from src.flask_prompt_master import db
|
||||||
from src.flask_prompt_master.models.models import User, Prompt
|
from src.flask_prompt_master.models.models import User, Prompt
|
||||||
from src.flask_prompt_master.models.history_models import PromptHistory, UserStatistics
|
from src.flask_prompt_master.models.history_models import PromptHistory, UserStatistics
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
expert_generate_2_bp = Blueprint('expert_generate_2', __name__)
|
expert_generate_2_bp = Blueprint('expert_generate_2', __name__)
|
||||||
|
_dedup_cache = {}
|
||||||
|
|
||||||
client = OpenAI(
|
client = OpenAI(
|
||||||
api_key=os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc',
|
api_key=os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc',
|
||||||
@@ -154,6 +157,15 @@ def expert_generate_2_api():
|
|||||||
if not user_input:
|
if not user_input:
|
||||||
return jsonify({'code': 400, 'message': '请输入您的需求', 'data': None})
|
return jsonify({'code': 400, 'message': '请输入您的需求', 'data': None})
|
||||||
|
|
||||||
|
uid = _get_user_id()
|
||||||
|
req_key = (uid, hashlib.md5(user_input.encode()).hexdigest())
|
||||||
|
now_ts = time.time()
|
||||||
|
if req_key in _dedup_cache and (now_ts - _dedup_cache[req_key]) < 8:
|
||||||
|
return jsonify({'code': 429, 'message': '请勿重复提交,请稍后再试', 'data': None})
|
||||||
|
_dedup_cache[req_key] = now_ts
|
||||||
|
if len(_dedup_cache) > 500:
|
||||||
|
_dedup_cache.clear()
|
||||||
|
|
||||||
# 第一阶段:意图分析
|
# 第一阶段:意图分析
|
||||||
intent_response = client.chat.completions.create(
|
intent_response = client.chat.completions.create(
|
||||||
model="deepseek-chat",
|
model="deepseek-chat",
|
||||||
@@ -206,7 +218,7 @@ def expert_generate_2_api():
|
|||||||
if not generated_prompt:
|
if not generated_prompt:
|
||||||
return jsonify({'code': 500, 'message': '生成失败,请重试', 'data': None})
|
return jsonify({'code': 500, 'message': '生成失败,请重试', 'data': None})
|
||||||
|
|
||||||
user_id = _get_user_id()
|
user_id = uid
|
||||||
try:
|
try:
|
||||||
p = Prompt(input_text=user_input, generated_text=generated_prompt, user_id=user_id)
|
p = Prompt(input_text=user_input, generated_text=generated_prompt, user_id=user_id)
|
||||||
db.session.add(p)
|
db.session.add(p)
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"""
|
"""
|
||||||
from flask import Blueprint, render_template, request, jsonify
|
from flask import Blueprint, render_template, request, jsonify
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
|
import hashlib
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import time
|
||||||
from src.flask_prompt_master import db
|
from src.flask_prompt_master import db
|
||||||
from src.flask_prompt_master.models.models import User, Prompt
|
from src.flask_prompt_master.models.models import User, Prompt
|
||||||
from src.flask_prompt_master.models.history_models import PromptHistory, UserStatistics
|
from src.flask_prompt_master.models.history_models import PromptHistory, UserStatistics
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
expert_generate_3_bp = Blueprint('expert_generate_3', __name__)
|
expert_generate_3_bp = Blueprint('expert_generate_3', __name__)
|
||||||
|
_dedup_cache = {}
|
||||||
|
|
||||||
_llm_client = OpenAI(
|
_llm_client = OpenAI(
|
||||||
api_key=os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc',
|
api_key=os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc',
|
||||||
@@ -153,6 +156,26 @@ def expert_generate_3_api():
|
|||||||
raw_input = (payload.get('input_text') or '').strip()
|
raw_input = (payload.get('input_text') or '').strip()
|
||||||
if not raw_input:
|
if not raw_input:
|
||||||
return jsonify({'code': 400, 'message': '请输入您的需求', 'data': None})
|
return jsonify({'code': 400, 'message': '请输入您的需求', 'data': None})
|
||||||
|
|
||||||
|
temperature = payload.get('temperature')
|
||||||
|
temperature = float(temperature) if temperature is not None else 0.7
|
||||||
|
temperature = max(0.0, min(2.0, temperature))
|
||||||
|
max_tokens = payload.get('max_tokens')
|
||||||
|
max_tokens = int(max_tokens) if max_tokens is not None else 1000
|
||||||
|
max_tokens = max(100, min(4000, max_tokens))
|
||||||
|
timeout = payload.get('timeout')
|
||||||
|
timeout = int(timeout) if timeout is not None else 60
|
||||||
|
timeout = max(10, min(300, timeout))
|
||||||
|
|
||||||
|
uid = _resolve_user_id()
|
||||||
|
req_key = (uid, hashlib.md5(raw_input.encode()).hexdigest())
|
||||||
|
now_ts = time.time()
|
||||||
|
if req_key in _dedup_cache and (now_ts - _dedup_cache[req_key]) < 8:
|
||||||
|
return jsonify({'code': 429, 'message': '请勿重复提交,请稍后再试', 'data': None})
|
||||||
|
_dedup_cache[req_key] = now_ts
|
||||||
|
if len(_dedup_cache) > 500:
|
||||||
|
_dedup_cache.clear()
|
||||||
|
|
||||||
resp1 = _llm_client.chat.completions.create(
|
resp1 = _llm_client.chat.completions.create(
|
||||||
model="deepseek-chat",
|
model="deepseek-chat",
|
||||||
messages=[
|
messages=[
|
||||||
@@ -160,7 +183,7 @@ def expert_generate_3_api():
|
|||||||
{"role": "user", "content": raw_input}
|
{"role": "user", "content": raw_input}
|
||||||
],
|
],
|
||||||
temperature=0.1,
|
temperature=0.1,
|
||||||
timeout=60
|
timeout=timeout
|
||||||
)
|
)
|
||||||
intent_raw = (resp1.choices[0].message.content or "").strip()
|
intent_raw = (resp1.choices[0].message.content or "").strip()
|
||||||
intent_raw = intent_raw.replace('```json', '').replace('```', '').strip()
|
intent_raw = intent_raw.replace('```json', '').replace('```', '').strip()
|
||||||
@@ -189,14 +212,13 @@ def expert_generate_3_api():
|
|||||||
{"role": "system", "content": tpl.format(analysis=analysis_str)},
|
{"role": "system", "content": tpl.format(analysis=analysis_str)},
|
||||||
{"role": "user", "content": raw_input}
|
{"role": "user", "content": raw_input}
|
||||||
],
|
],
|
||||||
temperature=0.7,
|
temperature=temperature,
|
||||||
max_tokens=1000,
|
max_tokens=max_tokens,
|
||||||
timeout=60
|
timeout=timeout
|
||||||
)
|
)
|
||||||
result_prompt = (resp2.choices[0].message.content or "").strip()
|
result_prompt = (resp2.choices[0].message.content or "").strip()
|
||||||
if not result_prompt:
|
if not result_prompt:
|
||||||
return jsonify({'code': 500, 'message': '生成失败,请重试', 'data': None})
|
return jsonify({'code': 500, 'message': '生成失败,请重试', 'data': None})
|
||||||
uid = _resolve_user_id()
|
|
||||||
try:
|
try:
|
||||||
db.session.add(Prompt(input_text=raw_input, generated_text=result_prompt, user_id=uid))
|
db.session.add(Prompt(input_text=raw_input, generated_text=result_prompt, user_id=uid))
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|||||||
@@ -80,13 +80,16 @@
|
|||||||
<script>
|
<script>
|
||||||
document.getElementById('expertPromptForm').addEventListener('submit', async function(e) {
|
document.getElementById('expertPromptForm').addEventListener('submit', async function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
var form = e.target;
|
||||||
|
if (form.dataset.submitting === '1') return;
|
||||||
|
form.dataset.submitting = '1';
|
||||||
|
var generateBtn = document.getElementById('generateBtn');
|
||||||
|
generateBtn.disabled = true;
|
||||||
var input_text = document.getElementById('input_text').value.trim();
|
var input_text = document.getElementById('input_text').value.trim();
|
||||||
var loadingIndicator = document.getElementById('loadingIndicator');
|
var loadingIndicator = document.getElementById('loadingIndicator');
|
||||||
var resultCard = document.getElementById('resultCard');
|
var resultCard = document.getElementById('resultCard');
|
||||||
var generateBtn = document.getElementById('generateBtn');
|
if (!input_text) { form.dataset.submitting = ''; generateBtn.disabled = false; alert('请输入您的需求'); return; }
|
||||||
if (!input_text) { alert('请输入您的需求'); return; }
|
|
||||||
loadingIndicator.classList.remove('d-none');
|
loadingIndicator.classList.remove('d-none');
|
||||||
generateBtn.disabled = true;
|
|
||||||
resultCard.classList.add('d-none');
|
resultCard.classList.add('d-none');
|
||||||
try {
|
try {
|
||||||
var response = await fetch('/api/expert-generate-2/generate', {
|
var response = await fetch('/api/expert-generate-2/generate', {
|
||||||
@@ -114,6 +117,7 @@ document.getElementById('expertPromptForm').addEventListener('submit', async fun
|
|||||||
} finally {
|
} finally {
|
||||||
loadingIndicator.classList.add('d-none');
|
loadingIndicator.classList.add('d-none');
|
||||||
generateBtn.disabled = false;
|
generateBtn.disabled = false;
|
||||||
|
form.dataset.submitting = '';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
function copyToClipboard(text) {
|
function copyToClipboard(text) {
|
||||||
|
|||||||
@@ -22,6 +22,32 @@
|
|||||||
<textarea class="form-control" id="input_text" name="input_text" rows="4" required></textarea>
|
<textarea class="form-control" id="input_text" name="input_text" rows="4" required></textarea>
|
||||||
<div class="form-text">详细描述您的需求,系统将进行专业分析并生成高质量提示词</div>
|
<div class="form-text">详细描述您的需求,系统将进行专业分析并生成高质量提示词</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<button class="btn btn-link btn-sm p-0 text-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#advancedSettings" aria-expanded="false">
|
||||||
|
<i class="fas fa-sliders-h me-1"></i>高级参数
|
||||||
|
</button>
|
||||||
|
<div class="collapse mt-2" id="advancedSettings">
|
||||||
|
<div class="card card-body bg-light">
|
||||||
|
<div class="row g-2">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label for="paramTemperature" class="form-label small">temperature</label>
|
||||||
|
<input type="number" class="form-control form-control-sm" id="paramTemperature" value="0.7" min="0" max="2" step="0.1" title="生成随机性,0更确定,2更随机">
|
||||||
|
<div class="form-text small">0–2,默认0.7</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label for="paramMaxTokens" class="form-label small">max_tokens</label>
|
||||||
|
<input type="number" class="form-control form-control-sm" id="paramMaxTokens" value="1000" min="100" max="4000" step="100" title="最大生成 token 数">
|
||||||
|
<div class="form-text small">100–4000,默认1000</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label for="paramTimeout" class="form-label small">timeout(秒)</label>
|
||||||
|
<input type="number" class="form-control form-control-sm" id="paramTimeout" value="60" min="10" max="300" step="10" title="请求超时时间">
|
||||||
|
<div class="form-text small">10–300秒,默认60</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<button type="submit" class="btn btn-primary" id="generateBtn">
|
<button type="submit" class="btn btn-primary" id="generateBtn">
|
||||||
<i class="fas fa-magic"></i> 生成专家提示词
|
<i class="fas fa-magic"></i> 生成专家提示词
|
||||||
</button>
|
</button>
|
||||||
@@ -80,19 +106,30 @@
|
|||||||
<script>
|
<script>
|
||||||
document.getElementById('expertForm3').addEventListener('submit', async function(e) {
|
document.getElementById('expertForm3').addEventListener('submit', async function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
var form = e.target;
|
||||||
|
if (form.dataset.submitting === '1') return;
|
||||||
|
form.dataset.submitting = '1';
|
||||||
|
var generateBtn = document.getElementById('generateBtn');
|
||||||
|
generateBtn.disabled = true;
|
||||||
var input_text = document.getElementById('input_text').value.trim();
|
var input_text = document.getElementById('input_text').value.trim();
|
||||||
var loadingIndicator = document.getElementById('loadingIndicator');
|
var loadingIndicator = document.getElementById('loadingIndicator');
|
||||||
var resultCard = document.getElementById('resultCard');
|
var resultCard = document.getElementById('resultCard');
|
||||||
var generateBtn = document.getElementById('generateBtn');
|
var temperature = parseFloat(document.getElementById('paramTemperature').value) || 0.7;
|
||||||
if (!input_text) { alert('请输入您的需求'); return; }
|
var maxTokens = parseInt(document.getElementById('paramMaxTokens').value, 10) || 1000;
|
||||||
|
var timeout = parseInt(document.getElementById('paramTimeout').value, 10) || 60;
|
||||||
|
if (!input_text) { form.dataset.submitting = ''; generateBtn.disabled = false; alert('请输入您的需求'); return; }
|
||||||
loadingIndicator.classList.remove('d-none');
|
loadingIndicator.classList.remove('d-none');
|
||||||
generateBtn.disabled = true;
|
|
||||||
resultCard.classList.add('d-none');
|
resultCard.classList.add('d-none');
|
||||||
try {
|
try {
|
||||||
var response = await fetch('/api/expert-generate-3/generate', {
|
var response = await fetch('/api/expert-generate-3/generate', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ input_text: input_text })
|
body: JSON.stringify({
|
||||||
|
input_text: input_text,
|
||||||
|
temperature: temperature,
|
||||||
|
max_tokens: maxTokens,
|
||||||
|
timeout: timeout
|
||||||
|
})
|
||||||
});
|
});
|
||||||
var data = await response.json();
|
var data = await response.json();
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
@@ -114,6 +151,7 @@ document.getElementById('expertForm3').addEventListener('submit', async function
|
|||||||
} finally {
|
} finally {
|
||||||
loadingIndicator.classList.add('d-none');
|
loadingIndicator.classList.add('d-none');
|
||||||
generateBtn.disabled = false;
|
generateBtn.disabled = false;
|
||||||
|
form.dataset.submitting = '';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
function copyToClipboard(text) {
|
function copyToClipboard(text) {
|
||||||
|
|||||||
Reference in New Issue
Block a user