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 = []
|
||||
for search_hit in search_response.search_hits:
|
||||
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
|
||||
|
||||
documents.append(
|
||||
Document(
|
||||
page_content=search_hit.row[1][2][1],
|
||||
vector=json.loads(search_hit.row[1][3][1]),
|
||||
page_content=ots_column_map.get(Field.CONTENT_KEY.value) or "",
|
||||
vector=vector,
|
||||
metadata=metadata,
|
||||
)
|
||||
)
|
||||
@@ -329,11 +339,20 @@ class TableStoreVector(BaseVector):
|
||||
|
||||
documents = []
|
||||
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(
|
||||
Document(
|
||||
page_content=search_hit.row[1][2][1],
|
||||
vector=json.loads(search_hit.row[1][3][1]),
|
||||
metadata=json.loads(search_hit.row[1][0][1]),
|
||||
page_content=ots_column_map.get(Field.CONTENT_KEY.value) or "",
|
||||
vector=vector,
|
||||
metadata=metadata,
|
||||
)
|
||||
)
|
||||
return documents
|
||||
|
Reference in New Issue
Block a user