| from flask_restful import fields | |
| from fields.conversation_fields import message_file_fields | |
| from libs.helper import TimestampField | |
| from .raws import FilesContainedField | |
| 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, | |
| } | |
| 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, | |
| "tool_labels": fields.Raw, | |
| "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, | |
| } | |
| message_fields = { | |
| "id": fields.String, | |
| "conversation_id": fields.String, | |
| "parent_message_id": fields.String, | |
| "inputs": FilesContainedField, | |
| "query": fields.String, | |
| "answer": fields.String(attribute="re_sign_file_url_answer"), | |
| "feedback": fields.Nested(feedback_fields, attribute="user_feedback", allow_null=True), | |
| "retriever_resources": fields.List(fields.Nested(retriever_resource_fields)), | |
| "created_at": TimestampField, | |
| "agent_thoughts": fields.List(fields.Nested(agent_thought_fields)), | |
| "message_files": fields.List(fields.Nested(message_file_fields)), | |
| "status": fields.String, | |
| "error": fields.String, | |
| } | |
| message_infinite_scroll_pagination_fields = { | |
| "limit": fields.Integer, | |
| "has_more": fields.Boolean, | |
| "data": fields.List(fields.Nested(message_fields)), | |
| } | |