fix: tablestore TypeError when vector is missing (#22843)
Co-authored-by: xiaozhiqing.xzq <xiaozhiqing.xzq@alibaba-inc.com>
This commit is contained in:
@@ -296,12 +296,22 @@ class TableStoreVector(BaseVector):
|
|||||||
documents = []
|
documents = []
|
||||||
for search_hit in search_response.search_hits:
|
for search_hit in search_response.search_hits:
|
||||||
if search_hit.score > score_threshold:
|
if search_hit.score > score_threshold:
|
||||||
metadata = json.loads(search_hit.row[1][0][1])
|
ots_column_map = {}
|
||||||
|
for col in search_hit.row[1]:
|
||||||
|
ots_column_map[col[0]] = col[1]
|
||||||
|
|
||||||
|
vector_str = ots_column_map.get(Field.VECTOR.value)
|
||||||
|
metadata_str = ots_column_map.get(Field.METADATA_KEY.value)
|
||||||
|
|
||||||
|
vector = json.loads(vector_str) if vector_str else None
|
||||||
|
metadata = json.loads(metadata_str) if metadata_str else {}
|
||||||
|
|
||||||
metadata["score"] = search_hit.score
|
metadata["score"] = search_hit.score
|
||||||
|
|
||||||
documents.append(
|
documents.append(
|
||||||
Document(
|
Document(
|
||||||
page_content=search_hit.row[1][2][1],
|
page_content=ots_column_map.get(Field.CONTENT_KEY.value) or "",
|
||||||
vector=json.loads(search_hit.row[1][3][1]),
|
vector=vector,
|
||||||
metadata=metadata,
|
metadata=metadata,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -329,11 +339,20 @@ class TableStoreVector(BaseVector):
|
|||||||
|
|
||||||
documents = []
|
documents = []
|
||||||
for search_hit in search_response.search_hits:
|
for search_hit in search_response.search_hits:
|
||||||
|
ots_column_map = {}
|
||||||
|
for col in search_hit.row[1]:
|
||||||
|
ots_column_map[col[0]] = col[1]
|
||||||
|
|
||||||
|
vector_str = ots_column_map.get(Field.VECTOR.value)
|
||||||
|
metadata_str = ots_column_map.get(Field.METADATA_KEY.value)
|
||||||
|
vector = json.loads(vector_str) if vector_str else None
|
||||||
|
metadata = json.loads(metadata_str) if metadata_str else {}
|
||||||
|
|
||||||
documents.append(
|
documents.append(
|
||||||
Document(
|
Document(
|
||||||
page_content=search_hit.row[1][2][1],
|
page_content=ots_column_map.get(Field.CONTENT_KEY.value) or "",
|
||||||
vector=json.loads(search_hit.row[1][3][1]),
|
vector=vector,
|
||||||
metadata=json.loads(search_hit.row[1][0][1]),
|
metadata=metadata,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return documents
|
return documents
|
||||||
|
Reference in New Issue
Block a user