Java调用百度AI开放平台API

快来打我* 2022-04-16 03:48 571阅读 0赞

百度AI开放平台

百度AI开放平台是全球领先的人工智能服务平台,面向开发者及企业开放120多项全球领先的AI能力和软硬一体组件,并提供 EasyDL定制化训练平台、对话系统开发平台UNIT、自定义模板OCR等AI定制化平台,为上下游合作伙伴搭建了展示与交易平台-AI市场。百度AI开放平台全力帮助各行业快速、高效地实现AI升级。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nX2ppYXl1YW4_size_16_color_FFFFFF_t_70

本次案例主要测试将百度AI开放平台Java SDK整合到自己的工程项目中,并就对其中感兴趣的模块做测试

在控制台创建应用

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nX2ppYXl1YW4_size_16_color_FFFFFF_t_70 1

下载Baidu-AIP/java-sdk

为了方便学习,可通过下载源码的方式进行引入,也可通过maven依赖的方式引入

  1. <dependency>
  2. <groupId>com.baidu.aip</groupId>
  3. <artifactId>java-sdk</artifactId>
  4. <version>4.8.0</version>
  5. </dependency>

配置好本地git初始化环境,执行命令,$ git clone https://github.com/Baidu-AIP/java-sdk.git,完成sdk包的下载

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nX2ppYXl1YW4_size_16_color_FFFFFF_t_70 2

在IDEA中导入项目

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nX2ppYXl1YW4_size_16_color_FFFFFF_t_70 3

编写测试案例

在client包下编写Sample类,作为测试客户端。

AipNlp是自然语言处理的Java客户端,为使用自然语言处理的开发人员提供了一系列的交互方法。

用户可以参考如下代码新建一个AipNlp,初始化完成后建议单例使用,避免重复获取access_token

单例获取客户端:

  1. package com.jyycode.baidu_aip.client;
  2. import com.baidu.aip.nlp.AipNlp;
  3. /** 获取单例客户端
  4. * @author Jiayuan
  5. * @version 1.0
  6. * @description:
  7. * @time 11/16/2018 3:44 PM
  8. */
  9. public class GetClient {
  10. private static AipNlp client = null;
  11. private GetClient(){};
  12. public static AipNlp getClient(String APP_ID,String API_KEY,String SECRET_KEY ){
  13. if(client == null){
  14. client = new AipNlp(APP_ID,API_KEY,SECRET_KEY);
  15. return client;
  16. }
  17. return client;
  18. }
  19. }

(中文分词)主程序:

  1. package com.baidu.aip.client;
  2. import com.baidu.aip.nlp.AipNlp;
  3. import org.json.JSONObject;
  4. /** 百度AI开放平台客户端测试
  5. * @author Jiayuan
  6. * @version 1.0
  7. * @description:
  8. * @time 11/16/2018 3:05 PM
  9. */
  10. public class Sample {
  11. public static final String APP_ID = "INPUT_YOUR_APP_ID_HERE";
  12. public static final String API_KEY = "INPUT_YOUR_API_KEY_HERE";
  13. public static final String SECRET_KEY = "INPUT_YOUR_SECRET_KEY_HERE";
  14. public static void main(String[] args) {
  15. //初始化一个AipNlp
  16. AipNlp client = GetClient.getClient(APP_ID,API_KEY,SECRET_KEY);
  17. //可选,设置网络参数
  18. client.setConnectionTimeoutInMillis(2000);
  19. client.setSocketTimeoutInMillis(60000);
  20. //可选:设置网络连接参数
  21. //client.setHttpProxy("proxy_host",proxy_port);
  22. //client.setSocketProxy("proxy_host",proxy_port);
  23. //可选:设置log4j日志输出格式,若不设置,则使用默认配置
  24. //System.setProperties("aip.log.conf","path/to/your/log4j.proprties");
  25. //调用接口
  26. String text = "百度是一家高科技公司";
  27. JSONObject res = client.lexer(text,null);
  28. System.out.println(res.toString());
  29. }
  30. }

从服务端得到返回结果:

  1. {
  2. "log_id": 4810127541569104400,
  3. "text": "百度是一家高科技公司",
  4. "items": [{
  5. "formal": "",
  6. "loc_details": [],
  7. "item": "百度",
  8. "pos": "",
  9. "ne": "ORG",
  10. "basic_words": ["百度"],
  11. "byte_length": 4,
  12. "byte_offset": 0,
  13. "uri": ""
  14. }, {
  15. "formal": "",
  16. "loc_details": [],
  17. "item": "是",
  18. "pos": "v",
  19. "ne": "",
  20. "basic_words": ["是"],
  21. "byte_length": 2,
  22. "byte_offset": 4,
  23. "uri": ""
  24. }, {
  25. "formal": "",
  26. "loc_details": [],
  27. "item": "一家",
  28. "pos": "m",
  29. "ne": "",
  30. "basic_words": ["一", "家"],
  31. "byte_length": 4,
  32. "byte_offset": 6,
  33. "uri": ""
  34. }, {
  35. "formal": "",
  36. "loc_details": [],
  37. "item": "高科技",
  38. "pos": "n",
  39. "ne": "",
  40. "basic_words": ["高", "科技"],
  41. "byte_length": 6,
  42. "byte_offset": 10,
  43. "uri": ""
  44. }, {
  45. "formal": "",
  46. "loc_details": [],
  47. "item": "公司",
  48. "pos": "n",
  49. "ne": "",
  50. "basic_words": ["公司"],
  51. "byte_length": 4,
  52. "byte_offset": 16,
  53. "uri": ""
  54. }]
  55. }

未完待续~

发表评论

表情:
评论列表 (有 0 条评论,571人围观)

还没有评论,来说两句吧...

相关阅读

    相关 淘宝开放API

    前两天按照淘宝API提供的demo代码改写成了类 由于公司的店铺比较多,而且淘宝做了授权改造,所有API都需要使用session 所以把一些关键参数存储在了数据库之