1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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,
- 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
- # 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()
|