当前位置: 首页 > news >正文

阿里ChatSDK使用,开箱即用聊天框

介绍:

效果:智能助理

ChatSDK,是在ChatUI的基础上,结合阿里云智能客服的最佳实践,沉淀和总结出来的一个开箱即用的,可快速搭建智能对话机器人的框架。它简单易上手,通过简单的配置就能搭建出对话机器人;同时它强大易扩展,通过丰富的接口和自定义卡片满足各种定制化需求。

注意:

 npm包仅限阿里集团内部使用

外部客户可以使用cdn方式引入ChatSDK,然后配置externals @ali/chatui-sdk为ChatSDK,

详细怎么引入可以看:viteExternalsPlugin 插件管理外部依赖-CSDN博客

 具体参数请参考官方文档:

        智能客服

demo:

import React, { useEffect, useRef } from "react";
import { nodeApi } from "@/api/runbayunapi/index.jsx";
import ChatSDK from "@ali/chatui-sdk";
import "./home.css";let time = 0;
export default function App() {const wrapper = useRef();let botInstance = useRef();const options = {config: {navbar: {// logo: "http://www.runbayun.com/storge/enterprise/Public/beforehome2/images/logo.png",title: "智能客服",},wideBreakpoint: "600",avatarWhiteList: ["all"],loadMoreText: "点击加载更多",toolbar: [{type: "emoji",title: "表情",icon: "smile",},{type: "image",title: "图片",icon: "image",},],quickReplies: [{icon: "message",name: "召唤在线客服",type: "cmd",content: { code: "agent_join" },// isHighlight: true,},{name: "发送文本",isHighlight: true,},{name: "可见文本",type: "text",text: "实际发送的文本",isNew: true,},{name: "点击跳转",type: "url",url: "https://www.taobao.com/",},{name: "唤起卡片",type: "card",card: {code: "knowledge",data: {text: "这是一个富文本卡片",},},},{name: "执行指令",type: "cmd",cmd: { code: "agent_join" },},],showTyping: true,elderMode: false,robot: {avatar:"/public/5a7716d445264e2d9adc54219ebc1be0.png~tplv-a9rns2rl98-downsize.png",name: "小润",},messages: [{code: "system",data: {text: "智能助理进入对话,为您服务",},},{code: "text",data: {text: "智能助理为您服务,请问有什么可以帮您?",},},{code: "list-v2",data: {title: "猜你想问",list: [{action: "sendText",text: "购买后如何查看信息?",content: "购买后如何查看信息?",params: {key1: "test",},context: {a: "test",},},{action: "sendText",text: "【夜间】自动发货",content: "【夜间】自动发货",},{action: "openWindow",text: "【安装包】问题汇总",url: "https://docs.qq.com/doc/DRVZCeWNGRGVhclhJ",},{action: "sendText",text: "谷歌辅助邮箱怎么用?",content: "谷歌辅助邮箱怎么用?",},{action: "openWindow",text: "【脸书】双重验证教程",url: "https://docs.qq.com/doc/DRVhySEtIT3hXQUVm",},{action: "openWindow",text: "【推特】确认码教程",url: "https://docs.qq.com/doc/DRVhkSU9nZXR6Z1pz",},{action: "openWindow",text: "【推特】双重验证教程",url: "https://docs.qq.com/doc/DRWR2b0NMZnhTZG9H",},{action: "openWindow",text: "【Ins】双重验证教程",url: "https://docs.qq.com/doc/DRU5ocXFGb0pzRFR1",},],},},],client: "",beebotconfig: {showAIGC: true,},},requests: {send(msg) {console.log("msg:", msg);// Simulate bot typing indicatorsetTimeout(() => {botInstance.current.appendMessage({code: "text",data: { text: "这是模拟的回复消息" },});}, 1000);},makeSocket() {console.log("进入人工");botInstance.current.appendMessage({code: "system",data: { text: "进入人工服务" },});return {};},history: function () {time += 1;return Promise.resolve({list: [{ code: "text", data: { text: `历史消息${time}` } }],noMore: time > 3,});},},handlers: {onToolbarClick(item, ctx) {if (item.type === "image") {ctx.util.chooseImage({success(e) {if (e.files) {const file = e.files[0];ctx.appendMessage({code: "image",data: {picUrl: URL.createObjectURL(file),},position: "right",});requestOcr({ file }).then((res) => {ctx.postMessage({code: "text",data: {text: res.text,},quiet: true,});});} else if (e.images) {// Handle app uploaded images}},});}},},};const getdata = async () => {let data = await nodeApi().getnodes({});console.log(data, "hahahahhahah");};useEffect(() => {getdata();botInstance.current = new ChatSDK({root: wrapper.current,...options,});botInstance.current.run();}, []);return <div style={{ height: "100%" }} ref={wrapper} />;
}

http://www.lryc.cn/news/401244.html

相关文章:

  • LangChain —— Message —— How to trim messages
  • 专升本-1.0.3(英语)-升本209天-星期二
  • 集合媒体管理、分类、搜索于一体的开源利器:Stash
  • 数仓工具—Hive语法之事务表更新Transactional Table Update
  • 系统架构师(每日一练2)
  • Django REST Framework(十)视图集-ViewSet
  • sping总览
  • 【Godot4.2】MLTag类:HTML、XML通用标签类
  • 美式键盘 QWERTY 布局的起源
  • 【JavaEE】HTTP(2)
  • LinuxShell编程2——shell搭建Discuzz论坛网站
  • .NET MAUI开源架构_1.学习资源分享
  • Unsloth 微调 Llama 3
  • 热修复的原理
  • 【对顶堆 优先队列】2102. 序列顺序查询
  • Go 语言中的互斥锁 Mutex
  • CSS 中的 ::before 和 ::after 伪元素
  • JuiceFS缓存特性
  • R语言实现SVM算法——分类与回归
  • React@16.x(57)Redux@4.x(6)- 实现 bindActionCreators
  • 【深度学习入门篇 ⑦】PyTorch池化层
  • 【Pytorch】数据集的加载和处理(一)
  • 论文翻译:Explainability for Large Language Models: A Survey
  • 38 IRF+链路聚合+ACL+NAT组网架构
  • 【昇思学习打卡营打卡-第二十八天】MindNLP ChatGLM-6B StreamChat
  • 前端打包部署后源码安全问题总结
  • 扩展你的App:Xcode中App Extensions的深度指南
  • 【D3.js in Action 3 精译】1.3 D3 视角下的数据可视化最佳实践(下)
  • Solus Linux简介
  • 常见的排序算法,复杂度