dataset_fields.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 = {"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. "keyword_setting": fields.Nested(keyword_setting_fields),
  22. "vector_setting": fields.Nested(vector_setting_fields),
  23. }
  24. dataset_retrieval_model_fields = {
  25. "search_method": fields.String,
  26. "reranking_enable": fields.Boolean,
  27. "reranking_mode": fields.String,
  28. "reranking_model": fields.Nested(reranking_model_fields),
  29. "weights": fields.Nested(weighted_score_fields, allow_null=True),
  30. "top_k": fields.Integer,
  31. "score_threshold_enabled": fields.Boolean,
  32. "score_threshold": fields.Float,
  33. }
  34. tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String}
  35. dataset_detail_fields = {
  36. "id": fields.String,
  37. "name": fields.String,
  38. "description": fields.String,
  39. "provider": fields.String,
  40. "permission": fields.String,
  41. "data_source_type": fields.String,
  42. "indexing_technique": fields.String,
  43. "app_count": fields.Integer,
  44. "document_count": fields.Integer,
  45. "word_count": fields.Integer,
  46. "created_by": fields.String,
  47. "created_at": TimestampField,
  48. "updated_by": fields.String,
  49. "updated_at": TimestampField,
  50. "embedding_model": fields.String,
  51. "embedding_model_provider": fields.String,
  52. "embedding_available": fields.Boolean,
  53. "retrieval_model_dict": fields.Nested(dataset_retrieval_model_fields),
  54. "tags": fields.List(fields.Nested(tag_fields)),
  55. }
  56. dataset_query_detail_fields = {
  57. "id": fields.String,
  58. "content": fields.String,
  59. "source": fields.String,
  60. "source_app_id": fields.String,
  61. "created_by_role": fields.String,
  62. "created_by": fields.String,
  63. "created_at": TimestampField,
  64. }