瀏覽代碼

Fixed retrieval TypeError: unhashable type: 'list' (#3966)

### What problem does this PR solve?

Fixed retrieval TypeError: unhashable type: 'list'

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.15.0
Zhichang Yu 10 月之前
父節點
當前提交
3d76f10a91
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 5 行新增4 行删除
  1. 5
    4
      rag/utils/infinity_conn.py

+ 5
- 4
rag/utils/infinity_conn.py 查看文件

@@ -350,8 +350,9 @@ class InfinityConnection(DocStoreConnection):
assert "_id" not in d
assert "id" in d
for k, v in d.items():
if k.endswith("_kwd") and isinstance(v, list):
d[k] = " ".join(v)
if k in ["important_kwd", "question_kwd", "entities_kwd"]:
assert isinstance(v, list)
d[k] = "###".join(v)
elif k == 'kb_id':
if isinstance(d[k], list):
d[k] = d[k][0] # since d[k] is a list, but we need a str
@@ -443,9 +444,9 @@ class InfinityConnection(DocStoreConnection):
v = res[fieldnm][i]
if isinstance(v, Series):
v = list(v)
elif fieldnm.endswith("_kwd"):
elif fieldnm in ["important_kwd", "question_kwd", "entities_kwd"]:
assert isinstance(v, str)
v = v.split()
v = [kwd for kwd in v.split("###") if kwd]
elif fieldnm == "position_int":
assert isinstance(v, str)
if v:

Loading…
取消
儲存