浏览代码

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:

正在加载...
取消
保存