tmp
zhaoqingang
2025-01-15 9f116ea7e8f7d53a22b4dce10de942d564818a01
app/models/dialog_model.py
@@ -1,6 +1,8 @@
from datetime import datetime
from typing import Optional
from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, BigInteger, Text, Float, Boolean
from pydantic import BaseModel
from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey, DateTime, Text, JSON
from sqlalchemy.orm import relationship, backref
from app.models.base_model import Base
@@ -10,29 +12,18 @@
    __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)
    id = Column(String(36), primary_key=True)  #  id
    create_date = Column(DateTime, default=datetime.now())             # 创建时间
    update_date = Column(DateTime, default=datetime.now(), onupdate=datetime.now())             # 更新时间
    tenant_id = Column(String(36))              # 创建人
    name = Column(String(255))                 # 名称
    description = Column(Text)                 # 说明
    icon = Column(Text, default="intelligentFrame1")                         # 图标
    status = Column(String(1), default="0")                 # 状态
    dialog_type = Column(String(1))            #  平台
    # agent_id = Column(String(36))
    mode = Column(String(36))
    parameters = Column(Text)
    def get_id(self):
        return str(self.id)
@@ -40,23 +31,64 @@
    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,
            'create_date': self.create_date.strftime('%Y-%m-%d %H:%M:%S'),
            'update_date': self.update_date.strftime('%Y-%m-%d %H:%M:%S'),
            'user_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
        }
            'status': self.status,
            'agentType': self.dialog_type,
            # 'agentId': self.agent_id,
            'mode': self.mode,
        }
class ConversationModel(Base):
    __tablename__ = 'conversation'
    id = Column(String(32), primary_key=True)  #  id
    create_date = Column(DateTime)             # 创建时间
    create_time = Column(BigInteger)
    update_date = Column(DateTime)             # 更新时间
    update_time = Column(BigInteger)
    tenant_id = Column(Integer)              # 创建人
    dialog_id = Column(String(32))
    name = Column(String(255))                 # 名称
    message = Column(JSON)                 # 说明
    reference = Column(JSON)                         # 图标
    def get_id(self):
        return str(self.id)
    def to_json(self):
        return {
            'id': self.id,
            'updated_time': self.update_time,
            'update_date': datetime.fromtimestamp(self.update_time / 1000.0).strftime('%Y-%m-%d %H:%M:%S'),
            'name': self.name,
        }
class dialogData(BaseModel):
    id: str
    name: str
    description: Optional[str] = ""
    dialogType: str
    icon: str
    mode: str
class dialogDataUpdate(BaseModel):
    id: str
    status: Optional[str] = "1"
    icon: Optional[str] = ""
class dialogList(BaseModel):
    current: Optional[int] = 1
    pageSize: Optional[int] = 10
    keyword: Optional[str] = ""
    label: Optional[list] = []
    status: Optional[str] = ""
    mode: Optional[str] = ""