腾讯AI-智能闲聊机器人-Python3全套教程

   日期:2020-10-03     浏览:229    评论:0    
核心提示:文章目录0 致谢1 注册腾讯AI账号2 创建应用(以下各步骤均采用图片说明)2.1 创建应用2.2 记录APP_ID和APP_KEY3 接入能力3.1 选择能力3.2 接入能力3.3 接入能力成功4 文档查看5 开始撸代码6 祝大家Coding之路所向披靡!0 致谢此篇博客参考了 小锋学长 在腾讯云社区的文章 自己动手实现4大免费聊天机器人:小冰、图灵、腾讯、青云客 ,在此表示衷心感谢!1 注册腾讯AI账号在这里 腾讯AI平台 注册一个平台账号(可用QQ账号注册登录)并实名认证,然后进入控制台,具体

文章目录

  • 0 致谢
  • 1 注册腾讯AI账号
  • 2 创建应用(以下各步骤均采用图片说明)
    • 2.1 创建应用
    • 2.2 记录APP_ID和APP_KEY
  • 3 接入能力
    • 3.1 选择能力
    • 3.2 接入能力
    • 3.3 接入能力成功
  • 4 文档查看
  • 5 开始撸代码
  • 6 祝大家Coding之路所向披靡!

0 致谢

此篇博客参考了 小锋学长 在腾讯云社区的文章 自己动手实现4大免费聊天机器人:小冰、图灵、腾讯、青云客 ,在此表示衷心感谢!

1 注册腾讯AI账号

在这里 腾讯AI平台 注册一个平台账号(可用QQ账号注册登录)并实名认证,然后进入控制台,具体过程略去,不再赘述。

2 创建应用(以下各步骤均采用图片说明)

2.1 创建应用

2.2 记录APP_ID和APP_KEY

3 接入能力

3.1 选择能力

3.2 接入能力



3.3 接入能力成功

4 文档查看


5 开始撸代码

注释得很详尽,不懂的地方可以留言,Python环境和IDE配置以及pip包安装这里不再赘述。

# 导入相关库
import requests
import time
import string
import random
import urllib
import hashlib


def Tencent_AI_Chat_Robot(msg):
		APPID = ""  # 这里填刚刚记录的APPID
		APPKEY = ""  # 这里填刚刚记录的APPKEY
		url = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat"  # API地址
		
		# 构造请求参数
		params = { 
			"app_id": APPID,
			# 时间戳(从1970.01.01 08:00到现在经历了多少秒)
			"time_stamp": str(int(time.time())),
			# 随机字符串,这里从26个英文字母+10个数字中随机抽16个(可重复,小写)组成
			"nonce_str": "".join(random.choice(string.ascii_letters + string.digits) for x in range(16)),
			# 会话标识(默认“10000”,应用内唯一)
			"session": "10000".encode("utf-8"),
			# 我方发言
			"question": msg.encode("utf-8")
		}
		
		# 签名信息,生成规则见文档接口鉴权部分
		sign_before = ""
		
		# 生成签名
		# 将<key, value>请求参数对按key进行字典升序排序,得到有序的参数对列表N
		for key in sorted(params):
			# 将列表N中的参数对按URL键值对的格式拼接成字符串,得到字符串T(如:key1=value1&key2=value2)
			# 键值拼接过程value部分需要URL编码,URL编码算法用大写字母,例如%E8。quote默认大写
			sign_before += "{}={}&".format(key, urllib.parse.quote(params[key], safe=""))
		
		# 将应用密钥以app_key为键名,拼接到字符串sign_before末尾
		sign_before += "app_key={}".format(APPKEY)

		# 对字符串sign_before进行MD5运算,并转换成16进制大写格式,得到接口请求签名
		sign = hashlib.md5(sign_before.encode("UTF-8")).hexdigest().upper()
		# 将签名追加到请求参数
		params["sign"] = sign
		
		# print(params)
		# 调用API(url是API地址,data是请求参数),并返回数据(JSON格式)
		html = requests.post(url, data=params).json()
		
		# 提取API返回信息中的回答语句
		return html["data"]["answer"]


def main():
	print("\n提示:在 请发言: 之后输入你的话语(输入 q 退出),然后按enter(回车键)。\n")
	index = 0
	while True:
		my_msg = input("Round_{0}\n请发言:".format(str(index)))
		if my_msg == "q":
			break
		print("AI回复:{0}\n".format(Tencent_AI_Chat_Robot(my_msg)))
		index += 1


if __name__ == '__main__':
	main()

6 祝大家Coding之路所向披靡!

PS:如果只是想体验一下或者不想撸代码,可以在这里 AI_Chat_v3.exe 下载体验(pyinstaller直接导出的,64位版,可能报毒,自己斟酌是否下载运行)。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服