云服务、API、SDK,调试,查看,我都行
阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译
API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。
在本插件中,我们提供了但不局限于如下的功能:
对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API。
提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API。
对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。
说明:
在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。
API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。
安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。
须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA。
开始安装:
您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。
IDE安装

离线包安装:

说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。
安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。

左侧展示API列表,可以查询所有API,目前云服务206,APIs9213

情感分析(基础版),针对通用领域的用户评论进行情感分析。
前提条件:
1、已注册华为云,并完成实名认证 。
2、已完成自然语言处理服务申请,具体请参考 申请服务。
3、已获取自然语言处理服务对应区域终端节点地址,具体请参考 地区和终端节点。
4、已获取自然语言处理服务对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证。
5、已获取华为云帐号对应的有效AK、SK,具体请参见 如何获取访问密钥AK/SK。
6、已具备开发环境 ,支持Java JDK 1.8及其以上版本。
开始使用:
- import com.huaweicloud.sdk.core.auth.BasicCredentials;
- import com.huaweicloud.sdk.core.exception.ClientRequestException;
- import com.huaweicloud.sdk.core.exception.ServerResponseException;
- import com.huaweicloud.sdk.nlp.v2.NlpClient;
- import com.huaweicloud.sdk.nlp.v2.model.HWCloudSentimentReq;
- import com.huaweicloud.sdk.nlp.v2.model.RunSentimentRequest;
- import com.huaweicloud.sdk.nlp.v2.model.RunSentimentResponse;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
-
- public class RunSentiment {
- private static final Logger logger = LoggerFactory.getLogger(RunSentiment.class.getName());
-
- public static void main(String[] args) {
-
- /*
- * 初始化认证信息,相关参数说明如下所示:
- * - ak:华为云账号Access Key。
- * - sk:华为云账号Secret Access Key 。
- */
- String ak = "
" ; - String sk = "
" ; - String projectId = "
" ; - String endpoint = "
" ; - BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
- NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();
-
- try {
- // 构造请求参数
- HWCloudSentimentReq sentimentReq = new HWCloudSentimentReq();
- sentimentReq.setContent("
" ); - sentimentReq.setLang(HWCloudSentimentReq.LangEnum.ZH);
- RunSentimentRequest runSentimentRequest = new RunSentimentRequest();
- runSentimentRequest.setBody(sentimentReq);
-
- // 接收响应参数
- RunSentimentResponse response = client.runSentiment(runSentimentRequest);
- logger.info(response.toString());
- } catch (ClientRequestException e) {
- logger.error(String.valueOf(e.getHttpStatusCode()));
- logger.error(e.toString());
- } catch (ServerResponseException e) {
- logger.error(String.valueOf(e.getHttpStatusCode()));
- logger.error(e.getMessage());
- }
- }
- }
文本分词,对文本进行分割,返回分割后的词语组和词语对应的词性。
开始使用:
- import com.huaweicloud.sdk.core.auth.BasicCredentials;
- import com.huaweicloud.sdk.core.exception.ClientRequestException;
- import com.huaweicloud.sdk.core.exception.ServerResponseException;
- import com.huaweicloud.sdk.nlp.v2.NlpClient;
- import com.huaweicloud.sdk.nlp.v2.model.RunSegmentRequest;
- import com.huaweicloud.sdk.nlp.v2.model.RunSegmentResponse;
- import com.huaweicloud.sdk.nlp.v2.model.SegmentRequest;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class RunSegment {
- private static final Logger logger = LoggerFactory.getLogger(RunSegment.class.getName());
- public static void main(String[] args) {
- /*
- * 初始化认证信息,相关参数说明如下所示:
- * - ak:华为云账号Access Key。
- * - sk:华为云账号Secret Access Key 。
- */
- String ak = "
" ; - String sk = "
" ; - String projectId = "
" ; - String endpoint = "
" ; - BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
- NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();
-
- try {
- // 构造请求参数
- SegmentRequest segmentRequest = new SegmentRequest();
- segmentRequest.setText("
" ); - segmentRequest.setLang(SegmentRequest.LangEnum.fromValue("zh"));
- segmentRequest.setCriterion(SegmentRequest.CriterionEnum.fromValue("PKU"));
- segmentRequest.setPosSwitch(SegmentRequest.PosSwitchEnum.fromValue(0));
- RunSegmentRequest runSegmentRequest = new RunSegmentRequest();
- runSegmentRequest.setBody(segmentRequest);
-
- // 接收响应参数
- RunSegmentResponse response = client.runSegment(runSegmentRequest);
- logger.info(response.toString());
- } catch (ClientRequestException e) {
- logger.error(String.valueOf(e.getHttpStatusCode()));
- logger.error(e.toString());
- } catch (ServerResponseException e) {
- logger.error(String.valueOf(e.getHttpStatusCode()));
- logger.error(e.getMessage());
- }
- }
- }
文本翻译,将用户输入原始语种的文本转换为目标语种的文本。
开始使用:
- import com.huaweicloud.sdk.core.auth.BasicCredentials;
- import com.huaweicloud.sdk.core.exception.ClientRequestException;
- import com.huaweicloud.sdk.core.exception.ServerResponseException;
- import com.huaweicloud.sdk.nlp.v2.NlpClient;
- import com.huaweicloud.sdk.nlp.v2.model.RunTextTranslationRequest;
- import com.huaweicloud.sdk.nlp.v2.model.RunTextTranslationResponse;
- import com.huaweicloud.sdk.nlp.v2.model.TextTranslationReq;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
-
- public class RunTextTranslation {
- private static final Logger logger = LoggerFactory.getLogger(RunTextTranslation.class.getName());
-
- public static void main(String[] args) {
-
- /*
- * 初始化认证信息,相关参数说明如下所示:
- * - ak:华为云账号Access Key。
- * - sk:华为云账号Secret Access Key 。
- */
- String ak = "
" ; - String sk = "
" ; - String projectId = "
" ; - String endpoint = "
" ; - BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
- NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();
-
- try {
- // 构造请求参数
- TextTranslationReq textTranslationReq = new TextTranslationReq();
- textTranslationReq.setFrom(TextTranslationReq.FromEnum.ZH);
- textTranslationReq.setTo(TextTranslationReq.ToEnum.EN);
- textTranslationReq.setText("
" ); - textTranslationReq.setScene(TextTranslationReq.SceneEnum.COMMON);
- RunTextTranslationRequest runTextTranslationRequest = new RunTextTranslationRequest();
- runTextTranslationRequest.setBody(textTranslationReq);
-
- // 接收响应参数
- RunTextTranslationResponse response = client.runTextTranslation(runTextTranslationRequest);
- logger.info(response.toString());
- } catch (ClientRequestException e) {
- logger.error(String.valueOf(e.getHttpStatusCode()));
- logger.error(e.toString());
- } catch (ServerResponseException e) {
- logger.error(String.valueOf(e.getHttpStatusCode()));
- logger.error(e.getMessage());
- }
- }
- }
自然语言处理的API接口已全部商用,无需开通,可直接调用。调用费用请参见自然语言处理价格计算器。
准备工作:已注册华为帐号并开通华为云,并完成实名认证,帐号不能处于欠费或冻结状态。
步骤1:配置环境
下载地址:https://nlp-sdk.obs.cn-north-4.myhuaweicloud.com/nlp-java-sdk.zip
说明:
如果用户已经下载JDK并配置好环境,请跳过2.a~2.d。
图1 Java版本信息


步骤2:设置鉴权信息
获取AK/SK。AK/SK即访问密钥,请登录“我的凭证”界面,选择“管理访问密钥 > 新增访问密钥”获取。
AK/SK认证鉴权,配置Java SDK中的AK/SK。根据获取的AK/SK,修改Demo工程“NLPDemo.java”文件中函数的“AK”和“SK”的值。
图3 AK/SK认证鉴权

步骤3:调用分词服务
执行Demo,控制台输出状态码“200”即表示程序执行成功。
分词识别的返回结果为JSON格式,如下所示。
- {
- "words": [
- {
- "content": "今天",
- "pos": "t"
- },
- {
- "content": "天气",
- "pos": "n"
- },
- {
- "content": "真",
- "pos": "d"
- },
- {
- "content": "好",
- "pos": "a"
- }
- ]
- }

华为云devkit已上线:Toolkit-华为云