钉钉客户端(卡片)中集成析言GBI问答功能

本文基于析言GBIAPI实现了在钉钉客户端的智能数据问答功能。旨在帮助您熟悉析言GBIAPI的使用,以便在实际项目中将析言GBIAPI灵活运用到一些常见的终端上。

前提条件

步骤1:创建钉钉应用

  1. 登录钉钉开放平台后台

  2. 创建企业内部应用。

    image

  3. 添加应用能力 > 机器人

  4. 设置机器人的消息接收模式Stream模式

    image

  5. 开通权限、调用企业API基础权限企业内机器人发送消息权限互动卡片实例写权限AI卡片流式更新权限

    image

  6. 事件订阅 > 推送方式设置为Stream模式推送,保存后完成接入验证。

    image.png

  7. 版本管理与发布 > 发布应用,创建新版本并发布。

    image.png

步骤2:创建卡片模板

  1. 登录钉钉卡片平台

  2. 单击模板管理 > 新建模板

    image

  3. 单击导入模板,导入模板文件并保存。

    image

    image

步骤3:开发钉钉机器人后端应用

此步骤基于Java语言,实现钉钉后端机器人、析言问答服务SDK、钉钉卡片的集成。

  1. 提供两种获取项目代码方式。

    1. 参考钉钉官方文件,自行修改代码。

    2. 直接使用析言提供的测试文件

  2. 如果您使用析言提供的测试文件,您需要替换Properties中的关键参数,client-idclient-secret,以及代码中的templateId

    dingtalk.app.client-id=xx
    dingtalk.app.client-secret=xx
    openApiHost=https://api.dingtalk.com
  3. 运行Java项目,检查应用初始化和网络连接是否正常。

    2024-12-26 15:30:04.004  INFO 48685 --- [ection-pool-2-1] .d.o.a.s.n.w.WebsocketTransportConnector : [DingTalk] start websocket connection, uri=wss://wss-open-connection.dingtalk.com:443/connect
    2024-12-26 15:30:04.472  INFO 48685 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
    2024-12-26 15:30:04.556  INFO 48685 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
    2024-12-26 15:30:04.589  INFO 48685 --- [           main] com.aliyun.xiyan.demo.Application        : Started Application in 5.972 seconds (JVM running for 6.717)
    2024-12-26 15:30:04.984  INFO 48685 --- [ection-pool-2-1] c.d.o.a.s.n.core.DefaultSessionPool      : [DingTalk] connection is established, connectionId=xxxx-xxx-xxx-xxx-xxx

步骤4:效果验证

  1. 登录钉钉App,在消息框中@机器人进行问答。在Java应用日志中确认,是否有收到事件通知。

    2024-12-26 15:31:32.758  INFO 48685 --- [lk-Consumer-1-1] com.aliyun.xiyan.demo.ChatBotHandler     : received message: 每月访客人数趋势
  2. 您可以在钉钉App聊天窗,查看卡片渲染情况。

相关文档

如果您想参考析言GBI使用,请参见使用指南

如果您想应用析言GBI,请参见析言GBI最佳实践