dataset_fields.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. from flask_restful import fields
  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 = {
  14. 'reranking_provider_name': fields.String,
  15. 'reranking_model_name': fields.String
  16. }
  17. keyword_setting_fields = {
  18. 'keyword_weight': fields.Float
  19. }
  20. vector_setting_fields = {
  21. 'vector_weight': fields.Float,
  22. 'embedding_model_name': fields.String,
  23. 'embedding_provider_name': fields.String,
  24. }
  25. weighted_score_fields = {
  26. 'weight_type': fields.String,
  27. 'keyword_setting': fields.Nested(keyword_setting_fields),
  28. 'vector_setting': fields.Nested(vector_setting_fields),
  29. }
  30. dataset_retrieval_model_fields = {
  31. 'search_method': fields.String,
  32. 'reranking_enable': fields.Boolean,
  33. 'reranking_mode': fields.String,
  34. 'reranking_model': fields.Nested(reranking_model_fields),
  35. 'weights': fields.Nested(weighted_score_fields, allow_null=True),
  36. 'top_k': fields.Integer,
  37. 'score_threshold_enabled': fields.Boolean,
  38. 'score_threshold': fields.Float
  39. }
  40. tag_fields = {
  41. 'id': fields.String,
  42. 'name': fields.String,
  43. 'type': fields.String
  44. }
  45. dataset_detail_fields = {
  46. 'id': fields.String,
  47. 'name': fields.String,
  48. 'description': fields.String,
  49. 'provider': fields.String,
  50. 'permission': fields.String,
  51. 'data_source_type': fields.String,
  52. 'indexing_technique': fields.String,
  53. 'app_count': fields.Integer,
  54. 'document_count': fields.Integer,
  55. 'word_count': fields.Integer,
  56. 'created_by': fields.String,
  57. 'created_at': TimestampField,
  58. 'updated_by': fields.String,
  59. 'updated_at': TimestampField,
  60. 'embedding_model': fields.String,
  61. 'embedding_model_provider': fields.String,
  62. 'embedding_available': fields.Boolean,
  63. 'retrieval_model_dict': fields.Nested(dataset_retrieval_model_fields),
  64. 'tags': fields.List(fields.Nested(tag_fields))
  65. }
  66. dataset_query_detail_fields = {
  67. "id": fields.String,
  68. "content": fields.String,
  69. "source": fields.String,
  70. "source_app_id": fields.String,
  71. "created_by_role": fields.String,
  72. "created_by": fields.String,
  73. "created_at": TimestampField
  74. }