Kevin Hu commited on
Commit
f76d985
·
1 Parent(s): 01faf42

Fix error message for image access. (#3936)

Browse files

### What problem does this PR solve?

#3883

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

api/apps/document_app.py CHANGED
@@ -498,6 +498,9 @@ def change_parser():
498
  # @login_required
499
  def get_image(image_id):
500
  try:
 
 
 
501
  bkt, nm = image_id.split("-")
502
  response = flask.make_response(STORAGE_IMPL.get(bkt, nm))
503
  response.headers.set('Content-Type', 'image/JPEG')
 
498
  # @login_required
499
  def get_image(image_id):
500
  try:
501
+ arr = image_id.split("-")
502
+ if len(arr) != 2:
503
+ return get_data_error_result(message="Image not found.")
504
  bkt, nm = image_id.split("-")
505
  response = flask.make_response(STORAGE_IMPL.get(bkt, nm))
506
  response.headers.set('Content-Type', 'image/JPEG')
api/db/services/canvas_service.py CHANGED
@@ -16,7 +16,7 @@
16
  import json
17
  from uuid import uuid4
18
  from agent.canvas import Canvas
19
- from api.db.db_models import DB, CanvasTemplate, UserCanvas
20
  from api.db.services.api_service import API4ConversationService
21
  from api.db.services.common_service import CommonService
22
  from api.db.services.conversation_service import structure_answer
@@ -65,23 +65,24 @@ def completion(tenant_id, agent_id, question, session_id=None, stream=True, **kw
65
  "id": session_id,
66
  "dialog_id": cvs.id,
67
  "user_id": kwargs.get("user_id", ""),
68
- "message": [{"role": "assistant", "content": canvas.get_prologue()}],
69
  "source": "agent",
70
  "dsl": json.loads(cvs.dsl)
71
  }
72
  API4ConversationService.save(**conv)
73
- yield "data:" + json.dumps({"code": 0,
 
74
  "message": "",
75
  "data": {
76
  "session_id": session_id,
77
- "answer": canvas.get_prologue(),
78
  "reference": [],
79
  "param": canvas.get_preset_param()
80
  }
81
  },
82
  ensure_ascii=False) + "\n\n"
83
- yield "data:" + json.dumps({"code": 0, "message": "", "data": True}, ensure_ascii=False) + "\n\n"
84
- return
 
85
  else:
86
  session_id = session_id
87
  e, conv = API4ConversationService.get_by_id(session_id)
 
16
  import json
17
  from uuid import uuid4
18
  from agent.canvas import Canvas
19
+ from api.db.db_models import DB, CanvasTemplate, UserCanvas, API4Conversation
20
  from api.db.services.api_service import API4ConversationService
21
  from api.db.services.common_service import CommonService
22
  from api.db.services.conversation_service import structure_answer
 
65
  "id": session_id,
66
  "dialog_id": cvs.id,
67
  "user_id": kwargs.get("user_id", ""),
 
68
  "source": "agent",
69
  "dsl": json.loads(cvs.dsl)
70
  }
71
  API4ConversationService.save(**conv)
72
+ if canvas.get_preset_param():
73
+ yield "data:" + json.dumps({"code": 0,
74
  "message": "",
75
  "data": {
76
  "session_id": session_id,
77
+ "answer": "",
78
  "reference": [],
79
  "param": canvas.get_preset_param()
80
  }
81
  },
82
  ensure_ascii=False) + "\n\n"
83
+ yield "data:" + json.dumps({"code": 0, "message": "", "data": True}, ensure_ascii=False) + "\n\n"
84
+ return
85
+ conv = API4Conversation(**conv)
86
  else:
87
  session_id = session_id
88
  e, conv = API4ConversationService.get_by_id(session_id)
api/db/services/conversation_service.py CHANGED
@@ -47,6 +47,8 @@ class ConversationService(CommonService):
47
 
48
  def structure_answer(conv, ans, message_id, session_id):
49
  reference = ans["reference"]
 
 
50
  temp_reference = deepcopy(ans["reference"])
51
  if not conv.reference:
52
  conv.reference.append(temp_reference)
 
47
 
48
  def structure_answer(conv, ans, message_id, session_id):
49
  reference = ans["reference"]
50
+ if not isinstance(reference, dict):
51
+ reference = {}
52
  temp_reference = deepcopy(ans["reference"])
53
  if not conv.reference:
54
  conv.reference.append(temp_reference)