python点餐聊天机器人_Python 智能聊天机器人的实现

首先项目需要的包

import urllib.request

import urllib.parse

from tkinter import *

import time

函数部分

说明:调用服务器接口,实现非特定智能回复

def get_robot_replay(question):

'''

函数功能:对于特定的问题进行特定的回答,对于其他非特定的问题进行智能回复

参数描述:

question:聊天内容或者问题

返回值:str,回复内容

'''

if "你叫什么名字"in question:

answer ="我是游游"

elif "你多少岁"in question:

answer="18"

elif "你是GG还是MM"in question:

answer="MM"

else:

try:

# 调用NLP接口实现智能回复

params=urllib.parse.urlencode({'msg':question}).encode() #将str转换成字节类型,参数接口需要进行URL编码

req = urllib.request.Request("http://api.itmojun.com/chat_robot",params,method="POST")#创建请求对象

answer=urllib.request.urlopen(req).read().decode()#调用接口(向目标服务器发送HTTP请求)

except Exception as e:

answer="AI机器人出现故障!(原因:%s)" % e

return answer

回复格式方面以及界面设计

def msgsend():

msg = '我' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n'

txt_msglist.insert(END, msg, 'green') # 添加时间

txt_msglist.insert(END, txt_msgsend.get('0.0', END)) # 获取发送消息,添加文本到消息列表

msg1 = '游游大宝贝' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n'

txt_msglist.insert(END, msg1, 'green') # 添加时间

txt_msglist.insert(END,get_robot_replay(txt_msgsend.get('0.0', END)))

txt_msgsend.delete('0.0', END) # 清空发送消息

def cancel():

txt_msgsend.delete('0.0', END) # 取消发送消息,即清空发送消息

'''绑定up键'''

def msgsendEvent(event):

if event.keysym == 'Up':

msgsend()

聊天界面设计(原文获取源代码)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值