使用 Python 与图灵机器人聊天

我对博客平台有点失望,追语雀只是用作记录。

图灵机器人可以识别中文,准确率高达90%,是中文背景下最智能的机器人。 使用Python中的图灵机器人API的博客有很多,但都是1.0版本。 那么今天我就简单总结一下如何在Python中使用图灵机器人API v2.0。

获取API密钥

首先,去图灵机器人官网注册一个账号。

登录后点击创建机器人,填写一些简单的基本信息即可创建。

图灵机器人多少钱一个月_图灵机器人下载v10_图灵机器人/

在机器人设置界面找到您的API KEY并记录下来。

图灵机器人多少钱一个月_图灵机器人下载v10_图灵机器人/

在 Python 中使用图灵机器人 API v2.0

基本原理是使用urllib.request模块向接口地址发送HTTP POST请求,并在请求中添加聊天内容。

*使用python3执行

import json
import urllib.request
api_url = "http://openapi.tuling123.com/openapi/api/v2"
text_input = input(我:)
req = {
 "perception":
 {
 "inputText":
 {
 "text": text_input
 },
 "selfInfo":
 {
 "location":
 {
 "city": "上海",
 "province": "上海",
 "street": "文汇路"
 }
 }
 },
 "userInfo": 
 {
 "apiKey": "请替换为你的API KEY",
 "userId": "OnlyUseAlphabet"
 }
}
# print(req)
# 将字典格式的req编码为utf8
req = json.dumps(req).encode(utf8)
# print(req)
http_post = urllib.request.Request(api_url, data=req, headers={content-type: application/json})
response = urllib.request.urlopen(http_post)
response_str = response.read().decode(utf8)
# print(response_str)
response_dic = json.loads(response_str)
# print(response_dic)
intent_code = response_dic[intent][code]
results_text = response_dic[results][0][values][text]
print(Turing的回答:)
print(code: + str(intent_code))
print(text: + results_text)

 

图灵机器人_图灵机器人下载v10_图灵机器人多少钱一个月/

* 一些注意事项:

1. 字典req包含向图灵机器人发送请求所需的所有信息。 其中,req[‘perception’][‘selfInfo’][‘location’]包含地理位置信息。 当向图灵机器人发送位置相关请求时,如果没有指定其他位置,则默认使用该位置。 例如,如果我问“明天会下雨吗”,图灵机器人会回答我“上海”明天是否会下雨。

2. req[‘userInfo’] 包含API KEY,请替换为您的API KEY(不要删除双引号)。 另外,userId是一个用户参数,暂时不明白用途。 如果您有什么想法,请留言。

3.图灵机器人的答案可以转换成python字典格式。 其中,response_dic[‘intent’][‘code’]正式称为“输出功能代码”,表示答案是什么“类型”。 例如,10004代表正常聊天回复,10008代表天气相关回复。 不过奇怪的是,目前API v2.0的官方文档并没有给出代码和类型的对照表。 目前我总结了一些如下,欢迎补充:

代码类型

10004

聊天

10008

天气

10013

科普,比如《盘集是什么》

10015

食谱,例如“如何做辣椒花椒鱼头”

10019

日期类型,例如“愚人节是哪一天”、“明天是一周中的哪一天”

10020

中英翻译

10023

一般返回的网页都会是这段代码,比如“iPhone多少钱?”

10034

自己在语料库中设置的答案

概括

到现在为止,各个独立的模块已经差不多完成了,现在是时候思考如何将它们整合在一起了。 希望这可以帮助。

感谢您阅读这篇文章!