Я работаю над веб-приложением типа чат-бота, которое мне нужно создать с помощью Django. Я разработал небольшую модель ML предсказания и построил небольшой поток для разговора. Поток диалога содержит класс и несколько функций внутри него. Модуль потока разговоров выглядит примерно так:
class Arbitrary(object):
def A(self):
abc = input()
## perform some operation ##
if this:
a = Arbitrary()
return a.B(abc)
else:
a = Arbitrary()
return a.C(abc)
def B(self, abc):
abc = input()
## perform some operation ##
return 'something'
def C(self, abc):
abc = input()
## perform some operation ##
return 'something more'
Этот фрагмент кода работает именно так, как я хочу на терминале. Теперь проблема в том, что я хочу создать веб-приложение в Django таким образом, чтобы на веб-странице было текстовое поле с кнопкой. Пользователь что-то печатает, и одним нажатием кнопки введенный текст должен быть передан в функцию A, а затем должны следовать те же вызовы функций (поток разговора), как это происходит в терминале. Проблема, с которой я здесь сталкиваюсь, это abc = input()
, которая есть в каждой функции, которую я не могу получить с веб-страницы. Я могу вызвать только одну функцию, вызвав ее с помощью ввода, заданного пользователем на веб-странице.
Нужно ли использовать веб-сокеты (Django Каналы)? Или возможно с AJAX звонками себя? Я застрял на этом некоторое время и не мог прийти к какому-либо решению. Я надеюсь, что вопрос понятен всем остальным, пожалуйста, дайте мне знать, если требуются какие-либо другие детали.
Заранее спасибо!