Calling the "OpenAI Compatible Dify App" plugin returns a 500 error. #16990

Closed
opened 2026-02-21 19:29:57 -05:00 by yindo · 0 comments
Owner

Originally created by @paranoiagu on GitHub (Sep 9, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.8.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

from openai import OpenAI

client = OpenAI(
    api_key="app-xxxxxx",
    base_url="http://xxxxxx/e/vl31f92ojcsjoqzd",
)
completion = client.chat.completions.create(
    model="dify",
    messages=[{
      'role': 'user',
      'content': 'xxxxxx?',
    }],
    temperature=0.7,
    max_tokens=4096
)

✔️ Expected Behavior

return message

Actual Behavior

got error message:

openai.InternalServerError: Error: invoke app failed: request failed with status code: 500 and respond with: {"message":"Internal Server Error","code":"unknown","status":500}

here is the dify api error log:

api-1  | 2025-09-09 08:53:30.958 ERROR [Dummy-2] [app.py:875] - Exception on /inner/api/invoke/app [POST]
api-1  | Traceback (most recent call last):
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
api-1  |     rv = self.dispatch_request()
api-1  |          ^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
api-1  |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/flask_restx/api.py", line 402, in wrapper
api-1  |     resp = resource(*args, **kwargs)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/flask/views.py", line 110, in view
api-1  |     return current_app.ensure_sync(self.dispatch_request)(**kwargs)  # type: ignore[no-any-return]
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/flask_restx/resource.py", line 41, in dispatch_request
api-1  |     resp = meth(*args, **kwargs)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/controllers/console/wraps.py", line 210, in decorated
api-1  |     return view(*args, **kwargs)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/controllers/inner_api/wraps.py", line 96, in decorated
api-1  |     return view(*args, **kwargs)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/controllers/inner_api/plugin/wraps.py", line 93, in decorated_view
api-1  |     return view_func(*args, **kwargs)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/controllers/inner_api/plugin/wraps.py", line 117, in decorated_view
api-1  |     return view_func(*args, **kwargs)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/controllers/inner_api/plugin/plugin.py", line 335, in post
api-1  |     response = PluginAppBackwardsInvocation.invoke_app(
api-1  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/core/plugin/backwards_invocation/app.py", line 76, in invoke_app
api-1  |     return cls.invoke_chat_app(app, user, conversation_id, query, stream, inputs, files)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/core/plugin/backwards_invocation/app.py", line 103, in invoke_chat_app
api-1  |     return AdvancedChatAppGenerator().generate(
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/core/app/apps/advanced_chat/app_generator.py", line 205, in generate
api-1  |     return self._generate(
api-1  |            ^^^^^^^^^^^^^^^
api-1  |   File "/app/api/core/app/apps/advanced_chat/app_generator.py", line 460, in _generate
api-1  |     response = self._handle_advanced_chat_response(
api-1  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/core/app/apps/advanced_chat/app_generator.py", line 589, in _handle_advanced_chat_response
api-1  |     generate_task_pipeline = AdvancedChatAppGenerateTaskPipeline(
api-1  |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/core/app/apps/advanced_chat/generate_task_pipeline.py", line 112, in __init__
api-1  |     self._user_id = user.id
api-1  |                     ^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 566, in __get__
api-1  |     return self.impl.get(state, dict_)  # type: ignore[no-any-return]
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1086, in get
api-1  |     value = self._fire_loader_callables(state, key, passive)
api-1  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1116, in _fire_loader_callables
api-1  |     return state._load_expired(state, passive)
api-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 803, in _load_expired
api-1  |     self.manager.expired_attribute_loader(self, toload, passive)
api-1  |   File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 1603, in load_scalar_attributes
api-1  |     raise orm_exc.DetachedInstanceError(
api-1  | sqlalchemy.orm.exc.DetachedInstanceError: Instance <EndUser at 0x7f26737db410> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)

Originally created by @paranoiagu on GitHub (Sep 9, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.8.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce ``` from openai import OpenAI client = OpenAI( api_key="app-xxxxxx", base_url="http://xxxxxx/e/vl31f92ojcsjoqzd", ) completion = client.chat.completions.create( model="dify", messages=[{ 'role': 'user', 'content': 'xxxxxx?', }], temperature=0.7, max_tokens=4096 ) ``` ### ✔️ Expected Behavior return message ### ❌ Actual Behavior got error message: ``` openai.InternalServerError: Error: invoke app failed: request failed with status code: 500 and respond with: {"message":"Internal Server Error","code":"unknown","status":500} ``` here is the dify api error log: ``` api-1 | 2025-09-09 08:53:30.958 ERROR [Dummy-2] [app.py:875] - Exception on /inner/api/invoke/app [POST] api-1 | Traceback (most recent call last): api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request api-1 | rv = self.dispatch_request() api-1 | ^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request api-1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask_restx/api.py", line 402, in wrapper api-1 | resp = resource(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask/views.py", line 110, in view api-1 | return current_app.ensure_sync(self.dispatch_request)(**kwargs) # type: ignore[no-any-return] api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask_restx/resource.py", line 41, in dispatch_request api-1 | resp = meth(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/console/wraps.py", line 210, in decorated api-1 | return view(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/inner_api/wraps.py", line 96, in decorated api-1 | return view(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/inner_api/plugin/wraps.py", line 93, in decorated_view api-1 | return view_func(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/inner_api/plugin/wraps.py", line 117, in decorated_view api-1 | return view_func(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/inner_api/plugin/plugin.py", line 335, in post api-1 | response = PluginAppBackwardsInvocation.invoke_app( api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/plugin/backwards_invocation/app.py", line 76, in invoke_app api-1 | return cls.invoke_chat_app(app, user, conversation_id, query, stream, inputs, files) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/plugin/backwards_invocation/app.py", line 103, in invoke_chat_app api-1 | return AdvancedChatAppGenerator().generate( api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/app/apps/advanced_chat/app_generator.py", line 205, in generate api-1 | return self._generate( api-1 | ^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/app/apps/advanced_chat/app_generator.py", line 460, in _generate api-1 | response = self._handle_advanced_chat_response( api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/app/apps/advanced_chat/app_generator.py", line 589, in _handle_advanced_chat_response api-1 | generate_task_pipeline = AdvancedChatAppGenerateTaskPipeline( api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/app/apps/advanced_chat/generate_task_pipeline.py", line 112, in __init__ api-1 | self._user_id = user.id api-1 | ^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 566, in __get__ api-1 | return self.impl.get(state, dict_) # type: ignore[no-any-return] api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1086, in get api-1 | value = self._fire_loader_callables(state, key, passive) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1116, in _fire_loader_callables api-1 | return state._load_expired(state, passive) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 803, in _load_expired api-1 | self.manager.expired_attribute_loader(self, toload, passive) api-1 | File "/app/api/.venv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 1603, in load_scalar_attributes api-1 | raise orm_exc.DetachedInstanceError( api-1 | sqlalchemy.orm.exc.DetachedInstanceError: Instance <EndUser at 0x7f26737db410> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) ```
yindo added the 🐞 bug label 2026-02-21 19:29:57 -05:00
yindo closed this issue 2026-02-21 19:29:57 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16990