fix: Fix for Empty Reference Array Causing Errors (#1652)

### What problem does this PR solve?

This pull request addresses an issue where the reference is an empty
array ([]) in specific cases, leading to errors in the application. When
the reference is empty, the code attempts to call the get method on a
list, resulting in the following error message:
``` json
{"retcode": 500, "retmsg": "'list' object has no attribute 'get'", "data": {"answer": "**ERROR**: 'list' object has no attribute 'get'", "reference": []}}
```

### Type of change

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

Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>
This commit is contained in:
Myth 2024-07-25 14:14:42 +08:00 committed by GitHub
parent bc50f68127
commit d38f995ba6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -199,8 +199,11 @@ def completion():
conv.message[-1] = {"role": "assistant", "content": ans["answer"]}
def rename_field(ans):
for chunk in ans.get('reference', []):
for chunk_i in chunk.get('chunks', []):
reference = ans['reference']
if not isinstance(reference, dict):
return
for chunk_i in reference.get('chunks', []):
if 'docnm_kwd' in chunk_i:
chunk_i['doc_name'] = chunk_i['docnm_kwd']
chunk_i.pop('docnm_kwd')