iOS SDK

最近更新时间:2019-03-06 17:18:07

概述

数学作业批改(Homework Correction-Math,HCM)是腾讯云推出的速算题目智能批改产品。在过去,速算作业的批改需要教师做基础性、重复性的工作,消耗大量的时间;腾讯云针对此场景推出数学作业批改服务,支持各种数学公式和符号识别,能识别竖式、分式、脱式以及四则运算多种题型。
TAISDK 是一款封装了腾讯云教育 AI 能力的 SDK,通过集成 SDK,用户可以快速接入相关产品功能,如数学作业批改、智聆口语评测等。

前提条件

获取密钥:SecretId 和 SecretKey 是使用 SDK 的安全凭证,您可以在【访问管理】>【云 API 密钥】>【API 密钥管理】中获取该凭证。

集成 SDK

1. 导入 SDK

Demo 源码 中获取 SDK 并导入到工程。

2. 调用接口

声明并定义对象:

@property (strong, nonatomic) TAIMathCorrection *mathCorrection;
self.mathCorrection = [[TAIMathCorrection alloc] init];

初始化参数:

TAIMathCorrectionParam *param = [[TAIMathCorrectionParam alloc] init];
param.sessionId = [[NSUUID UUID] UUIDString];
param.appId = @"";
param.imageData = UIImageJPEGRepresentation(_imageView.image, 0);
param.secretId = @"";
param.secretKey = @"";
[self.mathCorrection correction:param callback:^(TAIError *error, TAIMathCorrectionRet *result) {
    //成功返回TAIMathCorrectionRet
}];

3. 签名

SecretKey 属于安全敏感参数,线上版本一般由业务后台生成 临时 SecretKey 或者 SDK 外部签名返回到客户端。

  • 内部签名:SDK 内部通过 SecretId 和 SecretKey 计算签名,用户无需关心签名细节。
  • 外部签名:SDK 外部通过调用 getStringToSign 获取签名字符串,然后根据 签名规则-计算签名 进行签名。
//获取签名所需字符串
- (NSString *)getStringToSign:(NSInteger)timestamp;

注意:

时间戳 timestamp 必须和 TAIEvaluationParam 参数的 timestamp 一致。

参数说明

公共参数

TAICommonParam 参数说明:

参数 类型 必填 说明
appId NSString AppID
timeout NSInteger 超时时间,默认30秒
secretId NSString 密钥 ID
secretKey NSString 内部签名:必填 密钥 Key
signature NSString 外部签名:必填 签名
timestamp NSInteger 外部签名:必填 秒级时间戳

TAIError 参数说明:

参数 类型 说明
code TAIErrCode 错误码
desc NSString 错误描述
requestId NSString 请求 ID,定位错误信息

数学作业批改参数

TAIMathCorrectionParam 参数说明:

参数 类型 必填 说明
sessionId NSString 一次批改唯一标识
imageData NSData 图片数据

TAIMathCorrectionRet 参数说明:

参数 类型 说明
sessionId NSString 一次批改唯一标识
formula NSString 算式
items NSArray<TAIMathCorrectionItem *> 算式结果

TAIMathCorrectionItem 参数说明:

参数 类型 说明
result BOOL 算式结果
rect CGRect 算式坐标
formula NSString 算式字符串