in python/src/tablestore_for_agent_memory/knowledge/knowledge_store.py [0:0]
def get_documents(self, document_id_list: List[str], tenant_id: Optional[str] = None) -> List[Optional[Document]]:
if len(document_id_list) is None:
return []
tenant_id = self._check_enable_multi_tenant_id(tenant_id)
documents = []
total = len(document_id_list)
batch_size = 100
for start in range(0, total, batch_size):
end = start + batch_size
current_batch = document_id_list[start:end]
rows_to_get = []
for document_id in current_batch:
primary_key = [('document_id', document_id), ('tenant_id', tenant_id)]
rows_to_get.append(primary_key)
request = BatchGetRowRequest()
request.add(TableInBatchGetRowItem(self._table_name, rows_to_get, None, None, 1))
result = self._client.batch_get_row(request)
table_result = result.get_result_by_table(self._table_name)
for i in range(len(table_result)):
item = table_result[i]
if item.is_ok:
document = TablestoreHelper.row_to_document(item.row, self._text_field, self._embedding_field)
documents.append(document)
else:
raise ValueError(f"read failed for row:{rows_to_get[i]}, error code: {item.error_code}, error message: {item.error_message}")
return documents