云服务、API、SDK,调试,查看,我都行
阅读短文您可以学习到:人工智能 AI 自言语言的情感分析、文本分词、文本翻译
1 IntelliJ IDEA 之 API 插件介绍
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 的使用依赖底座插件,请提前安装底座插件。
2 API 插件安装--IntelliJ IDEA
2.1 IntelliJ IDEA 等平台
安装准备:下载并安装 JDK1.8 或更高版本。下载并安装 IntelliJ IDEA 2020.2 或更高版本。
须知:IntellIj 平台同时支撑包括 Goland、Pycharm 等在内的 IDE,若在其它相关 IDE 上开发,请下载配置好对应语言的编译器或者解释器。这里以 IDEA 为例介绍 IntelliJ 平台插件的安装流程,其他 IntelliJ 系列的 IDE 请参考 IDEA。
开始安装:
您可以在直接在 IDE 插件市场或者直接在 JetBrains 插件市场下载离线包安装。
IDE 安装
在 IntelliJ IDEA 顶部菜单栏中选择 File > Settings,在 Settings 对话框的左侧导航栏中单击 Plugins。
Plugins 区域单击 Marketplace,在搜索栏中输入 Huawei Cloud API。
Search Results 区域会出现 Huawei Cloud API,单击 Install,完成后重启 IDE。
离线包安装:
进入插件市场搜索 Huawei Cloud API,进入插件详情页,在 Versions 页签下选择想要版本的 API 插件,点击 Download 下载离线的插件压缩包保存到本地。。
在 IntelliJ IDEA 顶部菜单栏中选择 File > Settings,在 Settings 对话框的左侧导航栏中单击 Plugins。
在 Plugins 区域单击 ,再单击 Install Plugin from Disk...。
在 Choose Plugin File 对话框中选择离线安装包(不用解压),并按照 IntelliJ IDEA 安装页面的提示,完成后续安装步骤。
说明:若当前您想要安装插件的 IntelliJ IDE 已经在桌面打开,则进入插件市场搜索 Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的 IDE,点击相应按钮,在弹出的 IDE 窗口中点击 ok,则 IDE 后台会开始安装相应版本的 API 插件。
安装验证:在 IntelliJ 系列平台上安装插件成功后在左侧的导航栏中可以看到 Huawei Cloud Toolkit 图标,点击后面板会出现 Huawei Cloud API 的字样,则说明安装成功。
3 AI 情感分析、文本分析
3.1 API 列表
左侧展示 API 列表,可以查询所有 API,目前云服务 206,APIs9213
3.2 情感分析
情感分析(基础版),针对通用领域的用户评论进行情感分析。
前提条件:
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 = "<YOUR AK>";
String sk = "<YOUR SK>";
String projectId = "<YOUR PROJECT ID>";
String endpoint = "<APIG 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("<YOUR CONTENT>");
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());
}
}
}
复制代码
3.3 文本分词
文本分词,对文本进行分割,返回分割后的词语组和词语对应的词性。
开始使用:
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 = "<YOUR AK>";
String sk = "<YOUR SK>";
String projectId = "<YOUR PROJECT ID>";
String endpoint = "<APIG 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("<YOUR TEXT>");
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());
}
}
}
复制代码
3.4 文本翻译
文本翻译,将用户输入原始语种的文本转换为目标语种的文本。
开始使用:
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 = "<YOUR AK>";
String sk = "<YOUR SK>";
String projectId = "<YOUR PROJECT ID>";
String endpoint = "<APIG 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("<YOUR TEXT>");
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());
}
}
}
复制代码
4 如何使用 SDK 调用华为云 NLP 服务
4.1 操作须知
自然语言处理的 API 接口已全部商用,无需开通,可直接调用。调用费用请参见自然语言处理价格计算器。
准备工作:已注册华为帐号并开通华为云,并完成实名认证,帐号不能处于欠费或冻结状态。
步骤 1:配置环境
下载 NLP Java SDK。
下载地址:https://nlp-sdk.obs.cn-north-4.myhuaweicloud.com/nlp-java-sdk.zip
准备环境。
说明:
如果用户已经下载 JDK 并配置好环境,请跳过 2.a~2.d。
下载 JDK 文件。
下载完成后按照提示安装,位置自选,例如安装到本地 C:\Program Files\Java\jdk1.8.0_131。
配置 Java 环境变量:右键“计算机>属性>高级系统设置>环境变量”,进行如下操作。
新建系统变量 JAVA_HOME,变量值为实际 JDK 安装位置。
在 Path 中添加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (注意用英文分号分隔)。
打开命令行窗口,输入“java -version”,显示如图 1 表示配置成功。
IntelliJ IDEA 安装。在 https://www.jetbrains.com/idea/ 或者其他途径下载对应平台的 IntelliJ IDEA 版本,安装后直接打开 IntelliJ IDEA,一般会自动检查 JRE 路径并配置。
图 1 Java 版本信息
JAVA SDK Demo 工程导入
单机左上角“File”页面打开菜单。
选择“Open”,再选择对应要打开工程,选择 Demo 工程目录,注意目录下一级就要包含 pom 文件。
单击“确认”,导入 demo,导入后打开工程,工程目录如下:
步骤 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"
}
]
}
复制代码
4.2 展现效果
5 体验插件的魅力
华为云 devkit 已上线: https://developer.huaweicloud.com/develop/toolkit.html
评论