Search Results for

    Show / Hide Table of Contents

    SDK

    本节以Node.js SDK 为例子演示使用流程,更多 SDK 下载参考链接。

    基础知识

    Node.js 是 JavaScript 运行时环境,面向服务器端应用开发,底层使用 Google V8 引擎。Node.js 尤其被前端开发者偏爱,因为它让前端开发者以“熟悉”的方式开发后端应用。Node.js 的出现一度降低了开发成本,并且成为“快应用”开发趋势出现,Node.js 包管理工具 Npm 站点 是开源领域最大的包管理服务。不同语言的 SDK 使用细节大同小异, 因为它们都是调用Chatopera 机器人平台的RestAPIs,这些 RestAPIs 是标准一致的。每种语言的 SDK 使用流程按照顺序包括:下载 SDK,实例化Chatbot类为对象,请求接口和处理返回结果。

    获取 ClientId 和 Secret

    SDK中每个机器人实例需要通过ClientId和Secret初始化,这两个字段是认证和授权用途。打开机器人【设置】页面,拷贝ClientId和Secret。

    显示Secret

    安装 SDK

    npm install @chatopera/sdk --save
    

    实例化Chatbot类为对象

    var Chatbot = require("@chatopera/sdk").Chatbot;
    var chatbot = new Chatbot(clientId, secret [, serviceProvider]);
    

    参数说明

    name type required description
    clientId string ✔ 在机器人控制台/机器人/设置中获取
    secret string ✔ 获取办法同上
    serviceProvider string ✘ Chatopera 机器人平台地址,
    当使用 Chatopera 云服务时,该值为 https://bot.chatopera.com,也是默认值

    提示: 参数列表中,写在 [] 内的部分是选填参数,如果不填写使用默认值,下同。

    调用接口示例

    得到Chatbot实例后,怎么样请求接口服务呢?假设对该机器人的基本信息感兴趣,获取基本信息方式如下:

    var response = await chatbot.command("POST", "/faq/query", {
      query: "不锈钢板现在是什么价格",
      fromUserId: "sdktest1",
    });
    console.log("response: ", response)
    

    或者获取 Promise 返回

    chatbot.command("GET", "/").then(
      (response) => {
        console.log("机器人名称:", response.data.name);
      },
      (err) => {}
    );
    

    此处,不深入探讨await和Promise的相关知识,它们是和 JavaScript 语言相关的内容。在这个例子中,我们请读者注意,给定一个机器人类的实例,再请求 API 服务是多么的简单,Chatbot#command接口提供了一系列的方法,也是下文给您详细介绍的重点。

    示例程序

    示例程序代码库: https://github.com/chatopera/webchat

    通过系统集成的示例程序,快速掌握 SDK 使用,尤其是对话检索 API;系统集成示例程序也可以用来调试和检查机器人,在和业务系统集成前测试相关接口。与 Chatopera 机器人平台的测试页面不同,系统集成示例程序更侧重上线前,对 SDK 相关接口的测试。

    在系统集成示例程序中,使用 Chatopera 机器人平台地址,clientId 和 secret 立刻连接聊天机器人,开始对话。

    功能:

    • 提供对话页面,方便系统集成测试
    • 使用 Bot Provider 地址,clientId 和 secret 连接机器人
    • 实现 Dialogue Management: 融合意图识别检索、多轮对话检索和知识库检索
    • app.js 使用 Chatopera Node.js SDK,可作为系统集成参考

    启动应用

    本示例程序提供 Docker 容器镜像,使用 Docker 启动服务进行体验

    docker run -it --rm -p 8668:8668 chatopera/webchat:develop
    

    Chatopera Test Client

    In This Article
    Back to top Copyright © (2018-CopyrightYearPlaceholderDONOTCHANGEManually) 北京华夏春松科技有限公司 京ICP备20023756号-3