打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python调用人工智能API,告别开发难题!

1、背景

搜狗发布了基于python的人工智能 api,名片ocr、包括身份证ocr、签名生成、文本翻译等API,不过不同api应答包的主体结构竟然不一致,所以实施也只做了简单的结构化。

2、Python实现代码

直接放Python代码吧,github上也有: https://github.com/jdstkxx/PySougouAI

1、搜狗人工智能-例子.py

2、 SougouAPI.py

# -*- coding: utf-8 -*-

# 搜狗API字典

SougouAPI={

#基本文本分析API

"ocr": {

'APINAME':'图像识别', #API中文简称

'APIDESC': '识别图像中的文字', #API描述

'APIURL': 'http://api.ai.sogou.com/pub/ocr' #API请求URL

},

"idcard":{

'APINAME':'身份证识别', #API中文简称

'APIDESC': '身份证识别', #API描述

'APIURL': 'http://api.ai.sogou.com/pub/ocr/idcard' #API请求URL

},

}

3、 SougouAPIMsg.py

1、应用相关前缀 {AuthPrefix}

{AuthPrefix}=sac-auth-v1/{accessKey}/{secondsSinceEpoch}/{expirationPeriodInSeconds}

2、请求相关数据 {Data}

{Data}={REQUEST_METHOD} + "" + {HOST} + "" + {URI} + "" + {SORTED_QUERY_STRING}

其中,REQUEST_METHOD 为请求使用的 HTTP 方法, 如: GET|POST|PUT|DELETE

HOST 为服务使用的域名, 如: api.ai.sogou.com

URI 为请求的服务路径, 如: /speech/asr

SORTED_QUERY_STRING 把 URL 中的 Query String(即 URL 中 “?” 后面的 “k1=v1&k2=v2” 字符串)进行编码后的结果。

编码方法为:

将 Query String 根据 & 拆开成若干项,对每一项转换为 UriEncode(key) + "=" + UriEncode(value) 的形式, 其中 value 可以是空字符串

将上面转换后的所有字符串按照字典顺序排序。

将排序后的字符串按顺序用 & 符号链接起来。

3、生成签名 {Signature}

{Signature}=HMAC-SHA256-BASE64({secretKey}, {AuthPrefix} + "" + {Data})

4、生成认证信息, 通过 Authorization header 传递

Authorization: {AuthPrefix}/{Signature}

Example:

1应用 accessKey/secretKey 分别为 bTkALtTB9x6GAxmFi9wetAGH / PMROwlieALT36qfdGClVz2iH4Sv8xZxe

POST 方式访问 http://api.ai.sogou.com/speech/asr 接口

GET 参数为 type=gbk&idx=1&starttime=1491810516

当前系统时间为 1491810516

2计算过程

{AuthPrefix}="sac-auth-v1/bTkALtTB9x6GAxmFi9wetAGH/1491810516/3600"

{Data}="POSTapi.ai.sogou.com/speech/asridx=1&starttime=1491810516&type=gbk"

{Signature}=HMAC-SHA256-BASE64("PMROwlieALT36qfdGClVz2iH4Sv8xZxe", {AuthPrefix} + "" + {Data})="vuVEkzcnUeFv8FxeWS50c7S0HaYH1QKgtIV5xrxDY/s="

3最终生成的 header 为

Authorization: sac-auth-v1/bTkALtTB9x6GAxmFi9wetAGH/1491810516/3600/vuVEkzcnUeFv8FxeWS50c7S0HaYH1QKgtIV5xrxDY/s=

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
适合人工智能(AI)开发的五大编程语言
技术趋势:2019,人工智能开发的5种最佳编程语言(原创)
一文搞懂autoGPT部署,傻瓜式教程虽迟但到
调教属于你的“贾维斯”(给自己挖了一个很大的坑)
【重磅】谷歌TensorFlow 1.0发布,智能手机也能玩转深度学习
这5种工具可以帮你开发属于自己的人工智能
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服