app_fields.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. from flask_restful import fields
  2. from libs.helper import AppIconUrlField, TimestampField
  3. app_detail_kernel_fields = {
  4. "id": fields.String,
  5. "name": fields.String,
  6. "description": fields.String,
  7. "mode": fields.String(attribute="mode_compatible_with_agent"),
  8. "icon_type": fields.String,
  9. "icon": fields.String,
  10. "icon_background": fields.String,
  11. "icon_url": AppIconUrlField,
  12. }
  13. related_app_list = {
  14. "data": fields.List(fields.Nested(app_detail_kernel_fields)),
  15. "total": fields.Integer,
  16. }
  17. model_config_fields = {
  18. "opening_statement": fields.String,
  19. "suggested_questions": fields.Raw(attribute="suggested_questions_list"),
  20. "suggested_questions_after_answer": fields.Raw(attribute="suggested_questions_after_answer_dict"),
  21. "speech_to_text": fields.Raw(attribute="speech_to_text_dict"),
  22. "text_to_speech": fields.Raw(attribute="text_to_speech_dict"),
  23. "retriever_resource": fields.Raw(attribute="retriever_resource_dict"),
  24. "annotation_reply": fields.Raw(attribute="annotation_reply_dict"),
  25. "more_like_this": fields.Raw(attribute="more_like_this_dict"),
  26. "sensitive_word_avoidance": fields.Raw(attribute="sensitive_word_avoidance_dict"),
  27. "external_data_tools": fields.Raw(attribute="external_data_tools_list"),
  28. "model": fields.Raw(attribute="model_dict"),
  29. "user_input_form": fields.Raw(attribute="user_input_form_list"),
  30. "dataset_query_variable": fields.String,
  31. "pre_prompt": fields.String,
  32. "agent_mode": fields.Raw(attribute="agent_mode_dict"),
  33. "prompt_type": fields.String,
  34. "chat_prompt_config": fields.Raw(attribute="chat_prompt_config_dict"),
  35. "completion_prompt_config": fields.Raw(attribute="completion_prompt_config_dict"),
  36. "dataset_configs": fields.Raw(attribute="dataset_configs_dict"),
  37. "file_upload": fields.Raw(attribute="file_upload_dict"),
  38. "created_at": TimestampField,
  39. }
  40. app_detail_fields = {
  41. "id": fields.String,
  42. "name": fields.String,
  43. "description": fields.String,
  44. "mode": fields.String(attribute="mode_compatible_with_agent"),
  45. "icon": fields.String,
  46. "icon_background": fields.String,
  47. "enable_site": fields.Boolean,
  48. "enable_api": fields.Boolean,
  49. "model_config": fields.Nested(model_config_fields, attribute="app_model_config", allow_null=True),
  50. "tracing": fields.Raw,
  51. "created_at": TimestampField,
  52. }
  53. prompt_config_fields = {
  54. "prompt_template": fields.String,
  55. }
  56. model_config_partial_fields = {
  57. "model": fields.Raw(attribute="model_dict"),
  58. "pre_prompt": fields.String,
  59. }
  60. tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String}
  61. app_partial_fields = {
  62. "id": fields.String,
  63. "name": fields.String,
  64. "max_active_requests": fields.Raw(),
  65. "description": fields.String(attribute="desc_or_prompt"),
  66. "mode": fields.String(attribute="mode_compatible_with_agent"),
  67. "icon_type": fields.String,
  68. "icon": fields.String,
  69. "icon_background": fields.String,
  70. "icon_url": AppIconUrlField,
  71. "model_config": fields.Nested(model_config_partial_fields, attribute="app_model_config", allow_null=True),
  72. "created_at": TimestampField,
  73. "tags": fields.List(fields.Nested(tag_fields)),
  74. }
  75. app_pagination_fields = {
  76. "page": fields.Integer,
  77. "limit": fields.Integer(attribute="per_page"),
  78. "total": fields.Integer,
  79. "has_more": fields.Boolean(attribute="has_next"),
  80. "data": fields.List(fields.Nested(app_partial_fields), attribute="items"),
  81. }
  82. template_fields = {
  83. "name": fields.String,
  84. "icon": fields.String,
  85. "icon_background": fields.String,
  86. "description": fields.String,
  87. "mode": fields.String,
  88. "model_config": fields.Nested(model_config_fields),
  89. }
  90. template_list_fields = {
  91. "data": fields.List(fields.Nested(template_fields)),
  92. }
  93. site_fields = {
  94. "access_token": fields.String(attribute="code"),
  95. "code": fields.String,
  96. "title": fields.String,
  97. "icon_type": fields.String,
  98. "icon": fields.String,
  99. "icon_background": fields.String,
  100. "icon_url": AppIconUrlField,
  101. "description": fields.String,
  102. "default_language": fields.String,
  103. "chat_color_theme": fields.String,
  104. "chat_color_theme_inverted": fields.Boolean,
  105. "customize_domain": fields.String,
  106. "copyright": fields.String,
  107. "privacy_policy": fields.String,
  108. "custom_disclaimer": fields.String,
  109. "customize_token_strategy": fields.String,
  110. "prompt_public": fields.Boolean,
  111. "app_base_url": fields.String,
  112. "show_workflow_steps": fields.Boolean,
  113. }
  114. app_detail_fields_with_site = {
  115. "id": fields.String,
  116. "name": fields.String,
  117. "description": fields.String,
  118. "mode": fields.String(attribute="mode_compatible_with_agent"),
  119. "icon_type": fields.String,
  120. "icon": fields.String,
  121. "icon_background": fields.String,
  122. "icon_url": AppIconUrlField,
  123. "enable_site": fields.Boolean,
  124. "enable_api": fields.Boolean,
  125. "model_config": fields.Nested(model_config_fields, attribute="app_model_config", allow_null=True),
  126. "site": fields.Nested(site_fields),
  127. "api_base_url": fields.String,
  128. "created_at": TimestampField,
  129. "deleted_tools": fields.List(fields.String),
  130. }
  131. app_site_fields = {
  132. "app_id": fields.String,
  133. "access_token": fields.String(attribute="code"),
  134. "code": fields.String,
  135. "title": fields.String,
  136. "icon": fields.String,
  137. "icon_background": fields.String,
  138. "description": fields.String,
  139. "default_language": fields.String,
  140. "customize_domain": fields.String,
  141. "copyright": fields.String,
  142. "privacy_policy": fields.String,
  143. "custom_disclaimer": fields.String,
  144. "customize_token_strategy": fields.String,
  145. "prompt_public": fields.Boolean,
  146. "show_workflow_steps": fields.Boolean,
  147. }