dataset_fields.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. from flask_restful import fields # type: ignore
  2. from libs.helper import TimestampField
  3. dataset_fields = {
  4. "id": fields.String,
  5. "name": fields.String,
  6. "description": fields.String,
  7. "permission": fields.String,
  8. "data_source_type": fields.String,
  9. "indexing_technique": fields.String,
  10. "created_by": fields.String,
  11. "created_at": TimestampField,
  12. }
  13. reranking_model_fields = {"reranking_provider_name": fields.String, "reranking_model_name": fields.String}
  14. keyword_setting_fields = {"keyword_weight": fields.Float}
  15. vector_setting_fields = {
  16. "vector_weight": fields.Float,
  17. "embedding_model_name": fields.String,
  18. "embedding_provider_name": fields.String,
  19. }
  20. weighted_score_fields = {
  21. "weight_type": fields.String,
  22. "keyword_setting": fields.Nested(keyword_setting_fields),
  23. "vector_setting": fields.Nested(vector_setting_fields),
  24. }
  25. dataset_retrieval_model_fields = {
  26. "search_method": fields.String,
  27. "reranking_enable": fields.Boolean,
  28. "reranking_mode": fields.String,
  29. "reranking_model": fields.Nested(reranking_model_fields),
  30. "weights": fields.Nested(weighted_score_fields, allow_null=True),
  31. "top_k": fields.Integer,
  32. "score_threshold_enabled": fields.Boolean,
  33. "score_threshold": fields.Float,
  34. }
  35. external_retrieval_model_fields = {
  36. "top_k": fields.Integer,
  37. "score_threshold": fields.Float,
  38. "score_threshold_enabled": fields.Boolean,
  39. }
  40. tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String}
  41. external_knowledge_info_fields = {
  42. "external_knowledge_id": fields.String,
  43. "external_knowledge_api_id": fields.String,
  44. "external_knowledge_api_name": fields.String,
  45. "external_knowledge_api_endpoint": fields.String,
  46. }
  47. doc_metadata_fields = {"id": fields.String, "name": fields.String, "type": fields.String}
  48. dataset_detail_fields = {
  49. "id": fields.String,
  50. "name": fields.String,
  51. "description": fields.String,
  52. "provider": fields.String,
  53. "permission": fields.String,
  54. "data_source_type": fields.String,
  55. "indexing_technique": fields.String,
  56. "app_count": fields.Integer,
  57. "document_count": fields.Integer,
  58. "word_count": fields.Integer,
  59. "created_by": fields.String,
  60. "created_at": TimestampField,
  61. "updated_by": fields.String,
  62. "updated_at": TimestampField,
  63. "embedding_model": fields.String,
  64. "embedding_model_provider": fields.String,
  65. "embedding_available": fields.Boolean,
  66. "retrieval_model_dict": fields.Nested(dataset_retrieval_model_fields),
  67. "tags": fields.List(fields.Nested(tag_fields)),
  68. "categories": fields.List(fields.Nested(tag_fields)),
  69. "doc_form": fields.String,
  70. "external_knowledge_info": fields.Nested(external_knowledge_info_fields),
  71. "external_retrieval_model": fields.Nested(external_retrieval_model_fields, allow_null=True),
  72. "doc_metadata": fields.List(fields.Nested(doc_metadata_fields)),
  73. "built_in_field_enabled": fields.Boolean,
  74. }
  75. dataset_query_detail_fields = {
  76. "id": fields.String,
  77. "content": fields.String,
  78. "source": fields.String,
  79. "source_app_id": fields.String,
  80. "created_by_role": fields.String,
  81. "created_by": fields.String,
  82. "created_at": TimestampField,
  83. }
  84. dataset_metadata_fields = {
  85. "id": fields.String,
  86. "type": fields.String,
  87. "name": fields.String,
  88. }
  89. dataset_category_fields = {
  90. "id": fields.String,
  91. "name": fields.String,
  92. "description": fields.String,
  93. "tenant_id": fields.String,
  94. "created_by": fields.String,
  95. "created_at": TimestampField,
  96. "updated_by": fields.String,
  97. "updated_at": TimestampField,
  98. }