体验华为云对话机器人服务 CBS

2024-02-27 1249阅读

温馨提示:这篇文章已超过386天没有更新,请注意相关的内容是否还可用!

体验华为云对话机器人服务 CBS


🏡浩泽学编程:个人主页

 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》
              《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一

文章目录

  • 前言
  • 一、开通使用
    • 新建语料
    • 对话体验
    • 二、API调用
    • 三、认证鉴权问题
      • Token获取
      • 总结

        前言

        本篇文章体验华为云问答机器人API调用总结的文章,包含遇到的问题,如认鉴权等。


        一、开通使用

        来到华为云“免费体验中心”——>找到“对话机器人服务”——>开通免费体验

        体验华为云对话机器人服务 CBS

        体验华为云对话机器人服务 CBS

        在控制台找到对话机器人服务,可以看到机器人ID等信息。

        体验华为云对话机器人服务 CBS

        新建语料

        在问答机器人列表中,单击“机器人管理”。在“问答机器人”页面左侧导航栏中选择“知识库 > 问答管理”,在问答管理页面执行如下操作。

        体验华为云对话机器人服务 CBS

        • 在问答管理中单击体验华为云对话机器人服务 CBS按钮新建问题分类,例如“IT问题”。
        • 在问答管理中单击“新建”创建问答语料

          体验华为云对话机器人服务 CBS

          对话体验

          在页面右上角单击“对话体验”,展开对话窗口。在窗口中,输入“蓝屏了怎么办”,查看是否可以获得准确答案。您可以根据业务实际情况进行提问,当机器人无法回答时,建议根据实际情况补充语料或补充扩展问。

          体验华为云对话机器人服务 CBS

          下面我们在现在的对话机器人基础上实现问答接口调用

          二、API调用

          这里选择java API调用和PostMan调用

          • endpoint是你的开通服务的终端节点:cbs-ext.cn-north-4.myhuaweicloud.com

            体验华为云对话机器人服务 CBS

          • project_id:项目id

            体验华为云对话机器人服务 CBS

          • qabot_id:机器人id

            体验华为云对话机器人服务 CBS

            POST:

            POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat
            Request Header:
            Content-Type: application/json
            X-Auth-Token: 认证鉴权的信息
            Request Body:
            {
                "question": "桌面云打不开了"
            }
            

            体验华为云对话机器人服务 CBS

            体验华为云对话机器人服务 CBS

            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认证:通过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获取

            控制台找到“我的凭证”:

            体验华为云对话机器人服务 CBS

            体验华为云对话机器人服务 CBS

            将上面图片的账号名填在下面:

            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的值没有填,但也是很多开发者出现错误返回的原因:当你的统一认证的用户组只有admin时是不行的,这个具体原因我不太清楚,主要是华为云控制台自带的初始admin用户组是不行的,你需要自己创建一个新的用户组,创建一个新的用户添加到新创建的用户组就可,大致流程如下:

            体验华为云对话机器人服务 CBS

            体验华为云对话机器人服务 CBS

            体验华为云对话机器人服务 CBS

            这时,上面的name就是haoze了,具体是你创建的用户名。

            然后用PostMan工具发送请求得到返回的token:

            体验华为云对话机器人服务 CBS

            没有PostMan的可以使用华为云控制台的API Explorer工具

            体验华为云对话机器人服务 CBS

            体验华为云对话机器人服务 CBS


            总结

            以上就是华为对话机器人服务的体验讲解以及问题解决。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]