test_embedding.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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.openllm.text_embedding.text_embedding import OpenLLMTextEmbeddingModel
  6. def test_validate_credentials():
  7. model = OpenLLMTextEmbeddingModel()
  8. with pytest.raises(CredentialsValidateFailedError):
  9. model.validate_credentials(
  10. model="NOT IMPORTANT",
  11. credentials={
  12. "server_url": "ww" + os.environ.get("OPENLLM_SERVER_URL"),
  13. },
  14. )
  15. model.validate_credentials(
  16. model="NOT IMPORTANT",
  17. credentials={
  18. "server_url": os.environ.get("OPENLLM_SERVER_URL"),
  19. },
  20. )
  21. def test_invoke_model():
  22. model = OpenLLMTextEmbeddingModel()
  23. result = model.invoke(
  24. model="NOT IMPORTANT",
  25. credentials={
  26. "server_url": os.environ.get("OPENLLM_SERVER_URL"),
  27. },
  28. texts=["hello", "world"],
  29. user="abc-123",
  30. )
  31. assert isinstance(result, TextEmbeddingResult)
  32. assert len(result.embeddings) == 2
  33. assert result.usage.total_tokens > 0
  34. def test_get_num_tokens():
  35. model = OpenLLMTextEmbeddingModel()
  36. num_tokens = model.get_num_tokens(
  37. model="NOT IMPORTANT",
  38. credentials={
  39. "server_url": os.environ.get("OPENLLM_SERVER_URL"),
  40. },
  41. texts=["hello", "world"],
  42. )
  43. assert num_tokens == 2