У меня есть код Python, который использует NLTK и Flask для создания чат-бота, который работает на локальном сервере. После того, как я запускаю или выполняю код, на локальном сервере открывается страница html, и я даю ввод, но ввод, похоже, не передается моему python коду. На моей консоли python появляется приглашение, где чат-бот принимает данные и запускается.
Я много работал с кодом, выполнял различные его формы около 30-40 раз, отлаживал и выполнял много методом проб и ошибок. Приведенный ниже код является единственным, который, кажется, работает без ошибок, но вывод, отображаемый ботом на странице Html, - «none».
Любая помощь или совет приветствуются. Я новичок в Flask и NLTK. Спасибо.
Это мой Python код
from nltk.chat.util import Chat, reflections
from flask import Flask, render_template, request
pairs = [
[
r"my name is (.*)",
["Hello %1, How are you today ?", ]
],
[
r"how are you ?",
["I'm doing good\nHow about You ?", ]
],
[
r"sorry (.*)",
["Its alright", "Its OK, never mind", ]
],
[
r"hi|hey|hello",
["Hello", "Hey there", ]
],
]
app = Flask(__name__, template_folder='templates')
@app.route('/', methods=['GET', 'POST'])
def samplefunction():
if request.method == 'GET':
return render_template('new.html')
if request.method == 'POST':
greetIn = request.form['human']
greetOut = c(greetIn)
return render_template('new.html',bot1=greetOut)
def c(x):
chat=Chat(pairs,reflections)
return chat.converse(x)
if __name__ == '__main__':
app. run(host='127.0.4.21', port=5000, debug=True)
Используемый шаблон html - новый. html, следующий:
<html>
<head>
<title>BOT</title>
<script>
var bot = {{ bot }}
</script>
</head>
<body>
<h1>Hello, type something to begin!</h1>
<form method='post'>
Human: <input type='text' name='human'><br>
Bot1: {{bot1}}<br>
<input type="submit" name="action">
</form>
</body>
</html>