test_model_cache.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env python3
  2. """
  3. 测试模型缓存机制
  4. """
  5. from lib.text_embedding import compare_phrases
  6. print("=" * 60)
  7. print("测试模型缓存机制")
  8. print("=" * 60)
  9. print()
  10. # 第一次调用 - 会加载模型
  11. print("第一次调用 compare_phrases(会加载模型):")
  12. result1 = compare_phrases("深度学习", "神经网络")
  13. print(f"相似度: {result1['相似度']:.3f}")
  14. print()
  15. # 第二次调用 - 不会加载模型(使用缓存)
  16. print("第二次调用 compare_phrases(使用缓存,不会重新加载):")
  17. result2 = compare_phrases("机器学习", "人工智能")
  18. print(f"相似度: {result2['相似度']:.3f}")
  19. print()
  20. # 第三次调用 - 不会加载模型(使用缓存)
  21. print("第三次调用 compare_phrases(使用缓存,不会重新加载):")
  22. result3 = compare_phrases("Python", "Java")
  23. print(f"相似度: {result3['相似度']:.3f}")
  24. print()
  25. # 切换到多语言模型 - 第一次会加载
  26. print("切换到多语言模型(第一次会加载):")
  27. result4 = compare_phrases("Hello", "Hi", model_name="multilingual")
  28. print(f"相似度: {result4['相似度']:.3f}")
  29. print()
  30. # 再次使用多语言模型 - 不会加载(使用缓存)
  31. print("再次使用多语言模型(使用缓存,不会重新加载):")
  32. result5 = compare_phrases("Good", "Great", model_name="multilingual")
  33. print(f"相似度: {result5['相似度']:.3f}")
  34. print()
  35. # 切换回中文模型 - 不会加载(之前已加载)
  36. print("切换回中文模型(使用缓存,不会重新加载):")
  37. result6 = compare_phrases("编程", "开发")
  38. print(f"相似度: {result6['相似度']:.3f}")
  39. print()
  40. print("=" * 60)
  41. print("总结:")
  42. print(" - 每个模型只在第一次使用时加载一次")
  43. print(" - 后续调用直接使用缓存的模型")
  44. print(" - 可以自由切换不同模型,已加载的模型会保留在内存中")
  45. print("=" * 60)