|
@@ -1,41 +1,24 @@
|
|
|
-import uuid
|
|
|
-
|
|
|
from core.rag.datasource.vdb.weaviate.weaviate_vector import WeaviateConfig, WeaviateVector
|
|
|
from models.dataset import Dataset
|
|
|
from tests.integration_tests.vdb.test_vector_store import (
|
|
|
- get_sample_document,
|
|
|
- get_sample_embedding,
|
|
|
- get_sample_query_vector,
|
|
|
- get_sample_text,
|
|
|
+ AbstractTestVector,
|
|
|
setup_mock_redis,
|
|
|
)
|
|
|
|
|
|
|
|
|
-def test_weaviate_vector(setup_mock_redis) -> None:
|
|
|
- attributes = ['doc_id', 'dataset_id', 'document_id', 'doc_hash']
|
|
|
- dataset_id = str(uuid.uuid4())
|
|
|
- vector = WeaviateVector(
|
|
|
- collection_name=Dataset.gen_collection_name_by_id(dataset_id),
|
|
|
- config=WeaviateConfig(
|
|
|
- endpoint='http://localhost:8080',
|
|
|
- api_key='WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih',
|
|
|
- ),
|
|
|
- attributes=attributes
|
|
|
- )
|
|
|
-
|
|
|
- # create vector
|
|
|
- vector.create(
|
|
|
- texts=[get_sample_document(dataset_id)],
|
|
|
- embeddings=[get_sample_embedding()],
|
|
|
- )
|
|
|
-
|
|
|
- # search by vector
|
|
|
- hits_by_vector = vector.search_by_vector(query_vector=get_sample_query_vector())
|
|
|
- assert len(hits_by_vector) >= 1
|
|
|
+class TestWeaviateVector(AbstractTestVector):
|
|
|
+ def __init__(self):
|
|
|
+ super().__init__()
|
|
|
+ self.attributes = ['doc_id', 'dataset_id', 'document_id', 'doc_hash']
|
|
|
+ self.vector = WeaviateVector(
|
|
|
+ collection_name=self.collection_name,
|
|
|
+ config=WeaviateConfig(
|
|
|
+ endpoint='http://localhost:8080',
|
|
|
+ api_key='WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih',
|
|
|
+ ),
|
|
|
+ attributes=self.attributes
|
|
|
+ )
|
|
|
|
|
|
- # search by full text
|
|
|
- hits_by_full_text = vector.search_by_full_text(query=get_sample_text())
|
|
|
- assert len(hits_by_full_text) >= 1
|
|
|
|
|
|
- # delete vector
|
|
|
- vector.delete()
|
|
|
+def test_weaviate_vector(setup_mock_redis):
|
|
|
+ TestWeaviateVector().run_all_test()
|