add qdrant migrate to tidb

This commit is contained in:
jyong 2025-12-09 18:26:03 +08:00
parent 022cfbd186
commit 5ae1f62daf
2 changed files with 21 additions and 13 deletions

View File

@ -361,23 +361,27 @@ def migrate_knowledge_vector_database():
else:
raise ValueError(f"Vector store {vector_type} is not supported.")
index_struct_dict = {"type": vector_type, "vector_store": {"class_prefix": collection_name}}
index_struct_dict = {
"type": vector_type,
"vector_store": {"class_prefix": collection_name},
"original_type": dataset.index_struct_dict["type"],
}
dataset.index_struct = json.dumps(index_struct_dict)
vector = Vector(dataset)
click.echo(f"Migrating dataset {dataset.id}.")
try:
vector.delete()
click.echo(
click.style(f"Deleted vector index {collection_name} for dataset {dataset.id}.", fg="green")
)
except Exception as e:
click.echo(
click.style(
f"Failed to delete vector index {collection_name} for dataset {dataset.id}.", fg="red"
)
)
raise e
# try:
# vector.delete()
# click.echo(
# click.style(f"Deleted vector index {collection_name} for dataset {dataset.id}.", fg="green")
# )
# except Exception as e:
# click.echo(
# click.style(
# f"Failed to delete vector index {collection_name} for dataset {dataset.id}.", fg="red"
# )
# )
# raise e
dataset_documents = db.session.scalars(
select(DatasetDocument).where(
@ -391,6 +395,7 @@ def migrate_knowledge_vector_database():
documents = []
segments_count = 0
for dataset_document in dataset_documents:
segments = db.session.scalars(
select(DocumentSegment).where(
DocumentSegment.document_id == dataset_document.id,

View File

@ -283,6 +283,9 @@ class Vector:
}
)
return self._vector_processor.search_by_vector(multimodal_vector, **kwargs)
def search_by_metadata_field(self, key: str, value: str, **kwargs: Any) -> list[Document]:
return self._vector_processor.search_by_metadata_field(key, value, **kwargs)
def search_by_full_text(self, query: str, **kwargs: Any) -> list[Document]:
return self._vector_processor.search_by_full_text(query, **kwargs)