diff --git a/evennia/contrib/rpg/llm/llm_npc.py b/evennia/contrib/rpg/llm/llm_npc.py index b44643793e..ad6c1caa1a 100644 --- a/evennia/contrib/rpg/llm/llm_npc.py +++ b/evennia/contrib/rpg/llm/llm_npc.py @@ -56,7 +56,7 @@ class LLMNPC(DefaultCharacter): @property def llm_client(self): - if not hasattr(self, "_llm_client"): + if not self.ndb.llm_client: self.ndb.llm_client = LLMClient() return self.ndb.llm_client diff --git a/evennia/contrib/rpg/llm/tests.py b/evennia/contrib/rpg/llm/tests.py index 542270c20b..0275cd8dc4 100644 --- a/evennia/contrib/rpg/llm/tests.py +++ b/evennia/contrib/rpg/llm/tests.py @@ -4,6 +4,7 @@ Unit tests for the LLM Client and npc. """ from anything import Something +from django.test import override_settings from evennia.utils.create import create_object from evennia.utils.test_resources import EvenniaTestCase from mock import Mock, patch @@ -12,6 +13,7 @@ from .llm_npc import LLMNPC class TestLLMClient(EvenniaTestCase): + @override_settings(LLM_PROMPT_PREFIX="You are a test bot.") @patch("evennia.contrib.rpg.llm.llm_npc.task.deferLater") def test_npc_at_talked_to(self, mock_deferLater): """ @@ -19,9 +21,9 @@ class TestLLMClient(EvenniaTestCase): """ npc = create_object(LLMNPC, key="Test NPC") mock_LLMClient = Mock() - npc._llm_client = mock_LLMClient + npc.ndb.llm_client = mock_LLMClient npc.at_talked_to("Hello", npc) mock_deferLater.assert_called_with(Something, npc.thinking_timeout, Something) - mock_LLMClient.get_response.assert_called_with("Hello") + mock_LLMClient.get_response.assert_called_with("You are a test bot.\nTest NPC: Hello")