From 282a631b9ceee9a634ee1d93751a5254ed37ccef Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期二, 18 三月 2025 10:10:48 +0800 Subject: [PATCH] 首页知识库对话-rg --- app/models/group_model.py | 58 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 32 insertions(+), 26 deletions(-) diff --git a/app/models/group_model.py b/app/models/group_model.py index 38db667..281692d 100644 --- a/app/models/group_model.py +++ b/app/models/group_model.py @@ -6,20 +6,21 @@ from pydantic import BaseModel from sqlalchemy.orm import relationship, backref +from app.config.const import Dialog_STATSU_DELETE from app.models.base_model import Base -group_knowledge_table = Table('group_Knowledge', Base.metadata +group_knowledge_table = Table('group_knowledge', Base.metadata , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE')) - , Column('knowledge_id', String(32), ForeignKey('knowledgebase.id', ondelete='CASCADE'))) + , Column('knowledge_id', String(32), ForeignKey('knowledgebases.id', ondelete='CASCADE'))) group_dialog_table = Table('group_dialogs', Base.metadata , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE')) , Column('dialog_id', String(36), ForeignKey('dialogs.id', ondelete='CASCADE'))) -group_agent_table = Table('group_agent', Base.metadata +group_agent_table = Table('group_canvas', Base.metadata , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE')) - , Column('agent_id', String(36), ForeignKey('canvas.id', ondelete='CASCADE'))) + , Column('canvas_id', String(36), ForeignKey('canvas.id', ondelete='CASCADE'))) group_llm_table = Table('group_llm', Base.metadata , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE')) @@ -39,6 +40,7 @@ created_at = Column(DateTime, default=datetime.now()) updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now()) creator = Column(Integer) + group_type = Column(Integer, default=1) knowledges = relationship('KnowledgeModel', @@ -53,18 +55,15 @@ agents = relationship('CanvasModel', secondary=group_agent_table, - backref=backref('groups', lazy='dynamic'), - lazy="dynamic") + backref=backref('groups', lazy='dynamic')) llms = relationship('CommonLlmModel', secondary=group_llm_table, - backref=backref('groups', lazy='dynamic'), - lazy="dynamic") + backref=backref('groups', lazy='dynamic')) unified_agents = relationship('UnifiedAgentModel', secondary=group_unified_agent_table, - backref=backref('roles', lazy='dynamic'), - lazy="dynamic") + backref=backref('groups', lazy='dynamic')) def to_dict(self): return { 'groupId': self.id, @@ -85,29 +84,29 @@ def to_json(self): json = { - 'roleId': self.id, + 'groupId': self.id, 'createTime': self.created_at.strftime('%Y-%m-%d %H:%M:%S'), 'updateTime': self.updated_at.strftime('%Y-%m-%d %H:%M:%S'), 'groupName': self.group_name, - 'remark': self.group_description, + 'description': self.group_description, 'status': self.status, } - if len(self.knowledges.all()) > 0: - json['knowledges'] = [knowledge.to_json() for knowledge in self.knowledges] + # if len(self.knowledges.all()) > 0: + json['knowledges'] = [knowledge.to_json() for knowledge in self.knowledges] - if len(self.dialogs.all()) > 0: - json['dialogs'] = [dialog.to_json() for dialog in self.dialogs] + # if len(self.dialogs.all()) > 0: + json['dialogs'] = [dialog.to_json() for dialog in self.dialogs if dialog.status != Dialog_STATSU_DELETE] - if len(self.agents.all()) > 0: - json['agents'] = [agent.to_json() for agent in self.agents] + # if len(self.agents.all()) > 0: + # json['agents'] = [agent.to_json() for agent in self.agents] - if len(self.llms.all()) > 0: - json['llms'] = [llm.to_json() for llm in self.llms] + # if len(self.llms.all()) > 0: + json['llms'] = [llm.to_json() for llm in self.llms] json['users'] = [user.to_dict() for user in self.users] - if hasattr(self, 'flag'): - json['flag'] = self.flag + # if hasattr(self, 'flag'): + # json['flag'] = self.flag return json @@ -122,11 +121,18 @@ class GroupData(BaseModel): id: Optional[int] = None - group_name: Optional[str] = "" - group_description: Optional[str] = "" - group_status: Optional[str] = "" + groupName: Optional[str] = "" + description: Optional[str] = "" + status: Optional[str] = "" class GroupUsers(BaseModel): id: int - user_list: list + userList: list + + +class GroupResource(BaseModel): + id: int + llms: list + dialogs: list + knowledges: list -- Gitblit v1.8.0