吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9071|回复: 14
收起左侧

[Python 原创] 【python3】 腾讯ai开放平台(智能闲聊)sdk

[复制链接]
善良的果仁 发表于 2018-8-3 16:53


之前想搞个聊天机器人,找了半天没找到腾讯的SDK(图灵有只不过每天都有限制),只有api,所以自己写了一个凑活着用

[Python] 纯文本查看 复制代码
import hashlibimport urllib
import urllib.request
import base64
import json
import time
#接口api
url_preffix='https://api.ai.qq.com/fcgi-bin/'
 
def setParams(array, key, value):
    array[key] = value
 
def genSignString(parser):
    uri_str = ''
    for key in sorted(parser.keys()):
        if key == 'app_key':
            continue
        uri_str += "%s=%s&" % (key,urllib.parse.quote(str(parser[key]), safe = ''))
    sign_str = uri_str + 'app_key=' + parser['app_key']
 
    hash_md5 = hashlib.md5(sign_str.encode("latin1"))
    return hash_md5.hexdigest().upper()
 
 
class AiPlat(object):
    def __init__(self, app_id, app_key):
        self.app_id = app_id
        self.app_key = app_key
        self.data = {}
 
    def invoke(self, params):
        self.url_data = urllib.parse.urlencode(params).encode(encoding='utf-8')
        req = urllib.request.Request(self.url, self.url_data)
        try:
            rsp = urllib.request.urlopen(req)
            str_rsp = rsp.read()
            dict_rsp = json.loads(str_rsp.decode('utf-8'))
            return dict_rsp
        except urllib.error.URLError as e:
            dict_error = {}
            if hasattr(e, "code"):
                dict_error = {}
                dict_error['ret'] = -1
                dict_error['httpcode'] = e.code
                dict_error['msg'] = "sdk http post err"
                return dict_error
            if hasattr(e,"reason"):
                dict_error['msg'] = 'sdk http post err'
                dict_error['httpcode'] = -1
                dict_error['ret'] = -1
                return dict_error
        else:
            dict_error = {}
            dict_error['ret'] = -1
            dict_error['httpcode'] = -1
            dict_error['msg'] = "system error"
            return dict_error
 
 
    def getNlpTextChat(self, session, question):
        self.url = url_preffix + 'nlp/nlp_textchat'
        setParams(self.data, 'app_id', self.app_id)
        setParams(self.data, 'app_key', self.app_key)
        setParams(self.data, 'time_stamp', int(time.time()))
        setParams(self.data, 'nonce_str', int(time.time()))
        setParams(self.data, 'session', session)
        setParams(self.data, 'question', question)
        sign_str = genSignString(self.data)
        setParams(self.data, 'sign', sign_str)
        return self.invoke(self.data)

使用

[Python] 纯文本查看 复制代码
import optparse
import time
import apiutil#这里我上端代码独立生成一个文件“apiutil.py",所以要导入一下
import json
app_key = 'XXXXXXXXXX'
app_id = '110XXXX996'
questionS= '在吗?'
def anso(questionS):
    str_question = questionS
    session = 10000
    ai_obj = apiutil.AiPlat(app_id, app_key)
 
    rsp = ai_obj.getNlpTextChat(session,str_question)
    if rsp['ret'] == 0:
        print('............................................................')
        ask = (rsp['data'])['answer']
        print(ask)
    else:
        print(json.dumps(rsp, ensure_ascii=False, sort_keys=False, indent=4))
if __name__ == '__main__':
    anso(questionS)


原文地址:https://blog.csdn.net/Rayn_Zhu/article/details/81093989

最后 证明下原创
QQ截图20180803165146.png

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
欧利皇 + 1 + 1 很棒!
新蜂自媒人 + 1 + 1 666 老铁
q96899144 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 善良的果仁 发表于 2020-4-1 13:24
mlxg 发表于 2020-3-28 09:30
是我的问题嘛?我在微信公众号接了这个闲聊机器人,简直太蠢了

不是你的问题   是它真的太蠢了
 楼主| 善良的果仁 发表于 2018-8-4 20:38
Jerry_bean 发表于 2018-8-3 17:58
这个是不需要登陆就能用吗?可以接入到公众号?

需要去腾讯ai 注册获取密钥的
xc17688817634 发表于 2018-8-3 17:02
坐久落花多 发表于 2018-8-3 17:18
https://ai.qq.com/
好像BAT都有接口

waipojie123 发表于 2018-8-3 17:30
厉害厉害
shuizhong89 发表于 2018-8-3 17:37 来自手机
真厉害。赞一个
huashengmiao12 发表于 2018-8-3 17:51
哇⊙?⊙!。。好厉害。。膜拜
Jerry_bean 发表于 2018-8-3 17:58
这个是不需要登陆就能用吗?可以接入到公众号?
zz931205 发表于 2018-8-3 18:00
棒,学习一波
 楼主| 善良的果仁 发表于 2018-8-4 20:36
坐久落花多 发表于 2018-8-3 17:18
https://ai.qq.com/
好像BAT都有接口

对,但是这个智能闲聊只给了api
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-3 23:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表