Java呼叫百度AI開放平臺API
阿新 • • 發佈:2018-12-22
百度AI開放平臺
百度AI開放平臺是全球領先的人工智慧服務平臺,面向開發者及企業開放120多項全球領先的AI能力和軟硬一體元件,並提供 EasyDL定製化訓練平臺、對話系統開發平臺UNIT、自定義模板OCR等AI定製化平臺,為上下游合作伙伴搭建了展示與交易平臺-AI市場。百度AI開放平臺全力幫助各行業快速、高效地實現AI升級。
本次案例主要測試將百度AI開放平臺Java SDK整合到自己的工程專案中,並就對其中感興趣的模組做測試
在控制檯建立應用
下載Baidu-AIP/java-sdk
為了方便學習,可通過下載原始碼的方式進行引入,也可通過maven依賴的方式引入
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.8.0</version>
</dependency>
配置好本地git初始化環境,執行命令,$ git clone https://github.com/Baidu-AIP/java-sdk.git,完成sdk包的下載
在IDEA中匯入專案
編寫測試案例
在client包下編寫Sample類,作為測試客戶端。
AipNlp是自然語言處理的Java客戶端,為使用自然語言處理的開發人員提供了一系列的互動方法。
使用者可以參考如下程式碼新建一個AipNlp,初始化完成後建議單例使用,避免重複獲取access_token
單例獲取客戶端
package com.jyycode.baidu_aip.client; import com.baidu.aip.nlp.AipNlp; /** 獲取單例客戶端 * @author Jiayuan * @version 1.0 * @description: * @time 11/16/2018 3:44 PM */ public class GetClient { private static AipNlp client = null; private GetClient(){}; public static AipNlp getClient(String APP_ID,String API_KEY,String SECRET_KEY ){ if(client == null){ client = new AipNlp(APP_ID,API_KEY,SECRET_KEY); return client; } return client; } }
(中文分詞)主程式:
package com.baidu.aip.client;
import com.baidu.aip.nlp.AipNlp;
import org.json.JSONObject;
/** 百度AI開放平臺客戶端測試
* @author Jiayuan
* @version 1.0
* @description:
* @time 11/16/2018 3:05 PM
*/
public class Sample {
public static final String APP_ID = "INPUT_YOUR_APP_ID_HERE";
public static final String API_KEY = "INPUT_YOUR_API_KEY_HERE";
public static final String SECRET_KEY = "INPUT_YOUR_SECRET_KEY_HERE";
public static void main(String[] args) {
//初始化一個AipNlp
AipNlp client = GetClient.getClient(APP_ID,API_KEY,SECRET_KEY);
//可選,設定網路引數
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
//可選:設定網路連線引數
//client.setHttpProxy("proxy_host",proxy_port);
//client.setSocketProxy("proxy_host",proxy_port);
//可選:設定log4j日誌輸出格式,若不設定,則使用預設配置
//System.setProperties("aip.log.conf","path/to/your/log4j.proprties");
//呼叫介面
String text = "百度是一家高科技公司";
JSONObject res = client.lexer(text,null);
System.out.println(res.toString());
}
}
得到返回結果:
{
"log_id": 4810127541569104400,
"text": "百度是一家高科技公司",
"items": [{
"formal": "",
"loc_details": [],
"item": "百度",
"pos": "",
"ne": "ORG",
"basic_words": ["百度"],
"byte_length": 4,
"byte_offset": 0,
"uri": ""
}, {
"formal": "",
"loc_details": [],
"item": "是",
"pos": "v",
"ne": "",
"basic_words": ["是"],
"byte_length": 2,
"byte_offset": 4,
"uri": ""
}, {
"formal": "",
"loc_details": [],
"item": "一家",
"pos": "m",
"ne": "",
"basic_words": ["一", "家"],
"byte_length": 4,
"byte_offset": 6,
"uri": ""
}, {
"formal": "",
"loc_details": [],
"item": "高科技",
"pos": "n",
"ne": "",
"basic_words": ["高", "科技"],
"byte_length": 6,
"byte_offset": 10,
"uri": ""
}, {
"formal": "",
"loc_details": [],
"item": "公司",
"pos": "n",
"ne": "",
"basic_words": ["公司"],
"byte_length": 4,
"byte_offset": 16,
"uri": ""
}]
}
未完待續~