knowledge_model.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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) # id
  11. name = Column(String(128)) # 名称
  12. create_date = Column(DateTime) # 创建时间
  13. update_date = Column(DateTime) # 更新时间
  14. avatar = Column(Text) # 图标
  15. tenant_id = Column(String(32)) # 创建人id
  16. description = Column(Text) # 说明
  17. status = Column(String(1)) # 状态
  18. kld_type = Column(String(1)) # 知识库平台
  19. def get_id(self):
  20. return str(self.id)
  21. def to_json(self):
  22. return {
  23. 'id': self.id,
  24. 'name': self.name,
  25. 'create_time': self.create_time,
  26. 'update_time': self.update_time,
  27. 'avatar': self.avatar,
  28. 'tenant_id': self.tenant_id,
  29. 'language': self.language,
  30. 'description': self.description,
  31. 'embd_id': self.embd_id,
  32. 'permission': self.permission,
  33. 'created_by': self.created_by,
  34. 'doc_num': self.doc_num,
  35. 'token_num': self.token_num,
  36. 'chunk_num': self.chunk_num,
  37. 'similarity_threshold': self.similarity_threshold,
  38. 'vector_similarity_weight': self.vector_similarity_weight,
  39. 'parser_id': self.parser_id,
  40. 'parser_config': json.loads(self.parser_config),
  41. 'status': self.status
  42. }
  43. def __repr__(self):
  44. return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)