From dc478b065693dd24e4cae719186d6aafb2d24f6d Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期一, 25 十一月 2024 10:05:10 +0800 Subject: [PATCH] difyq 接入 --- app/api/agent.py | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/app/api/agent.py b/app/api/agent.py index 5842350..5e72c15 100644 --- a/app/api/agent.py +++ b/app/api/agent.py @@ -161,6 +161,30 @@ data.append(tmp_data) return JSONResponse(status_code=200, content={"code": 200, "data": data}) + elif agent.agent_type == AgentType.DIFY: + data = [] + session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first() + if session: + tmp_data = {} + for i in session.log_to_json().get("message", []): + if i.get("role") == "user": + tmp_data["question"] = i.get("content") + elif i.get("role") == "assistant": + if isinstance(i.get("content"), dict): + tmp_data["answer"] = i.get("content", {}).get("answer") + if "file_name" in i.get("content", {}): + tmp_data["files"] = [{"file_name": i.get("content", {}).get("file_name"), + "file_url": i.get("content", {}).get("file_url")}] + else: + tmp_data["answer"] = i.get("content") + data.append(tmp_data) + tmp_data = {} + + if tmp_data: + data.append(tmp_data) + + return JSONResponse(status_code=200, content={"code": 200, "data": data}) + else: return JSONResponse(status_code=200, content={"code": 200, "log": "Unsupported agent type"}) -- Gitblit v1.8.0