ソースを参照

fix: tablestore TypeError when vector is missing (#22843)

Co-authored-by: xiaozhiqing.xzq <xiaozhiqing.xzq@alibaba-inc.com>
tags/1.7.1
wanttobeamaster 3ヶ月前
コミット
1c3c40db69
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更25行の追加6行の削除
  1. 25
    6
      api/core/rag/datasource/vdb/tablestore/tablestore_vector.py

+ 25
- 6
api/core/rag/datasource/vdb/tablestore/tablestore_vector.py ファイルの表示

@@ -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

読み込み中…
キャンセル
保存