application_chat_record.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: application_chat_record.py
  6. @date:2025/6/10 15:19
  7. @desc:
  8. """
  9. from django.utils.translation import gettext_lazy as _
  10. from drf_spectacular.types import OpenApiTypes
  11. from drf_spectacular.utils import OpenApiParameter
  12. from application.serializers.application_chat_record import ApplicationChatRecordAddKnowledgeSerializer, \
  13. ApplicationChatRecordImproveInstanceSerializer
  14. from common.mixins.api_mixin import APIMixin
  15. class ApplicationChatRecordQueryAPI(APIMixin):
  16. @staticmethod
  17. def get_response():
  18. pass
  19. @staticmethod
  20. def get_request():
  21. pass
  22. @staticmethod
  23. def get_parameters():
  24. return [
  25. OpenApiParameter(
  26. name="workspace_id",
  27. description="工作空间id",
  28. type=OpenApiTypes.STR,
  29. location='path',
  30. required=True,
  31. ),
  32. OpenApiParameter(
  33. name="application_id",
  34. description="Application ID",
  35. type=OpenApiTypes.STR,
  36. location='path',
  37. required=True,
  38. ),
  39. OpenApiParameter(
  40. name="chat_id",
  41. description=_("Chat ID"),
  42. type=OpenApiTypes.STR,
  43. location='path',
  44. required=True,
  45. ),
  46. OpenApiParameter(
  47. name="order_asc",
  48. description=_("Is it in order"),
  49. type=OpenApiTypes.BOOL,
  50. required=True,
  51. )
  52. ]
  53. class ApplicationChatRecordPageQueryAPI(APIMixin):
  54. @staticmethod
  55. def get_response():
  56. pass
  57. @staticmethod
  58. def get_request():
  59. pass
  60. @staticmethod
  61. def get_parameters():
  62. return [*ApplicationChatRecordQueryAPI.get_parameters(),
  63. OpenApiParameter(
  64. name="current_page",
  65. description=_("Current page"),
  66. type=OpenApiTypes.INT,
  67. location='path',
  68. required=True,
  69. ),
  70. OpenApiParameter(
  71. name="page_size",
  72. description=_("Page size"),
  73. type=OpenApiTypes.INT,
  74. location='path',
  75. required=True,
  76. )]
  77. class ApplicationChatRecordImproveParagraphAPI(APIMixin):
  78. @staticmethod
  79. def get_response():
  80. pass
  81. @staticmethod
  82. def get_request():
  83. return ApplicationChatRecordImproveInstanceSerializer
  84. @staticmethod
  85. def get_parameters():
  86. return [OpenApiParameter(
  87. name="workspace_id",
  88. description="工作空间id",
  89. type=OpenApiTypes.STR,
  90. location='path',
  91. required=True,
  92. ),
  93. OpenApiParameter(
  94. name="application_id",
  95. description="Application ID",
  96. type=OpenApiTypes.STR,
  97. location='path',
  98. required=True,
  99. ),
  100. OpenApiParameter(
  101. name="chat_id",
  102. description=_("Chat ID"),
  103. type=OpenApiTypes.STR,
  104. location='path',
  105. required=True,
  106. ),
  107. OpenApiParameter(
  108. name="chat_record_id",
  109. description=_("Chat Record ID"),
  110. type=OpenApiTypes.STR,
  111. location='path',
  112. required=True,
  113. ),
  114. OpenApiParameter(
  115. name="knowledge_id",
  116. description=_("Knowledge ID"),
  117. type=OpenApiTypes.STR,
  118. location='path',
  119. required=True,
  120. ),
  121. OpenApiParameter(
  122. name="document_id",
  123. description=_("Document ID"),
  124. type=OpenApiTypes.STR,
  125. location='path',
  126. required=True,
  127. )
  128. ]
  129. class Operate(APIMixin):
  130. @staticmethod
  131. def get_parameters():
  132. return [*ApplicationChatRecordImproveParagraphAPI.get_parameters(), OpenApiParameter(
  133. name="paragraph_id",
  134. description=_("Paragraph ID"),
  135. type=OpenApiTypes.STR,
  136. location='path',
  137. required=True,
  138. )]
  139. class ApplicationChatRecordAddKnowledgeAPI(APIMixin):
  140. @staticmethod
  141. def get_request():
  142. return ApplicationChatRecordAddKnowledgeSerializer
  143. @staticmethod
  144. def get_response():
  145. return None
  146. @staticmethod
  147. def get_parameters():
  148. return [
  149. OpenApiParameter(
  150. name="workspace_id",
  151. description="工作空间id",
  152. type=OpenApiTypes.STR,
  153. location='path',
  154. required=True,
  155. ),
  156. OpenApiParameter(
  157. name="application_id",
  158. description="Application ID",
  159. type=OpenApiTypes.STR,
  160. location='path',
  161. required=True,
  162. )]