2016-05-22 10 views
-2

私は非常に単純なチャットボットをPythonで作成しました。 あなたが何かを書く場合のように、Pythonベースの計算を行い、答えを返します。以前の回答もチェックするので、pythonスクリプトは連続して実行する必要があります。 私はオンラインチャットボットを入れたいのですが、と:PythonスクリプトがHTMLの表面に結果を出力します

  1. は、フロントエンドにPythonの出力を送り返すその後
  2. )(raw_inputのソースとして戻ってサーバーにHTML表面からの入力を送りますHTMLのブラウザでチャットの改行や改行として使用できます。

私のPythonのコードは次のとおりです。

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) 

質問です:どのように私は私のウェブサイトでPythonスクリプトを接続することができますか?私の端末でやっているように、ユーザーはウェブサイトのスクリプトとどのように対話できますか?

私はそれがとても簡単だと確信していますが、どこから始めたらいいか分かりません。 感謝!

答えて

0

何らかの種類のサーバーが必要です。あなたの場合、たとえば、WebSocketまたはHTTPを使用できます。

WebSocketの場合、AutobahnのようなPythonソリューションがあります。 WebSocketは状態を覚えています。あなたがしたいことにはうってつけです。それはおそらくあなたが使うべきものです。

HTTPの場合、単純なPythonソリューションは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) 

しかし、HTTP ステートレスですので、あなたが最後の接続を覚えていません。 の特定のユーザーのチャットを覚えておく方法が、個々のユーザーごとにCookie /セッションを作成する必要があります。

また、NginxのようなWebサーバーに接続する必要があります。

0

ニースのchatbotアプリ!そのトリックは、フロー制御とあなたの機能を分離しておくことです。

は、だから私はやった2マイナーな改良:

  1. 私はconversationからフロー制御を取り、しかし、あなたがしたいので、それはmain

  2. に私がreturnステートメントにconversationprint文を変更しましたできるだけ画面に印刷しておき、論理機能も別々にすることができます。

それ以外は素晴らしいスタートです!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() 
関連する問題