Fix api reference empty bug (#1655)

### What problem does this PR solve?

fix api reference empty bug
```
for chunk_i in answer['reference'].get('chunks',[]):
                   ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'get'
```
```
return np.array([d["relevance_score"] for d in res["results"]]), res["meta"]["tokens"]["input_tokens"]+res["meta"]["tokens"]["output_tokens"]
                                                   ~~~^^^^^^^^^^^
KeyError: 'results'
```
### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Kung Quang 2024-07-24 18:02:22 +08:00 committed by GitHub
parent f4d182e4ee
commit 32d5885b68
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 7 deletions

View File

@ -199,9 +199,10 @@ def completion():
conv.message[-1] = {"role": "assistant", "content": ans["answer"]}
def rename_field(ans):
for chunk_i in ans['reference'].get('chunks', []):
chunk_i['doc_name'] = chunk_i['docnm_kwd']
chunk_i.pop('docnm_kwd')
for chunk in ans.get('reference', []):
for chunk_i in chunk.get('chunks', []):
chunk_i['doc_name'] = chunk_i['docnm_kwd']
chunk_i.pop('docnm_kwd')
def stream():
nonlocal dia, msg, req, conv
@ -232,10 +233,7 @@ def completion():
API4ConversationService.append_message(conv.id, conv.to_dict())
break
for chunk_i in answer['reference'].get('chunks',[]):
chunk_i['doc_name'] = chunk_i['docnm_kwd']
chunk_i.pop('docnm_kwd')
rename_field(answer)
return get_json_result(data=answer)
except Exception as e:
@ -252,6 +250,8 @@ def get(conversation_id):
conv = conv.to_dict()
for referenct_i in conv['reference']:
if referenct_i is None or len(referenct_i) == 0:
continue
for chunk_i in referenct_i['chunks']:
if 'docnm_kwd' in chunk_i.keys():
chunk_i['doc_name'] = chunk_i['docnm_kwd']

View File

@ -147,6 +147,8 @@ class XInferenceRerank(Base):
}
def similarity(self, query: str, texts: list):
if len(texts) == 0:
return np.array([]), 0
data = {
"model": self.model_name,
"query": query,