models.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from sqlalchemy import Column, Integer, String, DateTime, Text, BigInteger
  2. from datetime import datetime
  3. from .db import Base
  4. class KnowledgeParsingContent(Base):
  5. __tablename__ = 'knowledge_parsing_content'
  6. __table_args__ = {
  7. 'comment': '内容解析表'
  8. }
  9. id = Column(BigInteger, primary_key=True, autoincrement=True)
  10. content_id = Column(String(128), nullable=False)
  11. request_id = Column(String(128), nullable=False)
  12. task_id = Column(BigInteger, nullable=False)
  13. parsing_data = Column(Text, comment='结构化数据')
  14. create_time = Column(DateTime, default=datetime.now)
  15. status = Column(Integer, default=0, comment='0: 未开始,1:处理中 2: 处理完成 3:处理失败')
  16. indentify_data = Column(Text, comment='理解的数据')
  17. def __repr__(self):
  18. return f"<KnowledgeParsingContent(id={self.id}, content_id={self.content_id}, status={self.status})>"
  19. class KnowledgeExtractionContent(Base):
  20. __tablename__ = 'knowledge_extraction_content'
  21. __table_args__ = (
  22. Index('idx_request_id', 'request_id'), # 创建索引
  23. {'comment': '内容抽取表'}
  24. )
  25. id = Column(BigInteger, primary_key=True, autoincrement=True)
  26. request_id = Column(String(128), nullable=False)
  27. parsing_id = Column(BigInteger, nullable=False)
  28. score = Column(Integer, default=-1)
  29. reason = Column(Text, comment='打分原因')
  30. data = Column(Text, comment='结构化数据')
  31. create_at = Column(DateTime, default=datetime.now)
  32. status = Column(Integer, default=0, comment='0: 未开始,1:处理中 2: 处理完成 3:处理失败')
  33. def __repr__(self):
  34. return f"<KnowledgeExtractionContent(id={self.id}, request_id={self.request_id}, status={self.status})>"