2016-05-22 6 views
-2

Ich habe einen sehr einfachen Chatbot in Python geschrieben. Es funktioniert, wenn Sie etwas in schreiben, es tut die Python-basierten Berechnungen und gibt eine Antwort zurück. Da es auch Ihre vorherigen Antworten überprüft, muss das Python-Skript kontinuierlich ausgeführt werden. Ich möchte die chatbot online stellen, und:Python-Skript druckt Ergebnisse auf HTML-Oberfläche

  1. Senden Sie die Eingabe von der HTML-Oberfläche für die raw_input an den Server als Quelle zurück()
  2. dann die Python Ausgabe an das Frontend zurückschicken als Antwort und als Newline im Chat im Browser in HTML.

Mein Python-Code ist:

def conversation(question): 
    answer = #... ... ...(doesnt matter right now) 

    print "CHATBOT: " + answer 
    next_question = raw_input("YOU: ") 
    return next_question 

#========================== 
#INTRO & CALLING FUNTCTIONS 
#========================== 
print "Hi, my name is CHATBOT!" 

#Starts with user input. 
question = "" 
question = raw_input("You: ") 

#calling the conversation function 
question = conversation(question) 

Die Frage ist: Wie kann ich den Python-Skript mit meiner Website zu verbinden? Wie können Benutzer von einer Website aus mit meinem Skript interagieren?

Ich bin mir ziemlich sicher, es ist sehr einfach, aber ich habe keine Ahnung, wo ich anfangen soll ... DANKE!

Antwort

0

Sie benötigen eine Art von Server. In Ihrem Fall könnten Sie beispielsweise WebSockets oder HTTP verwenden. Für WebSockets gibt es Python-Lösungen wie Autobahn. WebSocket erinnert sich an den Status, das ist gut für das, was Sie tun möchten. Das solltest du wahrscheinlich verwenden.

Für HTTP ist eine einfache Python-Lösung Bottle.

from bottle import route, run, template 
@route('/hello/<name>') 
def index(name): 
    return template('<b>Hello {{name}}</b>!', name=name) 
run(host='localhost', port=8080) 

Aber HTTP ist staatenlos, so dass Sie die zuletzt nicht mehr erinnern. Sie müssen eine Möglichkeit haben, sich an den Chat von diesem bestimmten Benutzer zu erinnern, indem Sie einen Cookie/eine Sitzung für jeden einzelnen Benutzer erstellen.

Sie müssten das auch mit einem Webserver wie Nginx verbinden.

0

Schöne Chatbot App! Der Trick ist, Ihre Flusskontrolle und Ihre Funktionen getrennt zu halten.

Also habe ich zwei kleinere Verbesserungen:

  1. nahm ich die Flusssteuerung von conversation und aber in main

  2. ich die print Aussage in conversation zu einer return Anweisung geändert, weil Sie wollen Halten Sie Ihren Ausdruck auf dem Bildschirm und Logikfunktionen getrennt, auch wenn Sie können :)

Andere als das, zu einem guten Start! W

def conversation(question): 
answer = #... ... ...(doesnt matter right now) 
return "CHATBOT: " + answer 

def main(): 
    while True: 
     next_question = raw_input("YOU: ") 
     print(conversation(next_question)) 

#========================== 
#INTRO & CALLING FUNTCTIONS 
#========================== 

print "Hi, my name is CHATBOT!" 
main()