《rabbitmq》《spring》《springmvc》
前言
本篇文章体验华为云问答机器人api调用总结的文章,包含遇到的问题,如认鉴权等。
一、开通使用
来到华为云“免费体验中心”——>找到“对话机器人服务”——>开通免费体验
在控制台找到对话机器人服务,可以看到机器人id等信息。
新建语料
在问答机器人列表中,单击“机器人管理”。在“问答机器人”页面左侧导航栏中选择“知识库 > 问答管理”,在问答管理页面执行如下操作。
- 在问答管理中单击
按钮新建问题分类,例如“it问题”。
- 在问答管理中单击“新建”创建问答语料
对话体验
在页面右上角单击“对话体验”,展开对话窗口。在窗口中,输入“蓝屏了怎么办”,查看是否可以获得准确答案。您可以根据业务实际情况进行提问,当机器人无法回答时,建议根据实际情况补充语料或补充扩展问。
二、api调用
- endpoint是你的开通服务的终端节点:cbs-ext.cn-north-4.myhuaweicloud.com
- project_id:项目id
- qabot_id:机器人id
post:
post https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat
request header:
content-type: application/json
x-auth-token: 认证鉴权的信息
request body:
{
"question": "桌面云打不开了"
}
java语言:
import java.io.bufferedreader;
import java.io.inputstream;
import java.io.inputstreamreader;
import java.io.outputstreamwriter;
import java.net.httpurlconnection;
import java.net.url;
public class cbsdemo {
public void cbsdemo() {
try {
//endpoint、projectid、qabot_id需要替换成实际信息。
url url = new url("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat");
string token = "用户获取得到的实际token值";
httpurlconnection connection = (httpurlconnection) url.openconnection();
connection.setrequestmethod("post");
connection.setdoinput(true);
connection.setdooutput(true);
connection.addrequestproperty("content-type", "application/json");
connection.addrequestproperty("x-auth-token", token);
//输入参数
string body = "{\"question\": \"用户问\"}";
outputstreamwriter osw = new outputstreamwriter(connection.getoutputstream(), "utf-8");
osw.append(body);
osw.flush();
inputstream is = connection.getinputstream();
bufferedreader br = new bufferedreader(new inputstreamreader(is, "utf-8"));
while (br.ready()) {
system.out.println(br.readline());
}
} catch (exception e) {
e.printstacktrace();
}
}
public static void main(string[] args) {
cbsdemo cbsdemo = new cbsdemo();
cbsdemo.cbsdemo();
}
}
现在token的值大家还不知道,继续往下看。
三、认证鉴权问题
这里介绍token认证:通过token认证通用请求
post: https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "***",
"password": "***",
"domain": {
"name": "***"
}
}
}
},
"scope": {
"project": {
"name": "cn-north-4"
}
}
}
}
上面的***都是需要替换的,替换成你的。
token获取
控制台找到“我的凭证”:
将上面图片的账号名填在下面:
post: https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "***",
"password": "自己的密码,如果自己以前没印象用过这个,很大概率是你的华为云账号的密码",
"domain": {
"name": "账号名"
}
}
}
},
"scope": {
"project": {
"name": "cn-north-4"
}
}
}
}
这时,上面的name就是haoze了,具体是你创建的用户名。
然后用postman工具发送请求得到返回的token:
没有postman的可以使用华为云控制台的api explorer工具
总结
以上就是华为对话机器人服务的体验讲解以及问题解决。
发表评论