26 lines
1017 B
Python
Raw Permalink Normal View History

from unittest.mock import Mock
from unstructured.documents.elements import Text
from unstructured.embed.voyageai import VoyageAIEmbeddingConfig, VoyageAIEmbeddingEncoder
def test_embed_documents_does_not_break_element_to_dict(mocker):
# Mocked client with the desired behavior for embed_documents
embed_response = Mock()
embed_response.embeddings = [[1], [2]]
mock_client = mocker.MagicMock()
mock_client.embed.return_value = embed_response
# Mock get_client to return our mock_client
mocker.patch.object(VoyageAIEmbeddingConfig, "get_client", return_value=mock_client)
encoder = VoyageAIEmbeddingEncoder(
config=VoyageAIEmbeddingConfig(api_key="api_key", model_name="voyage-3-large")
)
elements = encoder.embed_documents(
elements=[Text("This is sentence 1"), Text("This is sentence 2")],
)
assert len(elements) == 2
assert elements[0].to_dict()["text"] == "This is sentence 1"
assert elements[1].to_dict()["text"] == "This is sentence 2"