| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- from flask_restx import Api, Namespace, fields
 - 
 - from fields.conversation_fields import message_file_fields
 - from libs.helper import TimestampField
 - 
 - from .raws import FilesContainedField
 - 
 - feedback_fields = {
 -     "rating": fields.String,
 - }
 - 
 - 
 - def build_feedback_model(api_or_ns: Api | Namespace):
 -     """Build the feedback model for the API or Namespace."""
 -     return api_or_ns.model("Feedback", feedback_fields)
 - 
 - 
 - 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),
 - }
 - 
 - 
 - def build_agent_thought_model(api_or_ns: Api | Namespace):
 -     """Build the agent thought model for the API or Namespace."""
 -     return api_or_ns.model("AgentThought", agent_thought_fields)
 - 
 - 
 - 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)),
 - }
 
 
  |