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 DialogModel(Base):
|
__tablename__ = 'dialogs'
|
__mapper_args__ = {
|
# "order_by": 'SEQ'
|
}
|
id = Column(String(32), primary_key=True)
|
create_time = Column(BigInteger)
|
create_date = Column(DateTime)
|
update_time = Column(BigInteger)
|
update_date = Column(DateTime)
|
tenant_id = Column(String(32))
|
name = Column(String(255))
|
description = Column(Text)
|
icon = Column(Text)
|
language = Column(String(32))
|
llm_id = Column(String(128))
|
llm_setting = Column(Text)
|
prompt_type = Column(String(16))
|
prompt_config = Column(Text)
|
similarity_threshold = Column(Float)
|
vector_similarity_weight = Column(Float)
|
top_n = Column(Integer)
|
top_k = Column(Integer)
|
do_refer = Column(String(1))
|
rerank_id = Column(String(128))
|
kb_ids = 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,
|
'create_time': self.create_time,
|
'create_date': self.create_date,
|
'update_time': self.update_time,
|
'update_date': self.update_date,
|
'tenant_id': self.tenant_id,
|
'name': self.name,
|
'description': self.description,
|
'icon': self.icon,
|
'language': self.language,
|
'llm_id': self.llm_id,
|
'prompt_type': self.prompt_type,
|
'prompt_config': self.prompt_config,
|
'similarity_threshold': self.similarity_threshold,
|
'vector_similarity_weight': self.vector_similarity_weight,
|
'top_n': self.top_n,
|
'top_k': self.top_k,
|
'do_refer': self.do_refer,
|
'kb_ids': self.kb_ids,
|
'status': self.status
|
}
|