# huaweicloud-ai-faq
**Repository Path**: HuaweiCloudDeveloper/huaweicloud-ai-faq
## Basic Information
- **Project Name**: huaweicloud-ai-faq
- **Description**: 帮助用户在一些热门问题上的自动应答,机器回答代替人工回答,大大提高响应速度和减少人工工作量
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master-dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-04-20
- **Last Updated**: 2025-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 如何通过CBS实现简单的对话操作
## 介绍
### 什么是对话机器人服务?
[对话机器人服务](https://support.huaweicloud.com/productdesc-cbs/cbs_04_0000.html)(Conversational Bot Service)是一款基于人工智能技术,针对企业应用场景开发的云服务,主要包括智能问答、智能质检、定制对话机器人和任务型对话等功能。
### 产品优势
- 智能的问答管理
1. 热点问题、趋势、知识自动分析统计。
2. 支持未知问题自动聚类,匹配相似问答,辅助人工不断扩充知识库。
3. 支持问答调测,点对点的监测智能应答过程。
4. 支持领域知识挖掘,提供易用的标注工具挖掘领域知识对。
- 全面的对话管理
1. 支持自然语言多能力融合,智能对话中控。
2. 灵活的知识库管理,支持对知识的批量操作。
3. 支持嵌入多轮对话技能,满足复杂的任务型对话场景。
- 高效训练部署
1. 基于modelarts的底层算法能力,提供更快的模型训练、部署能力。
2. 支持多算法模型效果验证,验证不同数据、参数、模型对问法效果的影响。
3. 支持模型最优参数组合推荐,保证问答效果。
### 案例内容
本案例主要介绍,用户如何在自己代码工程引入CBS SDK中实现简单的对话操作。
### 案例目标
- 掌握在代码工程中引入CBS SDK 实现对话操作的方法。
## 前提条件
简单对话机器人配置,需要完成以下准备工作:
### 创建华为云账号并实名认证
参考[此链接](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0069252244.html),注册华为云账号。
参考[此链接](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0133456714.html),完成实名认证,推荐使用扫码认证。
进行 AK/SK 认证,并妥善保管 AK/SK 信息。
**注意:请及时检查账号状态,避免账号处于欠费或冻结状态时资源被冻结,影响您的使用。**
### 创建试用版智能问答机器人
由于技能管理是专业版智能问答机器人下的功能,因此首先我们需要购买一个试用版专业版问答机器人。 点击[此链接](https://console.huaweicloud.com/cbs/?region=cn-north-4#/home/qa-robot),进入对话机器人服务智能问答机器人页面,点击右上角的购买问答机器人,进入问答机器人购买页面。

分别输入问答机器人名称,选择试用的计费模式,并点击立即购买完成支付,即完成试用专业版机器人创建。

购买完成之后,获取到botid

确保已按照 Java 环境配置细则配置完毕。
## 集成CBS JAVA SDK
通过maven,将CBS JAVA SDK引入到系统工程中,引入之后,即可在系统工程中使用。
```xml
com.huaweicloud.sdk
huaweicloud-sdk-core
3.0.89
com.huaweicloud.sdk
huaweicloud-sdk-cbs
3.0.89
```
## 示例代码
```java
package demo;
// 对用户身份进行认证
import com.huaweicloud.sdk.cbs.v1.CbsClient;
// 导入cbs sdk
import com.huaweicloud.sdk.cbs.v1.model.ExecuteQaChatRequest;
import com.huaweicloud.sdk.cbs.v1.model.ExecuteQaChatResponse;
import com.huaweicloud.sdk.cbs.v1.model.PostRequestsReq;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
// Http配置
import com.huaweicloud.sdk.core.http.HttpConfig;
import com.huaweicloud.sdk.core.region.Region;
public class ExecuteQaChatSolution {
public static void main(String[] args) {
// 配置账户的AK SK 信息
String ak = "Ak";
String sk = "Sk";
// 获取iam 站点 https://support.huaweicloud.com/api-iam/iam_16_0005.html
String iamEndpoint = "iamEndpoint"; // https://iam.cn-north-4.myhuaweicloud.com
// 获取cbs 站点信息 https://support.huaweicloud.com/api-cbs/cbs_03_0102.html
String endpoint = "endpoint"; // https://cbs-ext.cn-north-4.myhuaweicloud.com
// 网络配置信息
HttpConfig config = new HttpConfig();
config.withIgnoreSSLVerification(true);
// 鉴权信息
ICredential auth = new BasicCredentials()
.withIamEndpoint(iamEndpoint)
.withAk(ak)
.withSk(sk);
// 初始化cbsClient
CbsClient client = CbsClient.newBuilder()
.withCredential(auth)
.withHttpConfig(config)
.withRegion(new Region("cn-north-4", endpoint))
.build();
ExecuteQaChatRequest request = new ExecuteQaChatRequest();
PostRequestsReq body = new PostRequestsReq();
// 设置请求问题 相关参数可以参考:https://support.huaweicloud.com/api-cbs/cbs_03_0115.html
body.setQuestion("你好");
request.withBody(body);
// 设置botId,可以参考前提条件的获取botid方法
request.setQabotId("botid"); // bot id
ExecuteQaChatResponse response = client.executeQaChat(request);
System.out.println(response.toString());
}
}
```
## 返回结果示例

## 参考文献
- https://support.huaweicloud.com/sdk-cbs/cbs_06_0001.html
- https://support.huaweicloud.com/sdk-cbs/cbs_06_0002.html