python3调用腾讯AI开放平台
CSDN上偶遇一文说明如何调用腾讯AI开放平台API,因为喜欢python3,所以用python3实现了下。
用qq登录获取自己的id和key。
参考点击打开链接。
首先获取请求参数。新建了个文件md5sign.py。
import hashlib
import time
import random
import string
from urllib.parse import quote def curlmd5(src): m = hashlib.md5(src.encode('UTF-8')) # 将得到的MD5值所有字符转换成大写return m.hexdigest().upper()def get_params(plus_item):# 请求时间戳(秒级),用于防止请求重放(保证签名5分钟有效) t = time.time()time_stamp=str(int(t))# 请求随机字符串,用于保证签名不可预测 nonce_str = ''.join(random.sample(string.ascii_letters + string.digits, 10)) # 应用标志,这里修改成自己的id和key app_id = '11066xxxxx' app_key = 'Wz0bsFWuNGGxxxxx'params = {'app_id':app_id, 'question':plus_item,'time_stamp':time_stamp,'nonce_str':nonce_str,'session':'10000'}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'] = signreturn params
然后带上参数直接调用API。要调用不同的API,需要修改参数。
import requests
import md5sign def get_content(plus_item): # 聊天的API地址 url = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat" # 获取请求参数 plus_item = plus_item.encode('utf-8') payload = md5sign.get_params(plus_item) # r = requests.get(url,params=payload) r = requests.post(url,data=payload) return r.json()["data"]["answer"] if __name__ == '__main__': while True: comment = input('我:') if comment == 'q': break answer=get_content(comment) print('机器人:'+answer)
python3调用腾讯AI开放平台相关推荐
- 腾讯AI开放平台的接口调用指南
最近无意发现腾讯AI开放平台上提供了大量好玩的人工智能云服务,而且是完全免费的.只需要用QQ号登录即可.这么好的东西,作为一个程序员,当然要试试了! 从上图可以看出腾讯AI开放平台提供的人工智能服务主 ...
- 腾讯AI开放平台使用尝试:代理后的文本翻译API使用方式
这篇文章介绍一下如何结合代理服务器使用腾讯AI开放平台提供的文本翻译API. 目录 事前准备 请求参数 返回格式 示例代码 使用示例 常见问题 结果确认 总结 参考内容 事前准备 实现需要申请申请账号 ...
- 腾讯开发平台php,腾讯AI开放平台 Tencent AI open platform
腾讯AI开放平台 SDK Tencent AI open platform sdk Special thanks to the generous sponsorship by: Requirement ...
- 腾讯AI开放平台 SDK
腾讯AI开放平台 SDK Tencent AI open platform sdk Special thanks to the generous sponsorship by: Requirement ...
- 腾讯ai开放平台 手册_创建手册以实现大规模开放
腾讯ai开放平台 手册 "是的,但是你实际上是怎么做到的呢?" 在Opensource.com以及无数的会议和研讨会上,这是我们社区领域最常见的问题. 人们倾向于理解为什么在工作场 ...
- 腾讯AI开放平台使用尝试:账号开通/应用创建/能力开通
这篇文章记录一下使用腾讯AI开放平台的使用:如何进行账号开通.应用创建和能力开通. 目录 文档中心地址 注册成为开发者 步骤1:点击控制台 步骤2: 通过QQ账号关联 创建应用并开通能力 步骤1: 创 ...
- 腾讯AI开放平台的使用
一.腾讯AI开放平台 https://ai.qq.com/ 二.腾讯AI平台支持的功能 三.签名机制 1.计算步骤 用于计算签名的参数在不同接口之间会有差异,但算法过程固定如下4个步骤.1.将< ...
- php图像识别api,使用腾讯AI开放平台api进行图片OCR文字识别
重要:本文最后更新于2019-05-20 08:46:46,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 其实图片的文字识别其实还算简单,一般是根据特定字体制作出字码文件,然后分割 ...
- 腾讯AI开放平台的签名算法(Python)
最近接到一个任务,要求使用python进行语音合成,实现班级点名的功能.后来使用了pyttsx库,发现这个库合成的语音听起来不清晰,于是果断抛弃.然后就想起了使用腾讯的语音合成api,发现腾讯优图的语 ...
最新文章
- WebService客户端添加SOAPHeader信息
- 【Linux实用技术】LFS6.3构建实录
- python装饰器的案例_Python之装饰器的实例
- 基于HTML5移动web应用
- Python字符串常用函数详解
- ApkTool反编译出错brut.common.brutexception及java.io.filenotfoundexception 之一
- centos mysql 连接数_CentOS7.2_调整mysql数据库最大连接数
- 自动化测试之--参数化
- es6 数组排序_重读《学习JS数据结构与算法-第三版》- 第3章 数组 二
- java 线程间通信方式_「转」JAVA多线程之线程间的通信方式
- iOS 代码触发button点击事件
- winform ComboBox基本操作
- 如何保障“双11”期间亿万买家和卖家愉快地聊天
- vpp之feature机制介绍
- js继承,es3,es6的实现继承
- 精通 Python 网络爬虫:核心技术、框架与项目实战
- DOM 详细 一篇就够【重点】
- 如何把psd格式转为html,将psd转化为HTML网页详情讲解
- 树莓派计算模块CM4 eMMC系统烧写、配置、相机连接
- telnet控制路由器交换机与微信公众平台
热门文章
- html5 lineheight属性,HTML中line-height的继承
- xshell如何登陆堡垒机_Xshell连接有跳板机(堡垒机)的服务器
- android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐
- Excel百万数据导入oracle,excel表数据导入oracle的方法!(超级有用)
- java统计大于0的个数_java中0的问题(依据0统计数量时出错)
- 简单读!tomcat源码(一)启动与监听
- Apache httpd 以root身份运行
- DNS,edns,httpdns杂谈
- [Bzoj4408]神秘数(主席树)
- 查找二叉树中出现次数最多的数 Find Mode in Binary Search Tree