| | |
| | | |
| | | @router.get("/{agent_id}/{conversation_id}/session_log") |
| | | async def session_log(agent_id: str, conversation_id: str, db: Session = Depends(get_db), current_user: UserModel = Depends(get_current_user)): |
| | | agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first() |
| | | # agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first() |
| | | # if not agent: |
| | | # return Response(code=404, msg="Agent not found") |
| | | agent = db.query(MenuCapacityModel).filter(MenuCapacityModel.chat_id == agent_id).first() |
| | | if not agent: |
| | | return Response(code=404, msg="Agent not found") |
| | | return ResponseList(code=404, msg="Agent not found") |
| | | agent_type = int(agent.capacity_type) |
| | | |
| | | if agent.agent_type == AgentType.RAGFLOW: |
| | | if agent_type == AgentType.RAGFLOW: |
| | | ragflow_service = RagflowService(base_url=settings.fwr_base_url) |
| | | try: |
| | | token = await get_ragflow_token(db, current_user.id) |
| | |
| | | return JSONResponse(status_code=200, content={"code": 400, "message": "Invalid result structure"}) |
| | | except Exception as e: |
| | | raise HTTPException(status_code=500, detail=str(e)) |
| | | elif agent.agent_type == AgentType.BISHENG: |
| | | elif agent_type == AgentType.BISHENG: |
| | | is_join = False |
| | | if agent.name == "报告生成": |
| | | is_join = True |
| | |
| | | 'answer': answer_str, 'files': files}]}) |
| | | except Exception as e: |
| | | raise HTTPException(status_code=500, detail=str(e)) |
| | | elif agent.agent_type == AgentType.BASIC: |
| | | elif agent_type == AgentType.BASIC: |
| | | data = [] |
| | | session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first() |
| | | if session: |
| | |
| | | data.append(tmp_data) |
| | | |
| | | return JSONResponse(status_code=200, content={"code": 200, "data": data}) |
| | | elif agent.agent_type == AgentType.DIFY: |
| | | elif agent_type == AgentType.DIFY: |
| | | data = [] |
| | | session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first() |
| | | if session: |
| | |
| | | current_user: UserModel = Depends(get_current_user), |
| | | db=Depends(get_db)): |
| | | if current and not pageSize: |
| | | return ResponseList(code=400, msg="缺少参数") |
| | | return Response(code=400, msg="缺少参数") |
| | | if status and status not in ["0", "1"]: |
| | | return Response(code=400, msg="Parameter status exception") |
| | | return Response(code=200, msg="", data=await get_dialog_list(db, current_user.id, keyword, label, status, pageSize, current)) |
| | | |
| | | |
| | |
| | | from sqlalchemy import Column, Integer, String, DateTime, Table, ForeignKey |
| | | from sqlalchemy.orm import relationship, backref |
| | | |
| | | from app.config.const import RESOURCE_STATUS_DELETE, DEPT_STATUS_DELETE |
| | | from app.models.base_model import Base |
| | | |
| | | # 角色资源关联表 |
| | |
| | | } |
| | | |
| | | # if len(self.resources) > 0: |
| | | json['resources'] = [resource.to_json() for resource in self.resources] |
| | | json['resources'] = [resource.to_json() for resource in self.resources if resource.status != DEPT_STATUS_DELETE] |
| | | |
| | | json['dept'] = [dept.to_base_json() for dept in self.organizations] |
| | | json['dept'] = [dept.to_base_json() for dept in self.organizationsif if dept.status != RESOURCE_STATUS_DELETE] |
| | | |
| | | return json |
| | | |
| | |
| | | user = db.query(UserModel).filter(UserModel.id == user_id).first() |
| | | if user is None: |
| | | return {"rows": []} |
| | | query = db.query(DialogModel).filter(DialogModel.status != Dialog_STATSU_DELETE) |
| | | query = db.query(DialogModel) |
| | | if status: |
| | | query = query.filter(DialogModel.status == status) |
| | | else: |
| | | query = query.filter(DialogModel.status != Dialog_STATSU_DELETE) |
| | | id_list = [] |
| | | if label: |
| | | id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id==label).all()] |
| | |
| | | if keyword: |
| | | query = query.filter(DialogModel.name.like('%{}%'.format(keyword))) |
| | | |
| | | if status: |
| | | # print(status) |
| | | query = query.filter(DialogModel.status == status) |
| | | |
| | | query = query.order_by(DialogModel.update_date.desc()) |
| | | total = query.count() |
| | | if page_size: |