| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  | from flask_restful import fields  # type: ignore | 
					
						
							| 
									
										
										
										
											2024-02-06 13:21:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | from libs.helper import TimestampField | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | dataset_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "permission": fields.String, | 
					
						
							|  |  |  |     "data_source_type": fields.String, | 
					
						
							|  |  |  |     "indexing_technique": fields.String, | 
					
						
							|  |  |  |     "created_by": fields.String, | 
					
						
							|  |  |  |     "created_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  | reranking_model_fields = {"reranking_provider_name": fields.String, "reranking_model_name": fields.String} | 
					
						
							| 
									
										
										
										
											2023-11-17 22:13:37 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  | keyword_setting_fields = {"keyword_weight": fields.Float} | 
					
						
							| 
									
										
										
										
											2024-07-24 12:50:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | vector_setting_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "vector_weight": fields.Float, | 
					
						
							|  |  |  |     "embedding_model_name": fields.String, | 
					
						
							|  |  |  |     "embedding_provider_name": fields.String, | 
					
						
							| 
									
										
										
										
											2024-07-24 12:50:11 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | weighted_score_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "keyword_setting": fields.Nested(keyword_setting_fields), | 
					
						
							|  |  |  |     "vector_setting": fields.Nested(vector_setting_fields), | 
					
						
							| 
									
										
										
										
											2024-07-24 12:50:11 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-17 22:13:37 +08:00
										 |  |  | dataset_retrieval_model_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "search_method": fields.String, | 
					
						
							|  |  |  |     "reranking_enable": fields.Boolean, | 
					
						
							|  |  |  |     "reranking_mode": fields.String, | 
					
						
							|  |  |  |     "reranking_model": fields.Nested(reranking_model_fields), | 
					
						
							|  |  |  |     "weights": fields.Nested(weighted_score_fields, allow_null=True), | 
					
						
							|  |  |  |     "top_k": fields.Integer, | 
					
						
							|  |  |  |     "score_threshold_enabled": fields.Boolean, | 
					
						
							|  |  |  |     "score_threshold": fields.Float, | 
					
						
							| 
									
										
										
										
											2023-11-17 22:13:37 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2024-09-30 15:38:43 +08:00
										 |  |  | external_retrieval_model_fields = { | 
					
						
							|  |  |  |     "top_k": fields.Integer, | 
					
						
							|  |  |  |     "score_threshold": fields.Float, | 
					
						
							| 
									
										
										
										
											2024-11-21 18:01:47 +08:00
										 |  |  |     "score_threshold_enabled": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-09-30 15:38:43 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2023-11-17 22:13:37 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  | tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String} | 
					
						
							| 
									
										
										
										
											2023-11-17 22:13:37 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-30 15:38:43 +08:00
										 |  |  | external_knowledge_info_fields = { | 
					
						
							|  |  |  |     "external_knowledge_id": fields.String, | 
					
						
							|  |  |  |     "external_knowledge_api_id": fields.String, | 
					
						
							|  |  |  |     "external_knowledge_api_name": fields.String, | 
					
						
							|  |  |  |     "external_knowledge_api_endpoint": fields.String, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | dataset_detail_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "provider": fields.String, | 
					
						
							|  |  |  |     "permission": fields.String, | 
					
						
							|  |  |  |     "data_source_type": fields.String, | 
					
						
							|  |  |  |     "indexing_technique": fields.String, | 
					
						
							|  |  |  |     "app_count": fields.Integer, | 
					
						
							|  |  |  |     "document_count": fields.Integer, | 
					
						
							|  |  |  |     "word_count": fields.Integer, | 
					
						
							|  |  |  |     "created_by": fields.String, | 
					
						
							|  |  |  |     "created_at": TimestampField, | 
					
						
							|  |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							|  |  |  |     "embedding_model": fields.String, | 
					
						
							|  |  |  |     "embedding_model_provider": fields.String, | 
					
						
							|  |  |  |     "embedding_available": fields.Boolean, | 
					
						
							|  |  |  |     "retrieval_model_dict": fields.Nested(dataset_retrieval_model_fields), | 
					
						
							|  |  |  |     "tags": fields.List(fields.Nested(tag_fields)), | 
					
						
							| 
									
										
										
										
											2024-12-25 19:49:07 +08:00
										 |  |  |     "doc_form": fields.String, | 
					
						
							| 
									
										
										
										
											2024-09-30 15:38:43 +08:00
										 |  |  |     "external_knowledge_info": fields.Nested(external_knowledge_info_fields), | 
					
						
							|  |  |  |     "external_retrieval_model": fields.Nested(external_retrieval_model_fields, allow_null=True), | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | dataset_query_detail_fields = { | 
					
						
							|  |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "content": fields.String, | 
					
						
							|  |  |  |     "source": fields.String, | 
					
						
							|  |  |  |     "source_app_id": fields.String, | 
					
						
							|  |  |  |     "created_by_role": fields.String, | 
					
						
							|  |  |  |     "created_by": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "created_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } |