message_fields.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. from flask_restful import fields
  2. from fields.conversation_fields import message_file_fields
  3. from libs.helper import TimestampField
  4. feedback_fields = {"rating": fields.String}
  5. retriever_resource_fields = {
  6. "id": fields.String,
  7. "message_id": fields.String,
  8. "position": fields.Integer,
  9. "dataset_id": fields.String,
  10. "dataset_name": fields.String,
  11. "document_id": fields.String,
  12. "document_name": fields.String,
  13. "data_source_type": fields.String,
  14. "segment_id": fields.String,
  15. "score": fields.Float,
  16. "hit_count": fields.Integer,
  17. "word_count": fields.Integer,
  18. "segment_position": fields.Integer,
  19. "index_node_hash": fields.String,
  20. "content": fields.String,
  21. "created_at": TimestampField,
  22. }
  23. feedback_fields = {"rating": fields.String}
  24. agent_thought_fields = {
  25. "id": fields.String,
  26. "chain_id": fields.String,
  27. "message_id": fields.String,
  28. "position": fields.Integer,
  29. "thought": fields.String,
  30. "tool": fields.String,
  31. "tool_labels": fields.Raw,
  32. "tool_input": fields.String,
  33. "created_at": TimestampField,
  34. "observation": fields.String,
  35. "files": fields.List(fields.String),
  36. }
  37. retriever_resource_fields = {
  38. "id": fields.String,
  39. "message_id": fields.String,
  40. "position": fields.Integer,
  41. "dataset_id": fields.String,
  42. "dataset_name": fields.String,
  43. "document_id": fields.String,
  44. "document_name": fields.String,
  45. "data_source_type": fields.String,
  46. "segment_id": fields.String,
  47. "score": fields.Float,
  48. "hit_count": fields.Integer,
  49. "word_count": fields.Integer,
  50. "segment_position": fields.Integer,
  51. "index_node_hash": fields.String,
  52. "content": fields.String,
  53. "created_at": TimestampField,
  54. }
  55. message_fields = {
  56. "id": fields.String,
  57. "conversation_id": fields.String,
  58. "parent_message_id": fields.String,
  59. "inputs": fields.Raw,
  60. "query": fields.String,
  61. "answer": fields.String(attribute="re_sign_file_url_answer"),
  62. "feedback": fields.Nested(feedback_fields, attribute="user_feedback", allow_null=True),
  63. "retriever_resources": fields.List(fields.Nested(retriever_resource_fields)),
  64. "created_at": TimestampField,
  65. "agent_thoughts": fields.List(fields.Nested(agent_thought_fields)),
  66. "message_files": fields.List(fields.Nested(message_file_fields), attribute="files"),
  67. "status": fields.String,
  68. "error": fields.String,
  69. }
  70. message_infinite_scroll_pagination_fields = {
  71. "limit": fields.Integer,
  72. "has_more": fields.Boolean,
  73. "data": fields.List(fields.Nested(message_fields)),
  74. }