"""Test mosaicml embeddings.""" from langchain.embeddings.mosaicml import MosaicMLInstructorEmbeddings def test_mosaicml_embedding_documents() -> None: """Test MosaicML embeddings.""" documents = ["foo bar"] embedding = MosaicMLInstructorEmbeddings() output = embedding.embed_documents(documents) assert len(output) == 1 assert len(output[0]) == 768 def test_mosaicml_embedding_documents_multiple() -> None: """Test MosaicML embeddings with multiple documents.""" documents = ["foo bar", "bar foo", "foo"] embedding = MosaicMLInstructorEmbeddings() output = embedding.embed_documents(documents) assert len(output) == 3 assert len(output[0]) == 768 assert len(output[1]) == 768 assert len(output[2]) == 768 def test_mosaicml_embedding_query() -> None: """Test MosaicML embeddings of queries.""" document = "foo bar" embedding = MosaicMLInstructorEmbeddings() output = embedding.embed_query(document) assert len(output) == 768 def test_mosaicml_embedding_endpoint() -> None: """Test MosaicML embeddings with a different endpoint""" documents = ["foo bar"] embedding = MosaicMLInstructorEmbeddings( endpoint_url="https://models.hosted-on.mosaicml.hosting/instructor-xl/v1/predict" ) output = embedding.embed_documents(documents) assert len(output) == 1 assert len(output[0]) == 768 def test_mosaicml_embedding_query_instruction() -> None: """Test MosaicML embeddings with a different query instruction.""" document = "foo bar" embedding = MosaicMLInstructorEmbeddings(query_instruction="Embed this query:") output = embedding.embed_query(document) assert len(output) == 768 def test_mosaicml_embedding_document_instruction() -> None: """Test MosaicML embeddings with a different query instruction.""" documents = ["foo bar"] embedding = MosaicMLInstructorEmbeddings(embed_instruction="Embed this document:") output = embedding.embed_documents(documents) assert len(output) == 1 assert len(output[0]) == 768