__init__.py 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. from flask import Blueprint
  2. from libs.external_api import ExternalApi
  3. from .app.app_import import AppImportApi, AppImportConfirmApi
  4. from .explore.audio import ChatAudioApi, ChatTextApi
  5. from .explore.completion import ChatApi, ChatStopApi, CompletionApi, CompletionStopApi
  6. from .explore.conversation import (
  7. ConversationApi,
  8. ConversationListApi,
  9. ConversationPinApi,
  10. ConversationRenameApi,
  11. ConversationUnPinApi,
  12. )
  13. from .explore.message import (
  14. MessageFeedbackApi,
  15. MessageListApi,
  16. MessageMoreLikeThisApi,
  17. MessageSuggestedQuestionApi,
  18. )
  19. from .explore.workflow import (
  20. InstalledAppWorkflowRunApi,
  21. InstalledAppWorkflowTaskStopApi,
  22. )
  23. from .files import FileApi, FilePreviewApi, FileSupportTypeApi
  24. from .remote_files import RemoteFileInfoApi, RemoteFileUploadApi
  25. bp = Blueprint("console", __name__, url_prefix="/console/api")
  26. api = ExternalApi(bp)
  27. # File
  28. api.add_resource(FileApi, "/files/upload")
  29. api.add_resource(FilePreviewApi, "/files/<uuid:file_id>/preview")
  30. api.add_resource(FileSupportTypeApi, "/files/support-type")
  31. # Remote files
  32. api.add_resource(RemoteFileInfoApi, "/remote-files/<path:url>")
  33. api.add_resource(RemoteFileUploadApi, "/remote-files/upload")
  34. # Import App
  35. api.add_resource(AppImportApi, "/apps/imports")
  36. api.add_resource(AppImportConfirmApi, "/apps/imports/<string:import_id>/confirm")
  37. # Import other controllers
  38. from . import admin, apikey, extension, feature, ping, setup, version
  39. # Import app controllers
  40. from .app import (
  41. advanced_prompt_template,
  42. agent,
  43. annotation,
  44. app,
  45. audio,
  46. completion,
  47. conversation,
  48. conversation_variables,
  49. generator,
  50. message,
  51. model_config,
  52. ops_trace,
  53. site,
  54. statistic,
  55. workflow,
  56. workflow_app_log,
  57. workflow_run,
  58. workflow_statistic,
  59. )
  60. # Import auth controllers
  61. from .auth import activate, data_source_bearer_auth, data_source_oauth, forgot_password, login, oauth
  62. # Import billing controllers
  63. from .billing import billing
  64. # Import datasets controllers
  65. from .datasets import (
  66. data_source,
  67. datasets,
  68. datasets_document,
  69. datasets_segments,
  70. external,
  71. hit_testing,
  72. website,
  73. )
  74. # Import explore controllers
  75. from .explore import (
  76. installed_app,
  77. parameter,
  78. recommended_app,
  79. saved_message,
  80. )
  81. # Explore Audio
  82. api.add_resource(ChatAudioApi, "/installed-apps/<uuid:installed_app_id>/audio-to-text", endpoint="installed_app_audio")
  83. api.add_resource(ChatTextApi, "/installed-apps/<uuid:installed_app_id>/text-to-audio", endpoint="installed_app_text")
  84. # Explore Completion
  85. api.add_resource(
  86. CompletionApi, "/installed-apps/<uuid:installed_app_id>/completion-messages", endpoint="installed_app_completion"
  87. )
  88. api.add_resource(
  89. CompletionStopApi,
  90. "/installed-apps/<uuid:installed_app_id>/completion-messages/<string:task_id>/stop",
  91. endpoint="installed_app_stop_completion",
  92. )
  93. api.add_resource(
  94. ChatApi, "/installed-apps/<uuid:installed_app_id>/chat-messages", endpoint="installed_app_chat_completion"
  95. )
  96. api.add_resource(
  97. ChatStopApi,
  98. "/installed-apps/<uuid:installed_app_id>/chat-messages/<string:task_id>/stop",
  99. endpoint="installed_app_stop_chat_completion",
  100. )
  101. # Explore Conversation
  102. api.add_resource(
  103. ConversationRenameApi,
  104. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/name",
  105. endpoint="installed_app_conversation_rename",
  106. )
  107. api.add_resource(
  108. ConversationListApi, "/installed-apps/<uuid:installed_app_id>/conversations", endpoint="installed_app_conversations"
  109. )
  110. api.add_resource(
  111. ConversationApi,
  112. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>",
  113. endpoint="installed_app_conversation",
  114. )
  115. api.add_resource(
  116. ConversationPinApi,
  117. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/pin",
  118. endpoint="installed_app_conversation_pin",
  119. )
  120. api.add_resource(
  121. ConversationUnPinApi,
  122. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/unpin",
  123. endpoint="installed_app_conversation_unpin",
  124. )
  125. # Explore Message
  126. api.add_resource(MessageListApi, "/installed-apps/<uuid:installed_app_id>/messages", endpoint="installed_app_messages")
  127. api.add_resource(
  128. MessageFeedbackApi,
  129. "/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/feedbacks",
  130. endpoint="installed_app_message_feedback",
  131. )
  132. api.add_resource(
  133. MessageMoreLikeThisApi,
  134. "/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/more-like-this",
  135. endpoint="installed_app_more_like_this",
  136. )
  137. api.add_resource(
  138. MessageSuggestedQuestionApi,
  139. "/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/suggested-questions",
  140. endpoint="installed_app_suggested_question",
  141. )
  142. # Explore Workflow
  143. api.add_resource(InstalledAppWorkflowRunApi, "/installed-apps/<uuid:installed_app_id>/workflows/run")
  144. api.add_resource(
  145. InstalledAppWorkflowTaskStopApi, "/installed-apps/<uuid:installed_app_id>/workflows/tasks/<string:task_id>/stop"
  146. )
  147. # Import tag controllers
  148. from .tag import tags
  149. # Import workspace controllers
  150. from .workspace import account, load_balancing_config, members, model_providers, models, tool_providers, workspace