文章目录
- 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位版,可能报毒,自己斟酌是否下载运行)。