dataset_fields.py 2.8 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 = {"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. external_retrieval_model_fields = {
  35. "top_k": fields.Integer,
  36. "score_threshold": fields.Float,
  37. }
  38. tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String}
  39. external_knowledge_info_fields = {
  40. "external_knowledge_id": fields.String,
  41. "external_knowledge_api_id": fields.String,
  42. "external_knowledge_api_name": fields.String,
  43. "external_knowledge_api_endpoint": 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. "external_knowledge_info": fields.Nested(external_knowledge_info_fields),
  66. "external_retrieval_model": fields.Nested(external_retrieval_model_fields, allow_null=True),
  67. }
  68. dataset_query_detail_fields = {
  69. "id": fields.String,
  70. "content": fields.String,
  71. "source": fields.String,
  72. "source_app_id": fields.String,
  73. "created_by_role": fields.String,
  74. "created_by": fields.String,
  75. "created_at": TimestampField,
  76. }