from datetime import datetime
|
|
from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, BigInteger, Text, Float, Boolean
|
from sqlalchemy.orm import relationship, backref
|
|
from app.models.base_model import Base
|
|
class KnowledgeModel(Base):
|
__tablename__ = 'knowledgebase'
|
__mapper_args__ = {
|
# "order_by": 'SEQ'
|
}
|
id = Column(String(32), primary_key=True)
|
name = Column(String(128))
|
create_time = Column(BigInteger)
|
create_date = Column(DateTime)
|
update_time = Column(BigInteger)
|
update_date = Column(DateTime)
|
avatar = Column(Text)
|
tenant_id = Column(String(32))
|
language = Column(String(32))
|
description = Column(Text)
|
embd_id = Column(String(128))
|
permission = Column(String(16))
|
created_by = Column(String(32))
|
doc_num = Column(Integer)
|
token_num = Column(Integer)
|
chunk_num = Column(Integer)
|
similarity_threshold = Column(Float)
|
vector_similarity_weight = Column(Float)
|
parser_id = Column(String(32))
|
parser_config = Column(Text)
|
status = Column(String(1))
|
hide = Column(Boolean)
|
|
def get_id(self):
|
return str(self.id)
|
|
def to_json(self):
|
return {
|
'id': self.id,
|
'name': self.name,
|
'create_time': self.create_time,
|
'update_time': self.update_time,
|
'avatar': self.avatar,
|
'tenant_id': self.tenant_id,
|
'language': self.language,
|
'description': self.description,
|
'embd_id': self.embd_id,
|
'permission': self.permission,
|
'created_by': self.created_by,
|
'doc_num': self.doc_num,
|
'token_num': self.token_num,
|
'chunk_num': self.chunk_num,
|
'similarity_threshold': self.similarity_threshold,
|
'vector_similarity_weight': self.vector_similarity_weight,
|
'parser_id': self.parser_id,
|
'parser_config': json.loads(self.parser_config),
|
'status': self.status
|
}
|
def __repr__(self):
|
return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)
|