knowledge_model.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from datetime import datetime
  2. from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, BigInteger, Text, Float, Boolean
  3. from sqlalchemy.orm import relationship, backref
  4. from app.models.base_model import Base
  5. class KnowledgeModel(Base):
  6. __tablename__ = 'knowledgebase'
  7. __mapper_args__ = {
  8. # "order_by": 'SEQ'
  9. }
  10. id = Column(String(32), primary_key=True)
  11. name = Column(String(128))
  12. create_time = Column(BigInteger)
  13. create_date = Column(DateTime)
  14. update_time = Column(BigInteger)
  15. update_date = Column(DateTime)
  16. avatar = Column(Text)
  17. tenant_id = Column(String(32))
  18. language = Column(String(32))
  19. description = Column(Text)
  20. embd_id = Column(String(128))
  21. permission = Column(String(16))
  22. created_by = Column(String(32))
  23. doc_num = Column(Integer)
  24. token_num = Column(Integer)
  25. chunk_num = Column(Integer)
  26. similarity_threshold = Column(Float)
  27. vector_similarity_weight = Column(Float)
  28. parser_id = Column(String(32))
  29. parser_config = Column(Text)
  30. status = Column(String(1))
  31. hide = Column(Boolean)
  32. def get_id(self):
  33. return str(self.id)
  34. def to_json(self):
  35. return {
  36. 'id': self.id,
  37. 'name': self.name,
  38. 'create_time': self.create_time,
  39. 'update_time': self.update_time,
  40. 'avatar': self.avatar,
  41. 'tenant_id': self.tenant_id,
  42. 'language': self.language,
  43. 'description': self.description,
  44. 'embd_id': self.embd_id,
  45. 'permission': self.permission,
  46. 'created_by': self.created_by,
  47. 'doc_num': self.doc_num,
  48. 'token_num': self.token_num,
  49. 'chunk_num': self.chunk_num,
  50. 'similarity_threshold': self.similarity_threshold,
  51. 'vector_similarity_weight': self.vector_similarity_weight,
  52. 'parser_id': self.parser_id,
  53. 'parser_config': json.loads(self.parser_config),
  54. 'status': self.status
  55. }
  56. def __repr__(self):
  57. return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)