| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | from flask_restful import fields | 
					
						
							| 
									
										
										
										
											2024-02-06 13:21:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | from fields.conversation_fields import message_file_fields | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | from libs.helper import TimestampField | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | feedback_fields = { | 
					
						
							|  |  |  |     'rating': fields.String | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | retriever_resource_fields = { | 
					
						
							|  |  |  |     'id': fields.String, | 
					
						
							|  |  |  |     'message_id': fields.String, | 
					
						
							|  |  |  |     'position': fields.Integer, | 
					
						
							|  |  |  |     'dataset_id': fields.String, | 
					
						
							|  |  |  |     'dataset_name': fields.String, | 
					
						
							|  |  |  |     'document_id': fields.String, | 
					
						
							|  |  |  |     'document_name': fields.String, | 
					
						
							|  |  |  |     'data_source_type': fields.String, | 
					
						
							|  |  |  |     'segment_id': fields.String, | 
					
						
							|  |  |  |     'score': fields.Float, | 
					
						
							|  |  |  |     'hit_count': fields.Integer, | 
					
						
							|  |  |  |     'word_count': fields.Integer, | 
					
						
							|  |  |  |     'segment_position': fields.Integer, | 
					
						
							|  |  |  |     'index_node_hash': fields.String, | 
					
						
							|  |  |  |     'content': fields.String, | 
					
						
							|  |  |  |     'created_at': TimestampField | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-23 19:58:23 +08:00
										 |  |  | feedback_fields = { | 
					
						
							|  |  |  |     'rating': fields.String | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | agent_thought_fields = { | 
					
						
							|  |  |  |     'id': fields.String, | 
					
						
							|  |  |  |     'chain_id': fields.String, | 
					
						
							|  |  |  |     'message_id': fields.String, | 
					
						
							|  |  |  |     'position': fields.Integer, | 
					
						
							|  |  |  |     'thought': fields.String, | 
					
						
							|  |  |  |     'tool': fields.String, | 
					
						
							| 
									
										
										
										
											2024-01-24 20:14:45 +08:00
										 |  |  |     'tool_labels': fields.Raw, | 
					
						
							| 
									
										
										
										
											2024-01-23 19:58:23 +08:00
										 |  |  |     'tool_input': fields.String, | 
					
						
							|  |  |  |     'created_at': TimestampField, | 
					
						
							|  |  |  |     'observation': fields.String, | 
					
						
							|  |  |  |     'files': fields.List(fields.String) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | retriever_resource_fields = { | 
					
						
							|  |  |  |     'id': fields.String, | 
					
						
							|  |  |  |     'message_id': fields.String, | 
					
						
							|  |  |  |     'position': fields.Integer, | 
					
						
							|  |  |  |     'dataset_id': fields.String, | 
					
						
							|  |  |  |     'dataset_name': fields.String, | 
					
						
							|  |  |  |     'document_id': fields.String, | 
					
						
							|  |  |  |     'document_name': fields.String, | 
					
						
							|  |  |  |     'data_source_type': fields.String, | 
					
						
							|  |  |  |     'segment_id': fields.String, | 
					
						
							|  |  |  |     'score': fields.Float, | 
					
						
							|  |  |  |     'hit_count': fields.Integer, | 
					
						
							|  |  |  |     'word_count': fields.Integer, | 
					
						
							|  |  |  |     'segment_position': fields.Integer, | 
					
						
							|  |  |  |     'index_node_hash': fields.String, | 
					
						
							|  |  |  |     'content': fields.String, | 
					
						
							|  |  |  |     'created_at': TimestampField | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | message_fields = { | 
					
						
							|  |  |  |     'id': fields.String, | 
					
						
							|  |  |  |     'conversation_id': fields.String, | 
					
						
							|  |  |  |     'inputs': fields.Raw, | 
					
						
							|  |  |  |     'query': fields.String, | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     'answer': fields.String(attribute='re_sign_file_url_answer'), | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  |     'feedback': fields.Nested(feedback_fields, attribute='user_feedback', allow_null=True), | 
					
						
							|  |  |  |     'retriever_resources': fields.List(fields.Nested(retriever_resource_fields)), | 
					
						
							| 
									
										
										
										
											2024-01-23 19:58:23 +08:00
										 |  |  |     'created_at': TimestampField, | 
					
						
							|  |  |  |     'agent_thoughts': fields.List(fields.Nested(agent_thought_fields)), | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     'message_files': fields.List(fields.Nested(message_file_fields), attribute='files'), | 
					
						
							|  |  |  |     'status': fields.String, | 
					
						
							|  |  |  |     'error': fields.String, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | message_infinite_scroll_pagination_fields = { | 
					
						
							|  |  |  |     'limit': fields.Integer, | 
					
						
							|  |  |  |     'has_more': fields.Boolean, | 
					
						
							|  |  |  |     'data': fields.List(fields.Nested(message_fields)) | 
					
						
							| 
									
										
										
										
											2024-01-23 19:58:23 +08:00
										 |  |  | } |