xuyonghao
2025-01-08 5d496fc89a5ea19aaa1a7cb91947d656bd25bafb
app/api/agent.py
@@ -81,11 +81,15 @@
@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)
@@ -116,7 +120,7 @@
                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
@@ -180,7 +184,7 @@
                            '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:
@@ -188,6 +192,8 @@
            for i in session.log_to_json().get("message", []):
                if i.get("role") == "user":
                    tmp_data["question"]=i.get("content")
                    if i.get("download_url") is not None:
                        tmp_data["download_url"] = i.get("download_url")
                elif i.get("role") == "assistant":
                    if isinstance(i.get("content"), dict):
@@ -219,7 +225,7 @@
                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: