我有一个运行聊天机器人应用程序的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
因此,我们的想法是将输入/输出会话保存在两个列表中:
并且对于last_B帮助我了解聊天机器人的最后一次回复是什么
到目前为止,它正在为一个用户工作,现在我正在考虑转换为在每个用户拥有它的同时处理或与许多用户聊天 chatbot.run_conversation_male 并且每个聊天/会话都与其自己的聊天记录列表分开,以便我可以使用它来检查和保存数据。