fix chat and thumbnail bug (#2803)

### What problem does this PR solve?

1. fix white screen issue when chat response
2. thumbnail bug when document not support

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [ ] New Feature (non-breaking change which adds functionality)
- [ ] Documentation Update
- [ ] Refactoring
- [ ] Performance Improvement
- [ ] Other (please describe):

---------

Co-authored-by: chongchuanbing <chongchuanbing@gmail.com>
This commit is contained in:
chongchuanbing 2024-10-11 16:10:27 +08:00 committed by GitHub
parent 190eea7097
commit 2a86472b88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 4 deletions

View File

@ -238,6 +238,11 @@ def thumbnails():
try:
docs = DocumentService.get_thumbnails(doc_ids)
for doc_item in docs:
if doc_item['thumbnail'] and not doc_item['thumbnail'].startswith(IMG_BASE64_PREFIX):
doc_item['thumbnail'] = f"/v1/document/image/{doc_item['kb_id']}-{doc_item['thumbnail']}"
return get_json_result(data={d["id"]: d["thumbnail"] for d in docs})
except Exception as e:
return server_error_response(e)

View File

@ -268,7 +268,7 @@ class DocumentService(CommonService):
@classmethod
@DB.connection_context()
def get_thumbnails(cls, docids):
fields = [cls.model.id, cls.model.thumbnail]
fields = [cls.model.id, cls.model.kb_id, cls.model.thumbnail]
return list(cls.model.select(
*fields).where(cls.model.id.in_(docids)).dicts())

View File

@ -358,6 +358,8 @@ class FileService(CommonService):
doc_id = get_uuid()
img = thumbnail_img(filename, blob)
thumbnail_location = ''
if img is not None:
thumbnail_location = f'thumbnail_{doc_id}.png'
STORAGE_IMPL.put(kb.id, thumbnail_location, img)

View File

@ -45,7 +45,7 @@ const MarkdownContent = ({
}, [content, loading, t]);
useEffect(() => {
setDocumentIds(reference?.doc_aggs.map((x) => x.doc_id) ?? []);
setDocumentIds(reference?.doc_aggs?.map((x) => x.doc_id) ?? []);
}, [reference, setDocumentIds]);
const handleDocumentButtonClick = useCallback(