腾讯AI接入平台过程记录

腾讯AI接入平台过程记录

接入过程

第一步,注册腾讯AI开放平台的账号,选择开放能力,找到自己需要的服务。
第二步,创建应用,获取appid和appkey。
第三步,为该应用接入能力。(由于官方没有明确给出使用流程,在这里走了很多的弯路。)

接入代码示例

import requests
import urllib
from urllib.parse import quote, urlencode
import hashlib
import random
import string
import time


# 计算URL的MD5 将结果转换为大写
def curlmd5(src):
    m = hashlib.md5()
    m.update(src.encode("gbk"))
    # m = hashlib.md5(src.encode('gbk'))
    return m.hexdigest().upper()


# 接口鉴权
def get_params(words):
    #请求时间戳(秒级),用于防止请求重放(保证签名5分钟有效)
    t = time.time()
    time_stamp=str(int(t))
    # 请求随机字符串,用于保证签名不可预测
    nonce_str = ''.join(random.sample(string.ascii_letters.lower() + string.digits, 16))
    # 应用标志,这里修改成自己的id和key
    app_id='2165555262'
    app_key='nXnACjVfW9MUm3xk'
    params = {'app_id':app_id,
              'time_stamp':time_stamp,
              'nonce_str':nonce_str,
              'text': words,
             }
    sign_before = ''
    #要对key排序再拼接
    for key in sorted(params):
        # 键值拼接过程value部分需要URL编码,URL编码算法用大写字母,例如%E8。quote默认大写。
        sign_before += '{}={}&'.format(key, quote(params[key], safe=''))
    # 将应用密钥以app_key为键名,拼接到字符串sign_before末尾
    sign_before += 'app_key={}'.format(app_key)
    # 对字符串sign_before进行MD5运算,得到接口请求签名
    sign = curlmd5(sign_before)
    params['sign'] = sign
    print(sign_before)
    # params = sorted(params.items(), key=lambda d: d[0])
    return params


# 同义词翻译
def synonym_api(words):
    # API地址
    url = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_wordsyn"
    # 获取请求的参数
    words = words.encode('gbk')
    payload = get_params(words)
    # r = requests.get(url, payload)
    r = requests.post(url, payload)
    print(payload)
    return r.json()


if __name__ == "__main__":
    a = synonym_api("今天的天气不错呀")
    print("请求结果", a)

踩过的坑

如果请求的结果返回的msg字段显示no auth,说明没有为该应用接入能力,所以不能使用这个服务,也就是第三步。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值