【python】使用python十分钟创建个人聊天机器人教程

以青云客和图灵机器人接口示范python创建个人聊天机器人教程

一、以青云客聊天机器人为例示范get请求

官方网址:http://api.qingyunke.com/

1、接入指引

请求地址    http://api.qingyunke.com/api.php
请求方式    GET    字符编码    utf-8
请求示例    http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好
参数        示例         说明
key        free      必需,固定值
appid      0       可选,0表示智能识别
msg        你好      必需,关键词,提交前请先经过 urlencode 处理
返回结果    {"result":0,"content":"你好,我就开心了"}

☆ 返回结果中{br}表示换行,请自行替换成需要的代码。
☆ 为保证接口稳定,调用频率请控制在200次/10分钟内,我们正在努力提供更稳定的服务

完整请求URL示例:
http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好

其他内容示例:

复制代码
 1 天气:msg=天气深圳
 2 中英翻译:msg=翻译i love you
 3 智能聊天:msg=你好笑话:msg=笑话
 4 歌词⑴:msg=歌词后来
 5 歌词⑵:msg=歌词后来-刘若英
 6 计算⑴:msg=计算1+1*2/3-4
 7 计算⑵:msg=1+1*2/3-4
 8 IP⑴:msg=归属127.0.0.1
 9 IP⑵:msg=127.0.0.1
10 手机⑴:msg=归属13430108888
11 手机⑵:msg=13430108888
12 成语查询:msg=成语一生一世
13 五笔/拼音:msg=好字的五笔/拼音
复制代码

2、封装函数

2.1 封装示例:

复制代码
# 导入模块
import requests
from urllib import parse


# 组装请求
def test_get(msg):
    url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(parse.quote(msg))
    html = requests.get(url)
    return html.json()["content"]


# 解析返回并打印
while True:
    msg = input("我:")
    res = test_get(msg)
    print("答:", res)
复制代码

2.2 执行返回结果:

复制代码

C:\Users\yzp\AppData\Local\Programs\Python\Python37\python.exe D:/00test/RFTEST/qingyunke
我:您是谁?
答: 我是机器人
我:您在哪?
答: 我在找您
我:您要去哪里?
答: 哪也别去,改天菲菲带你去吧

复制代码

二、以图灵聊天机器人为例示范post请求

 1、接口说明

API V2.0是基于图灵机器人平台语义理解、深度学习等核心技术,为广大开发者和企业提供的在线服务和开发接口。目前API接口可调用聊天对话、语料库、技能三大模块的语料:

  • 聊天对话是指平台免费提供的近10亿条公有对话语料,满足用户对话娱乐需求;
  • 语料库是指用户在平台上传的私有语料,仅供个人查看使用,帮助用户最便捷的搭建专业领域次的语料。
  • 技能服务是指平台打包的26种实用服务技能。涵盖生活、出行、购物等多个领域,一站式满足用户需求。/2、 使用说明

2、编码方式:

UTF-8(调用图灵API的各个环节的编码方式均为UTF-8)/3、接口地址:

http://openapi.turingapi.com/openapi/api/v2

请求方式:

HTTP POST

请求参数:

请求参数格式为 json
请求示例:

复制代码
{
    "reqType":0,
    "perception": {
        "inputText": {
            "text": "附近的酒店"
        },
        "inputImage": {
            "url": "imageUrl"
        },
        "selfInfo": {
            "location": {
                "city": "北京",
                "province": "北京",
                "street": "信息路"
            }
        }
    },
    "userInfo": {
        "apiKey": "",
        "userId": ""
    }
}
复制代码

部分参数说明,完整接口说明请看图灵api官方网址:https://www.kancloud.cn/turing/www-tuling123-com/718227:

接口中apiKey需要自行上官网申请:http://www.turingapi.com/

【python】使用python十分钟创建个人聊天机器人教程_第1张图片

3、完整调用示例:

复制代码
import requests

url = "http://openapi.tuling123.com/openapi/api/v2"
data = {
    "reqType": 0,
    "perception": {
        "inputText": {
            "text": "附近的酒店"
        },
        "inputImage": {
            "url": "imageUrl"
        },
        "selfInfo": {
            "location": {
                "city": "北京",
                "province": "北京",
                "street": "信息路"
            }
        }
    },
    "userInfo": {
        "apiKey": "1c99470a8a8354e248a4c229234d14af",
        "userId": "1"
    }
}

res = requests.post(url=url, json=data)  # JSON格式的请求,将数据赋给json参数
print(res.text)
复制代码

接口返回:

复制代码
{
    "intent": {
        "actionName": "", 
        "code": 10037, 
        "intentName": ""
    }, 
    "results": [
        {
            "groupType": 1, 
            "resultType": "text", 
            "values": {
                "text": "我还没去过那,所以我暂时就不给你推荐了"
            }
        }
    ]
}
复制代码

 4 、封装函数:

4.1 封装示例

复制代码
import requests

while True:
    url = "http://openapi.tuling123.com/openapi/api/v2"
    question = input("我:")
    data = {
        "reqType": 0,
        "perception": {
            "inputText": {
                "text": question
            }
        },
        "userInfo": {
            "apiKey": "e825286159f9f57db1b597995d7b",
            "userId": "1234"
        }
    }
    res = requests.post(url=url, json=data)  # JSON格式的请求,将数据赋给json参数
    answer = res.json()["results"][0]["values"]["text"]
    print("答:"+answer)
复制代码

4.2 执行返回结果

复制代码
C:\Users\yzp\AppData\Local\Programs\Python\Python37\python.exe D:/00test/RFTEST/test_post.py
我:你是谁?
答:我是机器人
我:你今年多大了
答:18岁!
我:
复制代码

你可能感兴趣的:(【python】使用python十分钟创建个人聊天机器人教程)