TAIP 是调用腾讯 AI 接口的 Java 客户端,为调用腾讯 AI 功能的开发人员提供了一系列的交互方法。
目前已经接入
【face人脸识别】
人脸检测与分析、多人脸检测、人脸对比、跨年龄人脸识别、五官定位、人脸识别、人脸验证、个体创建、删除个体、增加人脸、删除人脸、设置信息、获取信息、获取组列表、获取个体列表、获取人脸列表、获取人脸信息接口调用服务
【ptu图片特效】
人脸美妆、人脸变妆、图片滤镜(天天P图)、图片滤镜(AI Lab)、人脸融合、大头贴、颜龄检测接口调用服务
【自然语言处理TAipNlp】
【智能鉴黄、暴恐图片识别TAipVision】
【语音合成、识别TAipSpeech】
【文字识别TAipOcr】
【图像识别TAipImageClassify】
Java JDK 1.7+
项目结构介绍
cn.xsshome.taip ├── base //基类 ├── http //Http通信相关类 ├── error //SDK错误类 ├── imageclassify │ └── TAipImageClassify //TAipImageClassify类 ├── sign //签名公用类 ├── ocr │ └── TAipOcr //TAipOcr类 ├── speech │ └── TAipSpeech //TAipSpeech类 ├── face │ └── TAipFace //TAipFace类 ├── ptu │ └── TAipPtu //TAipPtu类 ├── nlp │ └── TAipNlp //TAipNlp类 ├── vision │ └── TAipVision //TAipVision类 └── util //工具类
使用 maven 引入即可(最新版本4.2.2)
OCR 示例代码
TAipOcr 是调用腾讯 AI 中 OCR 的 Java 客户端,为调用腾讯 AI 中 OCR 功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个 TAipOcr,初始化完成后建议单例使用:
public class Sample { //设置APPID/APP_KEY public static final String APP_ID = "你的 App ID"; public static final String APP_KEY = "你的 Api Key"; public static void main(String[] args) { // 初始化一个TAipOcr TAipOcr aipOcr = new TAipOcr(APP_ID,APP_KEY); // 调用接口 String result = aipOcr.idcardOcr("./idcard.jpg", 0);//身份证正面(图片)识别 String result = aipOcr.idcardOcr("./idcard2.jpg", 1);//身份证反面(国徽)识别 String result = aipOcr.bcOcr("./juli2.jpg");//名片识别 String result = aipOcr.driverlicenseOcr("./driver.jpg",0);//行驶证OCR识别 String result = aipOcr.driverlicenseOcr("./driver2.jpg",1);//驾驶证OCR识别 String result = aipOcr.bizlicenseOcr("./biz.jpg");//营业执照OCR识别 String result = aipOcr.creditcardOcr("./bank2.jpg");//银行卡OCR识别 String result = aipOcr.generalOcr("./biz.jpg");//通用OCR识别 } }
ASR、TTS 示例代码
新建TAipSpeech TAipSpeech是调用腾讯AI中语音识别、合成的Java客户端,为调用腾讯AI中语音识别、合成功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个TAipSpeech,初始化完成后建议单例使用:
public class Sample {
//设置APPID/APP_KEY
public static final String APP_ID = "你的 App ID";
public static final String APP_KEY = "你的 Api Key";
public static void main(String[] args) {
// 初始化一个TAipSpeech
TAipSpeech aipSpeech = new TAipSpeech(APP_ID, APP_KEY);
// 调用接口
String filePath ="./VOICE1513237078.pcm";//本地文件路径
byte[] audio = FileUtil.readFileByBytes(filePath);//获取文件的byte数据
String result = aipSpeech.asrEcho(filePath, 1);//语音识别-echo版
String result = aipSpeech.asrLab(1, 16000, 0, 1024, 1, audio);//语音识别-流式版(AI Lab)
String result = aipSpeech.asrWx(filePath, 1, 16000, 16, 0, 1024, 1, 1);//语音识别-流式版(WeChat AI)
String text = "小帅封装代码";
String result = aipSpeech.TtaSynthesis(text);//语音合成(优图) 默认参数
String result = aipSpeech.TtaSynthesis(text,2,1);//语音合成(优图) 全部参数
String result = aipSpeech.TtsSynthesis(text, 1, 3);//语音合成(AI Lab) 默认参数
String result = aipSpeech.TtsSynthesis(text,1,3,0,100,0,58);//语音合成(AI Lab) 全部参数
String result = aipSpeech.asrLong("G:/16.pcm", 1, "http://yourwebsitename.com/methodname");//长语音识别
System.out.println(result);
}
}
图像识别 示例代码
TAipImageClassify是调用腾讯AI中图像识别的Java客户端,为调用腾讯AI中图像识别功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个 TAipImageClassify,初始化完成后建议单例使用:
public class Sample { //设置APPID/APP_KEY public static final String APP_ID = "你的 App ID"; public static final String APP_KEY = "你的 Api Key"; public static void main(String[] args) throws Exception { // 初始化一个TAipImageClassify TAipImageClassify aipImageClassify = new TAipImageClassify(APP_ID, APP_KEY); String filePath = "G:/x5.jpg";//本地文件路径 byte[] image = FileUtil.readFileByBytes(filePath);//获取文件的byte数据 String result = aipImageClassify.visionScener(image, 1, 5);//场景识别 String result = aipImageClassify.visionObjectr(image, 1, 5);//物体识别 String result = aipImageClassify.imageTag(image);//图像标签识别 String result = aipImageClassify.visionImgidentify(image, 1);//车辆识别 String result = aipImageClassify.visionImgidentify(image, 2);//花草识别 String result = aipImageClassify.flowersAndPlant(image);//花草识别 String result = aipImageClassify.vehicle(image);//车辆识别 String result = aipImageClassify.visionImgtotext(image,RandomNonceStrUtil.getRandomString());//看图说话 String result = aipImageClassify.imageFuzzy(image);//模糊图片检测 String result = aipImageClassify.imageFood(image);//美食图片识别 System.out.println(result); } }
TAipFace是调用腾讯AI中人脸识别的Java客户端,为调用腾讯AI中人脸识别功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个 TAipFace,初始化完成后建议单例使用:
public class Sample{
//设置APPID/APP_KEY
public static final String APP_ID = "你的 App ID";
public static final String APP_KEY = "你的 Api Key";
public static void main(String[] args) throws Exception {
// 初始化一个TAipPtu
TAipFace aipFace = new TAipFace(APP_ID, APP_KEY);
String filePath = "G:/body2.jpg";
String filePathA = "G:/dc.jpg";
String filePathB = "G:/dcg.jpg";
/**********人脸识别**********/
String result = aipFace.detect(filePath);//人脸检测与分析
String result = aipFace.detectMulti(filePath); //多人脸检测
String result = aipFace.faceCompare(filePathA, filePathB); //人脸对比
String result = aipFace.detectCrossage(filePathA, filePathB);//跨年龄人脸识别
String result = aipFace.faceShape(filePathA);//五官定位
String result = aipFace.faceIdentify(filePath, "group01", 9);//人脸识别
String result = aipFace.faceVerify(filePath, "20180511");//人脸验证
/**********个体管理**********/
String result = aipFace.faceNewperson(filePath,"group20180511","201805110001","测试");//个体创建
String result = aipFace.faceDelperson("201805110001");//删除个体
/*增加人脸 图片二进制List*/
List bytes = new ArrayList();
byte [] faceA = FileUtil.readFileByBytes(filePathA);
byte [] faceB = FileUtil.readFileByBytes(filePathB);
bytes.add(faceA);
bytes.add(faceB);
String result = aipFace.faceAddfaceByte(bytes,"201805110001","测试增加人脸");
/*增加人脸 图片本地路径List*/
List filePaths = new ArrayList();
filePaths.add(filePathA);
filePaths.add(filePathB);
String result = aipFace.faceAddfaceByFilePath(filePaths,"201805110001","测试增加人脸");//增加人脸
String result = aipFace.faceDelFace("201805110001", "2573556034542000336");//删除人脸
String result = aipFace.faceSetInfo("201805110001", "小帅测试","测试接口");//设置信息
String result = aipFace.faceGetInfo("201805110001");//获取信息
/**********信息查询**********/
String result = aipFace.getGroupIds();//获取组列表
String result = aipFace.getPersonIds("group20180511");//获取个体列表
String result = aipFace.getFaceIds("201805110001");//获取人脸列表
String result = aipFace.getFaceInfo("2573564663139686751");//获取人脸信息
System.out.println(result);
}
}
TAipPtu是调用腾讯AI中图片特效的Java客户端,为调用腾讯AI中图片特效功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个 TAipPtu,初始化完成后建议单例使用:
public class Sample{
//设置APPID/APP_KEY
public static final String APP_ID = "你的 App ID";
public static final String APP_KEY = "你的 Api Key";
public static void main(String[] args) throws Exception {
// 初始化一个TAipPtu
TAipPtu aipPtu = new TAipPtu(APP_ID, APP_KEY);
String imagePath = "G:/test2.jpg";
String result = aipPtu.faceCosmetic(imagePath, 23);//人脸美妆
String result = aipPtu.faceDecoration(imagePath, 8);//人脸变妆
String result = aipPtu.imgFilter(imagePath, 20);//滤镜 天天P图
String result = aipPtu.visionImgfilter(imagePath, 32, String.valueOf(new Date().getTime()));//滤镜 AI Lab
String result = aipPtu.faceMerge(imagePath, 12);//人脸融合
String result = aipPtu.faceSticker(imagePath, 27);//大头贴
String result = aipPtu.faceAge(imagePath);//颜龄检测
System.out.println(result);
}
}
TAipNlp是调用腾讯AI中自然语言处理的Java客户端,为调用腾讯AI中自然语言处理功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个 TAipNlp,初始化完成后建议单例使用:
public class Sample{
public static final String APP_ID = "你的 App ID";
public static final String APP_KEY = "你的 Api Key";
public static void main2(String[] args) throws Exception {
TAipNlp aipNlp = new TAipNlp(APP_ID, APP_KEY);
String session = new Date().getTime()/1000+"";
String filePath = "G:/tt.jpg";
String filePath2 = "G:/16.pcm";
String result = aipNlp.nlpWordseg("小帅开发者");//分词
String result = aipNlp.nlpWordpos("小帅是一个热心的开发者");//词性标注
String result = aipNlp.nlpWordner("最近张学友在深圳开了一场演唱会");//专有名词
String result = aipNlp.nlpWordsyn("今天的天气怎么样");//同义词
String result = aipNlp.nlpWordcom("今天深圳的天气怎么样?明天呢");//意图成分
String result = aipNlp.nlpTextpolar("小帅很帅");//情感分析
String result = aipNlp.nlpTextchat(session,"北京天气");//基础闲聊
String result = aipNlp.nlpTextTrans(0, "小帅开发者");//文本翻译(AI Lab)
String result = aipNlp.nlpTextTranslate("小帅开发者", "zh", "en");//文本翻译(翻译君)
String result = aipNlp.nlpImageTranslate(filePath, session, "doc","zh", "en");//图片翻译
String result = aipNlp.nlpSpeechTranslate(6, 0, 1, session, filePath2,"zh", "en");//语音翻译
String result = aipNlp.nlpTextDetect("こんにちは", 0);//语种识别
System.out.println(result);
}
}
TAipVision是调用腾讯AI中智能鉴黄、暴恐图片识别的Java客户端,为调用腾讯AI中智能鉴黄、暴恐图片识别功能的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个 TAipVision,初始化完成后建议单例使用:
public class Sample{
public static final String APP_ID = "你的 App ID";
public static final String APP_KEY = "你的 Api Key";
public static void main2(String[] args) throws Exception {
TAipVision aipVision = new TAipVision(APP_ID, APP_KEY);
String filePath = "G:/tt.jpg";
String result = aipVision.imageTerrorism(filePath);//暴恐图片
String result = aipVision.visionPorn(filePath);//智能鉴黄
System.out.println(result);
}
}
代码地址:https://gitee.com/xshuai/taip TAIP 是调用腾讯 AI 接口的 Java 客户端,为调用腾讯 AI 功能的开发人员提供了一系列的交互方法。 Java调用腾讯AI接口服务。鉴权实现 Java快速开发第三方——腾讯人工智能AI接入详解SDK形式 文档请移步:http://taip.mydoc.io/ APPID APPKEY 是腾讯AI创建应用后得到。请移步腾
OCR Java SDK目录结构 cn.xsshome.taip ├── base //基类 ├── http //Http通信相关类 ├── imageclassify │ └── TAipImageClassify //TAipImageClassify类 ├── sign //签名公用类 ├── ocr │ └── TAipOcr //TAipOcr类 ├── speech │ └── TA
上午和昨天一起在改在openfaas中部署一个springboot的项目,在springboot中的controller类,有可以接收前台传值的方法,我把它部署到openfaas中一直报错不是405就是500,我其实不是很清楚究竟是我代码的问题还是Openfaas和java一起使用需要注意什么,现在也没有解决,下午安docker,头一次用ubuntu,我那个vi编程窗口格式就不对,后来也没改太好,
一面4.18 面试官人超好 #define const constexpr区别 virtual override 智能指针 std::unique_ptr实现 32位的int和32位的float,谁能表示的数据个数多? lambda 给了一段代码判断有什么问题 算法是对称二叉树 二面4.19 项目拷打 tcp tls http3.0 虚函数具体实现 class和struct区别 智能指针 virt
腾讯二面客户端 Java 选手 二面跟一面差不多,八股少一些,主要是项目还有 AI 方面的询问,408 是必不可少的,没有考算法题。 1)自我介绍 2)项目亮点介绍 3)AI 学习 4)项目的目的 5)AI 准确度 6)设计模式和实践 7)TCP 为什么不能两次 8)HTTP 和 HTTPS 9)HTTPS 加密过程 10)对称加密和非对称加密算法和使用场景 11)死锁场景举例 12)死锁解决 1
t1 删除链表中值为k的数 ListNode* deleteNode(ListNode* head, int k) { auto t = new ListNode(0); auto tmp = t; t->next = head; auto pre = t; while(head!=nullptr)
女面试官,没开摄像头。 上来问了几个c++的问题,智能指针、线程安全啥的,然后就开始问项目中遇到的困难怎么解决的,有没有遇到c++的性能问题,还某一些忘记了。 然后突然开始问对大模型的理解,有没有用过相关的软件,自己一般用gpt 来做些啥。然后就是反问了 总共就二十多分钟,感觉面的不大好
为啥别人都是俩小时,我就半小时。 实习经历,缓存算法 一致性哈希 LRU 了解protobuf吗,protobuf和json的区别 protobuf的底层原理是怎么样的 写个代码吧,合并k个有序链表 看到算法题,我以为他要和我结束了,想多和面试官聊两句,我第一次写了一个每次需要遍历最小元素的方法。不过她好像没咋理解,我就画了个图说了一下。 他说有没有优化方法,然后我假装思考了一下,说了优先级队列的
听说写面经能攒好运 腾讯客户端一面,加上写算法,总共2h10min,自我介绍,然后问项目。然后项目和八股穿插着问,以及场景题: 1:产品反应,用户在使用视频号的时候,刷视频的时候会出现卡顿(往下滑动看新视屏的时候),现在你应该怎么解决这个问题? 2:在直播的时候,也是卡顿,假设现在你已经排查出这个问题是发生在dns解析的时候,耗时过长,如何解决? 3:让你实现一个语音通话,用什么协议,用udp的话
1、自我介绍 2、java堆、栈了解吗(下次面试可以扩展答一下jvm内存模型) 3、项目介绍(面试官问了好几个问题) 4、okhttp原理及优势 5、Handler原理(追问:用过sendMessageDelayed吗、怎么知道是哪个Handler处理) 4、java的几种引用和使用场景 5、线程池用过吗,讲一讲你对它的理解 6、用过锁吗,介绍项目用过,面试官反问不用synchronized也可以
先自我介绍 先是一些经典问题: TCP和UDP区别 进程和线程 然后有一些应用: 一个切换的场景题问我有什么想法 怎么解决多线程的冲突问题 安卓怎么切换不同的线程 红黑树底层逻辑,以及怎么应用在查找里面 垃圾回收相关 hashmap 还有一些Java应用记不大清了 没有手撕