test_chat_memory.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import pytest
  2. from embedchain.memory.base import ECChatMemory
  3. from embedchain.memory.message import ChatMessage
  4. # Fixture for creating an instance of ECChatMemory
  5. @pytest.fixture
  6. def chat_memory_instance():
  7. return ECChatMemory()
  8. def test_add_chat_memory(chat_memory_instance):
  9. app_id = "test_app"
  10. human_message = "Hello, how are you?"
  11. ai_message = "I'm fine, thank you!"
  12. chat_message = ChatMessage()
  13. chat_message.add_user_message(human_message)
  14. chat_message.add_ai_message(ai_message)
  15. chat_memory_instance.add(app_id, chat_message)
  16. assert chat_memory_instance.count_history_messages(app_id) == 1
  17. chat_memory_instance.delete_chat_history(app_id)
  18. def test_get_recent_memories(chat_memory_instance):
  19. app_id = "test_app"
  20. for i in range(1, 7):
  21. human_message = f"Question {i}"
  22. ai_message = f"Answer {i}"
  23. chat_message = ChatMessage()
  24. chat_message.add_user_message(human_message)
  25. chat_message.add_ai_message(ai_message)
  26. chat_memory_instance.add(app_id, chat_message)
  27. recent_memories = chat_memory_instance.get_recent_memories(app_id, num_rounds=5)
  28. assert len(recent_memories) == 5
  29. def test_delete_chat_history(chat_memory_instance):
  30. app_id = "test_app"
  31. for i in range(1, 6):
  32. human_message = f"Question {i}"
  33. ai_message = f"Answer {i}"
  34. chat_message = ChatMessage()
  35. chat_message.add_user_message(human_message)
  36. chat_message.add_ai_message(ai_message)
  37. chat_memory_instance.add(app_id, chat_message)
  38. chat_memory_instance.delete_chat_history(app_id)
  39. assert chat_memory_instance.count_history_messages(app_id) == 0
  40. @pytest.fixture
  41. def close_connection(chat_memory_instance):
  42. yield
  43. chat_memory_instance.close_connection()