Java调用百度AI开放平台API

百度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客户端,为使用自然语言处理的开发人员提供了一系列的交互方法。

扫描二维码关注公众号,回复: 4609163 查看本文章

用户可以参考如下代码新建一个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": ""
	}]
}

未完待续~

猜你喜欢

转载自blog.csdn.net/zhang_jiayuan/article/details/84139243