From 226202d6eee6480f3386c6295be26fad42940cc8 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期五, 28 三月 2025 09:41:39 +0800 Subject: [PATCH] 知识库分享,历史记录文件 --- app/models/dialog_model.py | 103 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 78 insertions(+), 25 deletions(-) diff --git a/app/models/dialog_model.py b/app/models/dialog_model.py index 2ac706f..a9aaf89 100644 --- a/app/models/dialog_model.py +++ b/app/models/dialog_model.py @@ -1,6 +1,9 @@ +import json 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,15 +13,19 @@ __mapper_args__ = { # "order_by": 'SEQ' } - id = Column(String(32), primary_key=True) # id - create_date = Column(DateTime) # 鍒涘缓鏃堕棿 - update_date = Column(DateTime) # 鏇存柊鏃堕棿 - tenant_id = Column(String(32)) # 鍒涘缓浜� + 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) # 鍥炬爣 - status = Column(String(1)) # 鐘舵�� - dialog_type = Column(String(1)) # # 骞冲彴 + 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) + kb_ids = Column(String(128)) def get_id(self): return str(self.id) @@ -26,23 +33,69 @@ 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 - } \ No newline at end of file + 'status': self.status, + 'agentType': self.dialog_type, + # 'agentId': self.agent_id, + 'mode': self.mode, + } + + def get_kb_ids(self): + return json.loads(self.kb_ids) if self.kb_ids else [] + + +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, index=True) + 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] = "" + name: Optional[str] = "" + description: Optional[str] = None + + +class dialogList(BaseModel): + current: Optional[int] = 1 + pageSize: Optional[int] = 10 + keyword: Optional[str] = "" + label: Optional[list] = [] + status: Optional[str] = "" + mode: Optional[str] = "" \ No newline at end of file -- Gitblit v1.8.0