在django

时间:2017-05-21 20:02:31

标签: python django

我有一个运行聊天机器人应用程序的django网站,通过使用查询获取问题并在数据库中检索最佳匹配回复来模拟客户服务。

view.py:

@csrf_exempt 
def home(request):
    context= locals()
    template= 'home.html'
    return render(request,template,context)
@csrf_exempt 
def male_chatbot(request):
    if not request.session.session_key:
       request.session.create()
    context= locals()
    template= 'male_chatbot.html'
    return render(request,template,context)
@csrf_exempt 
def run_python_male(request):
    if request.method == "POST":
       session_key = request.session.session_key
    param11 = request.POST.get('param1')
    msg = chatbot.run_conversation_male(param11)
    return JsonResponse({ 'msg': msg})

chatbot.py:

raw_chatting_log =[]
chatting_log =[]

 def chatting_log_data(raw_Input,Input,check):
    if check== "check":
       if raw_Input in raw_chatting_log:
        return  True
       else:
        return False
    else:
        if check== "app":
           raw_chatting_log.append(raw_Input)
           chatting_log.append(Input)

  def check_lastB():
      new='جديد'
      if len(raw_chatting_log) == 0:
          return new
      else:
          return raw_chatting_log[-1]

  def delandsave_chat_log():
   name= str(uuid.uuid4())
   thefile = open('/home/mansard/webapps/gadgetron/src/chatting_logs/'+name+'.txt', 'w')
   for item in chatting_log:
    thefile.write("%s\n" % item)
   thefile.close()
   raw_chatting_log.clear() 
   chatting_log.clear()

  def run_conversation_male(user_in):
       last_B = check_lastB() 
       H =  user_in
       NN1= "H:"+str(user_in)
       New_H= ' '.join(PreProcess_text(H))
       if last_B== 'تقييمك للمحادثة و الخدمة؟':
            #do_somthing
       else:
          if chatting_log_data(H,NN1,"check") == True: 
             #do_somthing
          else:
             #find_replay

因此,我们的想法是将输入/输出会话保存在两个列表中:

  1. raw_chatting_log ==>保留数据而不添加' H:'或者' B:'只是输入和输出。帮助聊天机器人记住问题并在chat_log_data中使用它(H,NN1,"检查")。
  2. chatting_log =>将以' H:'的形式将对话保存到聊天记录中。和' B:'在用户结束对话时保存整个列表或在def delandsave_chat_log()中关闭页面
  3. 并且对于last_B帮助我了解聊天机器人的最后一次回复是什么

    到目前为止,它正在为一个用户工作,现在我正在考虑转换为在每个用户拥有它的同时处理或与许多用户聊天 chatbot.run_conversation_male 并且每个聊天/会话都与其自己的聊天记录列表分开,以便我可以使用它来检查和保存数据。

0 个答案:

没有答案