dataset_fields.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. "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. "score_threshold_enabled": fields.Boolean,
  38. }
  39. tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String}
  40. external_knowledge_info_fields = {
  41. "external_knowledge_id": fields.String,
  42. "external_knowledge_api_id": fields.String,
  43. "external_knowledge_api_name": fields.String,
  44. "external_knowledge_api_endpoint": fields.String,
  45. }
  46. dataset_detail_fields = {
  47. "id": fields.String,
  48. "name": fields.String,
  49. "description": fields.String,
  50. "provider": fields.String,
  51. "permission": fields.String,
  52. "data_source_type": fields.String,
  53. "indexing_technique": fields.String,
  54. "app_count": fields.Integer,
  55. "document_count": fields.Integer,
  56. "word_count": fields.Integer,
  57. "created_by": fields.String,
  58. "created_at": TimestampField,
  59. "updated_by": fields.String,
  60. "updated_at": TimestampField,
  61. "embedding_model": fields.String,
  62. "embedding_model_provider": fields.String,
  63. "embedding_available": fields.Boolean,
  64. "retrieval_model_dict": fields.Nested(dataset_retrieval_model_fields),
  65. "tags": fields.List(fields.Nested(tag_fields)),
  66. "doc_form": fields.String,
  67. "external_knowledge_info": fields.Nested(external_knowledge_info_fields),
  68. "external_retrieval_model": fields.Nested(external_retrieval_model_fields, allow_null=True),
  69. }
  70. dataset_query_detail_fields = {
  71. "id": fields.String,
  72. "content": fields.String,
  73. "source": fields.String,
  74. "source_app_id": fields.String,
  75. "created_by_role": fields.String,
  76. "created_by": fields.String,
  77. "created_at": TimestampField,
  78. }