mirror of
https://github.com/langgenius/dify.git
synced 2025-07-26 19:10:33 +00:00
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
![]() |
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()
|