Fix error message for image access. (#3936)

### What problem does this PR solve?

#3883

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Kevin Hu
2024-12-09 15:24:58 +08:00
committed by GitHub
parent 044afa83d1
commit afe82feb57
3 changed files with 12 additions and 6 deletions

View File

@ -498,6 +498,9 @@ def change_parser():
# @login_required # @login_required
def get_image(image_id): def get_image(image_id):
try: try:
arr = image_id.split("-")
if len(arr) != 2:
return get_data_error_result(message="Image not found.")
bkt, nm = image_id.split("-") bkt, nm = image_id.split("-")
response = flask.make_response(STORAGE_IMPL.get(bkt, nm)) response = flask.make_response(STORAGE_IMPL.get(bkt, nm))
response.headers.set('Content-Type', 'image/JPEG') response.headers.set('Content-Type', 'image/JPEG')

View File

@ -16,7 +16,7 @@
import json import json
from uuid import uuid4 from uuid import uuid4
from agent.canvas import Canvas from agent.canvas import Canvas
from api.db.db_models import DB, CanvasTemplate, UserCanvas from api.db.db_models import DB, CanvasTemplate, UserCanvas, API4Conversation
from api.db.services.api_service import API4ConversationService from api.db.services.api_service import API4ConversationService
from api.db.services.common_service import CommonService from api.db.services.common_service import CommonService
from api.db.services.conversation_service import structure_answer 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
"id": session_id, "id": session_id,
"dialog_id": cvs.id, "dialog_id": cvs.id,
"user_id": kwargs.get("user_id", ""), "user_id": kwargs.get("user_id", ""),
"message": [{"role": "assistant", "content": canvas.get_prologue()}],
"source": "agent", "source": "agent",
"dsl": json.loads(cvs.dsl) "dsl": json.loads(cvs.dsl)
} }
API4ConversationService.save(**conv) API4ConversationService.save(**conv)
yield "data:" + json.dumps({"code": 0, if canvas.get_preset_param():
yield "data:" + json.dumps({"code": 0,
"message": "", "message": "",
"data": { "data": {
"session_id": session_id, "session_id": session_id,
"answer": canvas.get_prologue(), "answer": "",
"reference": [], "reference": [],
"param": canvas.get_preset_param() "param": canvas.get_preset_param()
} }
}, },
ensure_ascii=False) + "\n\n" ensure_ascii=False) + "\n\n"
yield "data:" + json.dumps({"code": 0, "message": "", "data": True}, ensure_ascii=False) + "\n\n" yield "data:" + json.dumps({"code": 0, "message": "", "data": True}, ensure_ascii=False) + "\n\n"
return return
conv = API4Conversation(**conv)
else: else:
session_id = session_id session_id = session_id
e, conv = API4ConversationService.get_by_id(session_id) e, conv = API4ConversationService.get_by_id(session_id)

View File

@ -47,6 +47,8 @@ class ConversationService(CommonService):
def structure_answer(conv, ans, message_id, session_id): def structure_answer(conv, ans, message_id, session_id):
reference = ans["reference"] reference = ans["reference"]
if not isinstance(reference, dict):
reference = {}
temp_reference = deepcopy(ans["reference"]) temp_reference = deepcopy(ans["reference"])
if not conv.reference: if not conv.reference:
conv.reference.append(temp_reference) conv.reference.append(temp_reference)