test_multimodal_embedding.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/usr/bin/env python3
  2. """
  3. 测试MultimodalEmbedding类的修复
  4. """
  5. from services.model.multimodal_embedding import MultimodalEmbedding
  6. def test_multimodal_embedding_init():
  7. """测试MultimodalEmbedding实例化"""
  8. print("=== 测试MultimodalEmbedding实例化 ===")
  9. try:
  10. # 尝试实例化MultimodalEmbedding类
  11. embedding = MultimodalEmbedding()
  12. print("✓ MultimodalEmbedding实例化成功")
  13. print(f" 模型提供商: {embedding.model_provider}")
  14. print(f" 模型名称: {embedding.model_name}")
  15. return True
  16. except Exception as e:
  17. print(f"✗ MultimodalEmbedding实例化失败: {str(e)}")
  18. return False
  19. def test_multimodal_embedding_methods():
  20. """测试MultimodalEmbedding方法"""
  21. print("\n=== 测试MultimodalEmbedding方法 ===")
  22. try:
  23. embedding = MultimodalEmbedding()
  24. # 测试方法是否存在
  25. methods_to_test = [
  26. 'get_text_embedding',
  27. 'get_texts_embedding',
  28. 'get_image_embedding',
  29. 'get_multimodal_embedding'
  30. ]
  31. for method_name in methods_to_test:
  32. if hasattr(embedding, method_name) and callable(getattr(embedding, method_name)):
  33. print(f"✓ 方法 {method_name} 存在且可调用")
  34. else:
  35. print(f"✗ 方法 {method_name} 不存在或不可调用")
  36. return False
  37. return True
  38. except Exception as e:
  39. print(f"✗ 测试方法存在性失败: {str(e)}")
  40. return False
  41. if __name__ == "__main__":
  42. print("开始测试MultimodalEmbedding修复...")
  43. test1 = test_multimodal_embedding_init()
  44. test2 = test_multimodal_embedding_methods()
  45. if test1 and test2:
  46. print("\n🎉 所有测试通过!MultimodalEmbedding修复成功。")
  47. exit(0)
  48. else:
  49. print("\n❌ 测试失败!MultimodalEmbedding修复存在问题。")
  50. exit(1)