diff --git a/ansible_ai_connect/main/settings/base.py b/ansible_ai_connect/main/settings/base.py index 5d617a763..b09858864 100644 --- a/ansible_ai_connect/main/settings/base.py +++ b/ansible_ai_connect/main/settings/base.py @@ -541,6 +541,7 @@ def is_ssl_enabled(value: str) -> bool: # ------------------------------------------ CHATBOT_DEFAULT_PROVIDER = os.getenv("CHATBOT_DEFAULT_PROVIDER") CHATBOT_DEBUG_UI = os.getenv("CHATBOT_DEBUG_UI", "False").lower() == "true" +CHATBOT_STREAM = os.getenv("CHATBOT_STREAM", "False").lower() == "true" # ========================================== # ========================================== diff --git a/ansible_ai_connect/main/templates/chatbot/index.html b/ansible_ai_connect/main/templates/chatbot/index.html index 6aadc4c8b..923cd2f2a 100644 --- a/ansible_ai_connect/main/templates/chatbot/index.html +++ b/ansible_ai_connect/main/templates/chatbot/index.html @@ -21,5 +21,6 @@ + {% endblock content %} diff --git a/ansible_ai_connect/main/tests/test_views.py b/ansible_ai_connect/main/tests/test_views.py index c1953b159..f5a96c92e 100644 --- a/ansible_ai_connect/main/tests/test_views.py +++ b/ansible_ai_connect/main/tests/test_views.py @@ -339,6 +339,7 @@ def test_chatbot_view_with_rh_user(self): self.assertContains(r, TestChatbotView.CHATBOT_PAGE_TITLE) self.assertContains(r, self.rh_user.username) self.assertContains(r, '') + self.assertContains(r, '') @override_settings(CHATBOT_DEBUG_UI=True) def test_chatbot_view_with_debug_ui(self): @@ -346,3 +347,10 @@ def test_chatbot_view_with_debug_ui(self): r = self.client.get(reverse("chatbot"), {"debug": "true"}) self.assertEqual(r.status_code, HTTPStatus.OK) self.assertContains(r, '') + + @override_settings(CHATBOT_STREAM=True) + def test_chatbot_view_with_streaming_enabled(self): + self.client.force_login(user=self.rh_user) + r = self.client.get(reverse("chatbot"), {"stream": "true"}) + self.assertEqual(r.status_code, HTTPStatus.OK) + self.assertContains(r, '') diff --git a/ansible_ai_connect/main/views.py b/ansible_ai_connect/main/views.py index 620b84bc0..5e81b8ad4 100644 --- a/ansible_ai_connect/main/views.py +++ b/ansible_ai_connect/main/views.py @@ -139,6 +139,7 @@ def get_context_data(self, **kwargs): if user and user.is_authenticated: context["user_name"] = user.username context["debug"] = "true" if settings.CHATBOT_DEBUG_UI else "false" + context["stream"] = "true" if settings.CHATBOT_STREAM else "false" return context