#!/usr/bin/env python3
"""
测试模型缓存机制
"""
from lib.text_embedding import compare_phrases

print("=" * 60)
print("测试模型缓存机制")
print("=" * 60)
print()

# 第一次调用 - 会加载模型
print("第一次调用 compare_phrases（会加载模型）:")
result1 = compare_phrases("深度学习", "神经网络")
print(f"相似度: {result1['相似度']:.3f}")
print()

# 第二次调用 - 不会加载模型（使用缓存）
print("第二次调用 compare_phrases（使用缓存，不会重新加载）:")
result2 = compare_phrases("机器学习", "人工智能")
print(f"相似度: {result2['相似度']:.3f}")
print()

# 第三次调用 - 不会加载模型（使用缓存）
print("第三次调用 compare_phrases（使用缓存，不会重新加载）:")
result3 = compare_phrases("Python", "Java")
print(f"相似度: {result3['相似度']:.3f}")
print()

# 切换到多语言模型 - 第一次会加载
print("切换到多语言模型（第一次会加载）:")
result4 = compare_phrases("Hello", "Hi", model_name="multilingual")
print(f"相似度: {result4['相似度']:.3f}")
print()

# 再次使用多语言模型 - 不会加载（使用缓存）
print("再次使用多语言模型（使用缓存，不会重新加载）:")
result5 = compare_phrases("Good", "Great", model_name="multilingual")
print(f"相似度: {result5['相似度']:.3f}")
print()

# 切换回中文模型 - 不会加载（之前已加载）
print("切换回中文模型（使用缓存，不会重新加载）:")
result6 = compare_phrases("编程", "开发")
print(f"相似度: {result6['相似度']:.3f}")
print()

print("=" * 60)
print("总结:")
print("  - 每个模型只在第一次使用时加载一次")
print("  - 后续调用直接使用缓存的模型")
print("  - 可以自由切换不同模型，已加载的模型会保留在内存中")
print("=" * 60)
