test_text_embedding.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import os
  2. import pytest
  3. from core.model_runtime.entities.text_embedding_entities import TextEmbeddingResult
  4. from core.model_runtime.errors.validate import CredentialsValidateFailedError
  5. from core.model_runtime.model_providers.cohere.text_embedding.text_embedding import CohereTextEmbeddingModel
  6. def test_validate_credentials():
  7. model = CohereTextEmbeddingModel()
  8. with pytest.raises(CredentialsValidateFailedError):
  9. model.validate_credentials(model="embed-multilingual-v3.0", credentials={"api_key": "invalid_key"})
  10. model.validate_credentials(
  11. model="embed-multilingual-v3.0", credentials={"api_key": os.environ.get("COHERE_API_KEY")}
  12. )
  13. def test_invoke_model():
  14. model = CohereTextEmbeddingModel()
  15. result = model.invoke(
  16. model="embed-multilingual-v3.0",
  17. credentials={"api_key": os.environ.get("COHERE_API_KEY")},
  18. texts=["hello", "world", " ".join(["long_text"] * 100), " ".join(["another_long_text"] * 100)],
  19. user="abc-123",
  20. )
  21. assert isinstance(result, TextEmbeddingResult)
  22. assert len(result.embeddings) == 4
  23. assert result.usage.total_tokens == 811
  24. def test_get_num_tokens():
  25. model = CohereTextEmbeddingModel()
  26. num_tokens = model.get_num_tokens(
  27. model="embed-multilingual-v3.0",
  28. credentials={"api_key": os.environ.get("COHERE_API_KEY")},
  29. texts=["hello", "world"],
  30. )
  31. assert num_tokens == 3