message_fields.py 2.5 KB

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