Reformatting

This commit is contained in:
Jarrod Lowe
2025-05-12 17:08:28 +12:00
parent b0401e1f36
commit 607d01b107
3 changed files with 31 additions and 13 deletions

View File

@@ -930,10 +930,7 @@ class ChatTable:
return ChatModel.model_validate(chat)
output_file_ids.append(file_id)
chat.meta = {
**chat.meta,
"outputFileIds": output_file_ids
}
chat.meta = {**chat.meta, "outputFileIds": output_file_ids}
chat.updated_at = int(time.time())
db.commit()

View File

@@ -211,11 +211,16 @@ class FilesTable:
except Exception:
return None
def update_file_access_control_by_id(self, id: str, access_control: dict) -> Optional[FileModel]:
def update_file_access_control_by_id(
self, id: str, access_control: dict
) -> Optional[FileModel]:
with get_db() as db:
try:
file = db.query(File).filter_by(id=id).first()
file.access_control = {**(file.access_control if file.access_control else {}), **access_control}
file.access_control = {
**(file.access_control if file.access_control else {}),
**access_control,
}
db.commit()
return FileModel.model_validate(file)
except Exception as e:

View File

@@ -2041,7 +2041,9 @@ async def process_chat_response(
)
retries += 1
log.debug(f"Attempt count: {retries}, intepreter {request.app.state.config.CODE_INTERPRETER_ENGINE}")
log.debug(
f"Attempt count: {retries}, intepreter {request.app.state.config.CODE_INTERPRETER_ENGINE}"
)
output = ""
try:
@@ -2090,7 +2092,6 @@ async def process_chat_response(
"stdout": "Code interpreter engine not configured."
}
if isinstance(output, dict):
for sourceField in ("stdout", "result"):
source = output.get(sourceField, "")
@@ -2100,16 +2101,31 @@ async def process_chat_response(
for idx, line in enumerate(sourceLines):
if "data:image/png;base64" in line:
# line looks like data:image/png;base64,<base64data>
content_type = line.split(',')[0].split(';')[0].split(':')[1]
file_data = io.BytesIO(base64.b64decode(line.split(',')[1]))
content_type = (
line.split(",")[0]
.split(";")[0]
.split(":")[1]
)
file_data = io.BytesIO(
base64.b64decode(
line.split(",")[1]
)
)
file_name = f"image-{metadata['chat_id']}-{metadata['message_id']}-{sourceField}-{idx}.png"
file = UploadFile(
filename=file_name,
file=file_data,
headers={"content-type": content_type},
headers={
"content-type": content_type
},
)
file_response = upload_file(
request, file, user=user
)
Chats.add_output_file_id_to_chat(
metadata["chat_id"],
file_response.id,
)
file_response = upload_file(request, file, user=user)
Chats.add_output_file_id_to_chat(metadata["chat_id"], file_response.id)
sourceLines[idx] = (
f"![Output Image {idx}](/api/v1/files/{file_response.id}/content)"