GVKun编程网logo

Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用

15

本文将为您提供关于TapdataCloud场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用的详细介绍,同时,我们还将为您提供关于2021云栖大会丨首批阿里云计算巢认证合作伙伴获得授牌,阿里

本文将为您提供关于Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用的详细介绍,同时,我们还将为您提供关于2021云栖大会丨首批阿里云计算巢认证合作伙伴获得授牌,阿里云与合作伙伴共筑云上生态、AI 数据观 | TapData Cloud+MongoDB Atlas:大模型与 RAG 技术有机结合,实现实时工单处理智能化、MongoDB 数据实时同步利器-Tapdata Cloud 免费上手指南、Nebula Graph入驻阿里云计算巢,助力企业打造云上超大规模图数据库的实用信息。

本文目录一览:

Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用

Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用

【前言】作为中国的 “Fivetran/Airbyte”, Tapdata Cloud 自去年发布云版公测以来,吸引了近万名用户的注册使用。应社区用户上生产系统的要求,Tapdata Cloud 3.0 将正式推出商业版服务,提供对生产系统的 SLA 支撑。Tapdata 目前专注在实时数据同步和集成领域,核心场景包括以下几大类:

  • 实时数据库同步,如 Oracle → Oracle, Oracle → MySQL, MySQL → MySQL 等
  • 数据入湖入仓,或者为现代数据平台供数,如:
  • 常规 ETL 任务(建宽表、数据清洗、脱敏等)
    • 为 Kafka/MQ/Bitsflow 供数或下推 - 常规 ETL 任务(建宽表、数据清洗、脱敏等)
    • 为 Kafka/MQ/Bitsflow 供数或下推 具体场景则数不胜数,值此之际,我们将以系列文章形式,为大家盘点 Tapdata Cloud 可以支撑的业务场景和 3.0 版本新特性,以便大家更好在业务中应用 Tapdata。本期为系列文章第二弹,将详细介绍 Tapdata Cloud 如何一键云上部署,相比 2.0 版本真正意义上实现了开箱即用的产品新特性。(点击申请产品内测,抢先体验 →)

眼下,企业应用云化在世界范围内提速,越来越多的企业开始寻求从线下数据中心到云计算的转型,在云上部署、管理和运维业务、软件正在成为企业及用户的趋势性选择。

近日,主打实时数据服务的 Tapdata 再度与阿里云达成产品层面的合作——双方旗下产品 Tapdata Cloud 与阿里云计算巣联合,融合各自技术优势,在即将正式发布的 Tapdata Cloud 3.0(现已开放内测通道)上,支持用户将 Tapdata Agent 一键自动部署在阿里云计算巢,通过 Tapdata Cloud 异构数据实时同步能力,为云上用户提供一站式上云、云内/跨云同步和迁移解决方案。

谈及此次双方联合,Tapdata 创始人 TJ 表示,“Tapdata Cloud 为客户提供开箱即用的实时数据库同步和灵活的实时 ETL 能力。借助计算巢提供的自动化部署能力,客户可以一键在 VPC 里部署 Tapdata Agent,加速获取 Tapdata 强大能力的同时,数据安全性也能得到最大限度的保障”。

一、加速云化:让数据上云、云内等同步和迁移更流畅

面向有上云需求的传统企业、新一代企业,或是云原生、互联网企业,Tapdata Cloud 以突出的异构数据库实时同步能力和 SaaS 化服务方式,支持无代码可视化将数据从任何源端实时同步到指定的目标端,能够提供云上云下、云内跨云数据的无缝迁移和实时同步。

此次,Tapdata Cloud 与阿里云计算巢的联合,一方面进一步提升了 Tapdata Cloud 的云上部署体验,降低上手门槛,真正实现部署、交付、运维全服务生命周期的效率升级,充分释放了 Tapdata Cloud 在云上的成长能力。另一方面,通过集成阿里云计算巢,对于数据向阿里云上迁移,以及阿里云内的迁移都更加便捷流畅。

同时,阿里云计算巣部署模式下,Tapdata Cloud 为当前正在评估或有计划向云上迁移的用户开放了“体验权限”:

费用模式支持选择3天免费试用,支持以半托管模式部署在阿里云 POC 环境(*注意:免费试用模式下,服务器资源3天到期即自动回收,想要继续使用则需重新部署。试用请点击文末「阅读原文」申请内测)

二、告别「人工依赖」,实现云上一键自动化部署

传统云端部署模式下,企业用户需要走完包括购买 ECS、环境准备、策略配置等在内的全套流程,高度依赖人工经验,交付周期和质量都难以保障。而计算巣则将服务的交付、部署流程标准化,无需自备 ECS 及环境,实现了自动化交付和部署,无需人工参与,能够有效帮助用户控制成本。

作为 Tapdata Cloud 使用操作的第一步,Agent 的安装与部署是开启 Tapdata Cloud 实时数据之旅的关键。在 3.0 版本下,支持用户在 Agent 部署环节选择【阿里云计算巣】服务,该模式支持自动部署 Agent 到指定账号下的 ECS 实例上,用户可以按需选择实例部署的地域、可用区以及 VPC 等相关配置。

ROS 模板能力加持,一键部署 Tapdata Agent 实例

为了实现云资源的高效部署与配置,提升管理效率,阿里云打造了资源编排服务(Resource Orchestration Service 简称 ROS)。通过将 ROS 简单化、服务化,即使用户不了解 JSON、YAML 写法以及 ROS 语法,根据页面引导填上相应配置参数、选择对应的套餐,也能够成功完成部署搭建。

Tapdata Agent:Tapdata Cloud 数据同步服务的执行实例,负责从 TCM(Tapdata Cloud 管理端) 获取任务信息,通过流式技术从源系统获取数据、处理转换数据并发送到目标系统,并在任务执行过程中监测并上报任务状态至 TCM。

如上图所示,借助阿里云计算巢提供的 ROS 模板能力,可将 Tapdata Agent 快速编排为计算巢服务,用户使用时,只需要按需选择地域、可用区、VPC 和实例的规格并点击“创建实例”,即可完成一键部署 Tapdata Agent 实例,并且与用户现有其他数据库等服务在同一个 VPC,无需额外配置网络。如此一来,对于用户而言,省去云上资源部署的烦恼,只需要关注 Tapdata Cloud 功能的使用。

新增代运维服务,故障排查定位更高效

此外,新版本还将提供代运维服务,借助阿里云计算巣提供的代运维能力,通过标准化授权流程,在用户创建服务实例时,帮助用户对该服务实例下的阿里云资源进行代运维,解决支持获取访问实例日志的权限,提升故障排查定位效率。

在安全性方面,极简网络联通设计,打通服务商与用户之间的网络,解决在运维时需要手动修改网络配置、交换登录凭证的困扰,杜绝安全隐患。阿里云计算巢提供安全授权和自动鉴权的能力,实现服务商和用户之间的授权,为两者建立安全的运维通道。

三、操作演示 戳这里, 查看完整操作流程演示

① 点击创建 Agent → 选择服务器类型为【阿里云计算巣】

② 进入计算巣工作台,填写配置信息,创建服务实例

③ 确认信息并支付,完成创建

④ 部署完成 可在服务实例管理界面查看部署状态及代运维服务等信息。

2021云栖大会丨首批阿里云计算巢认证合作伙伴获得授牌,阿里云与合作伙伴共筑云上生态

2021云栖大会丨首批阿里云计算巢认证合作伙伴获得授牌,阿里云与合作伙伴共筑云上生态

简介:金蝶、畅捷通、达梦数据库、点评生活、精鲲、蓝凌、数云、众畅科技、Avaya、Fortinet、CheckPoint、F5、Memverge、Paloalto和Radware等获得阿里云计算巢认证授牌。

10月20日,在2021杭州云栖大会上,阿里云对计算巢首批认证合作伙伴进行了授牌仪式,金蝶、畅捷通、达梦数据库、点评生活、精鲲、蓝凌、数云和众畅科技等国内ISV合作伙伴和Avaya、Fortinet、CheckPoint、F5、Memverge、Paloalto、Radware 等国际ISV合作伙伴获得授牌认证,通过计算巢,合作伙伴完成了和阿里云云平台的深度集成。这也是阿里云计算巢服务认证合作伙伴第一次集体亮相。

 title=

图:云栖大会现场授牌部分ISV代表合影

相比于传统软件模式,基于云计算的PaaS/SaaS软件,因为具有部署灵活、迭代迅速、业务在线、支持订阅制按需付费等优点,可以帮助中小企业降低投入门槛,平等地享受数字化敏捷能力带来的技术红利。同时,后疫情时代,企业会追求更高效的经营与管理模式,也将推动着SaaS/PaaS市场的进一步繁荣。

_但__企业软件如何云化部署、在解决方案中发挥云计算的价值、如何保障用户数据安全和隐私,以及数据如何有效共享和打通等难题,仍是很大的挑战_。特别是中大型企业客户的业务系统往往倾向选择独立部署,而不是多租户形态。无论是前期交付的复杂度还是后续运维的成本,都让企业的业务运营成本高企,很难实现规模化复制。

 title=

会上,阿里云弹性计算产品负责人王志坤发表了主题为“计算巢,企业应用云化新引擎”主题演讲,他表示:“阿里云对合作伙伴面临的挑战有深刻的体会,阿里云面对的客户需求差异性非常大,因此我们积累了一些经验。企业服务最终考验的是产品能力和客户满意度,阿里云希望可以通过计算巢输出多年沉淀的云平台能力和对企业服务的理解,让ISV合作伙伴获得阿里云云产品一样的集成体验,帮助ISV合作伙伴解决在云化转型道路上碰到的痛点,成为合作伙伴建立技术优势和业务发展的新引擎。”

作为全球领先的企业通信和联络中心解决方案服务商的Avaya,因为企业办公和联络中心场景比较复杂,即便通过云端部署,也存在实施周期较长,日常运维难度较高的问题。接入到计算巢后,Avaya相关产品组件实现了一键部署和自动运维,大大提升了其客户在云端开展新业务的速度,部署时间缩短了80%,同时大大降低了系统运行风险。

Fortinet是安全驱动型网络的全球领导者,依托阿里云计算巢提供的自动化服务交付与部署能力,进一步加速网络威胁检测与响应的自动化,保障云端网络安全,提升安全运营效率。在接入阿里云计算巢之前,用户部署一个企业级的复杂架构可能需要几天的时间,还极易出错;接入到阿里云计算巢之后,部署时间从数天缩短到了小时级,同时降低了客户在云端全面使用IaC (Infrastructure as code)的技术门槛,减少了手动部署可能产生的各种配置失误。

目前,已经有数十家ISV合作伙伴接入了计算巢平台,更多的ISV合作伙伴在技术对接阶段。未来,阿里云将与ISV合作伙伴更紧密合作,通过计算巢共筑云上生态,与合作伙伴一起更好地服务客户

PS:2021云栖大会火热进行中,小书生带来了新的福利:2021云上架构与运维峰会将于11月在北京举行,大会亮点与报名信息见下图;点击我要报名,免费领取门票哦~

 title=

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

AI 数据观 | TapData Cloud+MongoDB Atlas:大模型与 RAG 技术有机结合,实现实时工单处理智能化

AI 数据观 | TapData Cloud+MongoDB Atlas:大模型与 RAG 技术有机结合,实现实时工单处理智能化

本篇为「AI 数据观」系列文章第二弹,在这里,我们将进一步探讨 AI 行业的数据价值。以 RAG 的智能工单应用场景为例,共同探索如何使用 Tapdata Cloud + MongoDB Atlas 实现具备实时更新能力的向量数据库,为企业工单处理的智能化和自动化需求,提供准实时的新鲜数据。完整分布教程指引,详见正文。

>>> 前篇回顾

人工智能是第四次工业革命的核心。大家都听说过“所有产品都值得用大模型重新做一遍”类似的观点,没错现在就正在发生。从去年OpenAI 的Chat GPT取得令人难以置信的成功后,AI正在加速落地各行各业,传媒游戏、机器人、办公软件、医药、自动驾驶、音乐、语音、广告、社交平台等等,呈现出百花齐放的景象。

大型语言模型(LLM)是基于大量数据预先训练的大型深度学习模型,可以生成用户查询的响应内容,例如回答用户问题或者根据文本的提示创建图像等等,在通识领域表现的很好。但大型语言模型(LLM)仍存在一些显著的局限性,特别是在处理特定领域或者高度专业化的查询时,一个常见的问题是产生错误的信息,或者称之为“幻觉”,特别是在查询超出模型的预训练数据集或者需要最新的信息时。

解决这些问题的一种比较有效且流行的方法就是检索增强(Retrieval Augmented Generation,简称RAG),它将外部数据检索整合到生成回答的过程中,这个过程不仅为后续的生成阶段提供信息,还确保基于检索到的资料生成回答,从而显著提高了模型输出回答的准确性和问题相关性。目前几乎大部分企业都在使用这一方式来整合通用大模型能力到自己的产品中,为用户提供具有AI生成能力的产品体验。

接下来我们以企业内部工单数据为例,展示使用 Tapdata Coud + MongoDB Atlas 准备实时向量数据并实现根据用户提的问题检索出最接近的工单及解决方案。

本篇文章我们重点关注上图中 Mongo DB Atlas 及右侧数据准备阶段的处理过程,工单的向量数据准备过程如下:

  1. 登录 Tapdata Cloud 执行以下操作
  2. 创建 Tapdata Agent
  3. 登录 MongoDB Atlas 控制台创建 MongoDB Atlas 数据库
  4. 创建源库(企业私有数据库,MySQL、Oracle或者SQLServer)连接
  5. 创建目标库(MongoDB Atlas)连接
  6. 创建 源库=>目标库 的数据同步任务并添加数据向量化处理节点
  7. 登录 MongoDB Atlas 控制台创建MongoDB Atlas Vector Index
  8. 使用 Python 执行执行向量查询,返回我们期望得到的最匹配历史工单及解决方案

准备

开始之前我们需要先准备几个账号: Tapdata Cloud 账号、MongoDB Atlas 账号、Huggingface 账号:

  • Tapdata Cloud:实时采集业务库中的增量数据,支持常用的MySQL、SQLServer、Oracle、PostgreSQL、Mongo DB等常见的20多种RDBMS 或 NoSQL 数据库,可做到秒级数据延迟。
  • Mongo DB Atlas:MongoDB是一款开发者友好的开源文档数据库,以其灵活性和易用性而闻名。在MongoDB Atlas(v6.0.11、v7.0.2)提供了向量查询,为生成式AI应用提供友好支持。
  • HuggingFace Access Token: 本示例使用 HuggingFace 提供的 Embedding Model 服务将文本向量化,您也可以使用其他平台提供的模型或者本地部署的模型。

创建 Tapdata Agent

  1. 登录 Tapdata Cloud 控制台,第一次登录控制台时根据新手指引操作即可
  2. 第一步选择你的应用场景,这里选择第一个“迁移数据到 MongoDB Atlas”,点击下一步

  1. 第二步选择部署方式,这里需要根据您的数据源所在位置来判断选择全托管或者半托管:

    a. 全托管:任务运行在云端,需要使用公网连接您的数据库,如果您的数据库有开放公网访问权限,这种全托管模式更便捷。

    b. 半托管:将运行任务的Agent部署在您数据库所在局域网或者VPC内,并且提供公网访问权限使得 Agent 与Tapdata Cloud 能够正确连接。运行的任务使用局域网连接您的数据库。

我这里使用本地私有数据库,所以选择半托管实例,然后点击下一步

  1. 第三步选择实例规格,我们这里选择免费实例即可,点击下一步

  1. 第四步安装部署 Agent,我们这里使用 Docker 容器部署Agent,点击“Copy”按钮复制启动命令粘贴到本地电脑执行(需要提前安装 Docker 软件,安装方式请查看:Docker Desktop)

  1. 本地执行启动部署命令后,需要等几分钟,直到实例状态为“Running”状态后再继续操作

到这里,我们已经准备好了运行数据同步任务的Agent。如果您之前已经完成新手引导流程,再次登录时它就不会自动弹出了,这时您只需要切换到“订阅” -> "添加订阅",然后选择您的部署方式和规格创建实例并完成部署即可。

创建 MongoDB Atlas 数据库

  1. 登录 Mongo DB Atlas 后,点击“New Project”先创建项目,根据引导直接下一步,然后创建项目即可,过程比较简单

  1. 第二步在刚创建的项目中,点击“+Create” 创建 MongoDB Database

  1. 规格选择 M0,集群名称就使用默认名称:Cluster-0,供应商选择 Google Cloud,地区选择 Taiwan,点击“Create Deployment”

  1. 添加访问数据库账号

  1. 选择使用“Drivers”连接MongoDB Database

  1. 选择 使用Java,然后复制 连接字符串,并保存下来

  1. 添加网络访问白名单,点击添加 IP地址

  1. 我们这里演示目的,设置为任意地址都可以访问

到这里我们已经成功的在 MongoDB Atlas 上运行起来一个Mongo DB 3节点副本集群,接下来我们回到 Tapdata Cloud 创建连接和数据同步任务。

创建源库连接

源库通常是指您的业务数据库

  1. 登录Tapdata Cloud 控制台,打开“Connections”连接管理界面,点击“Create” 创建数据源

  1. 根据您的源库类型(通常是指您的业务系统使用的数据库软件)选择要创建的数据源,我这里选择MongoDB

  1. 输入数据源名称、连接信息(不同类型的源库,需要填写的连接信息也不一样)等,点击 “Test” 测试连接配置正确,然后点击“Save”保存连接

创建目标库连接

  1. 打开 “Connections”,点击“Create”按钮,选择 “MongoDB Atlas”

  1. 填写名称“MongoDB Atlas”,连接类型选择 “Target”即可,然后复制我们刚才在 Atlas 上创建的MongoDB Database 连接字符串,填写到 “Database URI”,点击“Test”测试连接,点击“Save”保存连接(注意:连接字符串中需要在/后面添加数据库名称,我们这边填写 test )

到这里,我们已经准备好了源库的连接、目标库的连接,下一步就该处理我们的数据了。

创建数据同步处理任务

  1. 在 Tapdata Cloud 控制台上,打开“Data Transformation”,点击“Create”,创建一个任务

  1. 拖拽我们刚才创建的源库、目标库连接到画布区域,然后在添加一个 “Enhanced JS” 处理节点,并将它们连接在一起,箭头方向表示数据流方向,如下,当我们启动任务时,数据将会从 Source Database 流向 MongoDB Atlas

  1. 配置源库,选择待处理工单数据表: customer_support_tickets

启动任务后,这个节点负责从源库中读取数据,如下:

{
  _id: ObjectId("65fd324baa464c7697ecf123"),
  ''Ticket ID'': 1,
  ''Customer Name'': ''Marisa Obrien'',
  ''Customer Email'': ''carrollallison@example.com'',
  ''Customer Age'': 32,
  ''Customer Gender'': ''Other'',
  ''Product Purchased'': ''GoPro Hero'',
  ''Date of Purchase'': ''2021-03-22'',
  ''Ticket Type'': ''Technical issue'',
  ''Ticket Subject'': ''Product setup'',
  ''Ticket Description'': "I''m having an issue with the {product_purchased}. Please assist.\n" +
    ''\n'' +
    ''Your billing zip code is: 71701.\n'' +
    ''\n'' +
    ''We appreciate that you have requested a website address.\n'' +
    ''\n'' +
    "Please double check your email address. I''ve tried troubleshooting steps mentioned in the user manual, but the issue persists.",
  ''Ticket Status'': ''Pending Customer Response'',
  Resolution: '''',
  ''Ticket Priority'': ''Critical'',
  ''Ticket Channel'': ''Social media'',
  ''First Response Time'': ''2023-06-01 12:15:36'',
  ''Time to Resolution'': '''',
  ''Customer Satisfaction Rating'': ''''
}
  1. 我们将在 Enhanced JS 处理器中加工处理源库读到的数据,将工单描述转为向量,然后写入到目标库,如下:

代码如下:





        if (record["Ticket Description"]) {
          
          var embedding_url = "https://api-inference.huggingface.co/pipeline/feature-extraction/sentence-transformers/all-MiniLM-L6-v2";
          var headers = new HashMap();
          headers.put("Authorization", "Bearer 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");
          headers.put("Content-Type", "application/json");
          
          var data = new HashMap();
          data.put("inputs", record["Ticket Description"]);
          
          var result = rest.post(embedding_url, data, headers, "array");
          if (result.code === 200) {
            record["ticket_description_embedding"] = result.data;
          }
        }
        
        
        return record;

源库中读取到的每一行数据,经过上面JavaScript脚本,都增加了一个 ticket_description_embedding 的字段,用来存储向量化数据,后续语义查询将会基于此字段实现,此时的数据模型如下:

{
  _id: ObjectId("65fd324baa464c7697ecf123"),
  ''Ticket ID'': 1,
  ''Customer Name'': ''Marisa Obrien'',
  ''Customer Email'': ''carrollallison@example.com'',
  ''Customer Age'': 32,
  ''Customer Gender'': ''Other'',
  ''Product Purchased'': ''GoPro Hero'',
  ''Date of Purchase'': ''2021-03-22'',
  ''Ticket Type'': ''Technical issue'',
  ''Ticket Subject'': ''Product setup'',
  ''Ticket Description'': "I''m having an issue with the {product_purchased}. Please assist.\n" +
    ''\n'' +
    ''Your billing zip code is: 71701.\n'' +
    ''\n'' +
    ''We appreciate that you have requested a website address.\n'' +
    ''\n'' +
    "Please double check your email address. I''ve tried troubleshooting steps mentioned in the user manual, but the issue persists.",
  ''Ticket Status'': ''Pending Customer Response'',
  Resolution: '''',
  ''Ticket Priority'': ''Critical'',
  ''Ticket Channel'': ''Social media'',
  ''First Response Time'': ''2023-06-01 12:15:36'',
  ''Time to Resolution'': '''',
  ''Customer Satisfaction Rating'': ''''
  ''ticket_description_embedding'': [
      -0.0897391065955162,    0.038192421197891235,    0.012088424526154995,
        -0.06690243631601334,   -0.013889848254621029,    0.011662089265882969,
         0.10687699168920517,    0.010783190838992596,  -0.0018359378445893526,
        -0.03207595646381378,     0.06700573861598969,     0.02220674231648445,
          -0.038338553160429,    -0.04949694499373436,   -0.034749969840049744,
         0.11390139162540436,   0.0035523029509931803,   -0.011036831885576248,
         ...
  ]
}

注意:我们这里使用 Huggingface 免费服务,免费服务会受到速率限制,因此我们这里需要限制一下源库中读取数据行数,操作方法如下,在源库节点添加一个过滤条件,避免频繁调用 Huggingface API,您也可以升级为付费用户来规避API调用限制。如下图,只读取id 小于等于 65fd324baa464c7697ecf12c 的工单记录

  1. 配置目标库写入数据表,此时目标库还不存在表,我们在这里填写一个新的表名称即可

  1. 配置任务运行模式:默认为全量 +增量,行为如下:
  2. 全量:任务只读取源库中的现有数据并写入目标数据库
  3. 增量:任务只读取启动任务之后(或者指定开始时间)新增、修改过的数据,并写入目标数据库
  4. 全量+增量:任务会先读取源库中现有的数据写入目标库,然后再读取启动任务之后新增或者修改的数据写入到目标库

我们这里默认选择全量+增量,启动任务后,会先将源库中的存量数据同步到目标库,然后自动读取并处理新增或修改的数据。

  1. 启动任务,并检查目标库数据是否正确

查询目标库数据,字段 ticket_description_embedding 存储的向量数据,如下:

创建MongoDB Atlas Vector Index

  1. 登录 MongoDB Atlas 控制台,打开 “Database”,然后点击 “Create Index”

  1. 依次点击“Create Search Index” -> “Atlas Vector Search - JSON Editor” -> “Next”

选择我们的刚同步过来目标库表 test.customer_support_tickets
, 索引名称填写 vector_index,索引配置如下

{
  "fields": [
    {
      "type": "vector",
      "path": "ticket_description_embedding",
      "numDimensions": 384,
      "similarity": "cosine"
    }
  ]
}
  • type:vector - 创建 vector search 索引
  • path:ticket_description_embedding - 我们在 JavaScript 中增加的存储向量数据的字段名称
  • numDimensions:向量维度 1-2048,执行向量查询的维度数量
  • similarity:相似性算法,可选值:euclidean-欧氏距离算法、cosine-余弦相似性算法、dotProduct-点积算法
  1. 点击 “Next” -> “Create Index”,向量索引创建完成后,我们就可以执行语义查询了

使用 Python 执行执行向量查询

  1. 我们在 Python 中实现语义查询,代码如下:
import requests
from bson import ObjectId
from pymongo.mongo_client import MongoClient

if __name__ == "__main__":

    mongodb_atlas_connection_string = "mongodb+srv://root:mYS4tk78YE1JDtTo@cluster0.twrupie.mongodb.net/test?retryWrites=true&w=majority&appName=Cluster0"
    embedding_uri = "https://api-inference.huggingface.co/pipeline/feature-extraction/sentence-transformers/all-MiniLM-L6-v2"
    huggingface_token = "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"
    
    question = "My computer is making strange noises and not functioning properly"

    headers = {"Authorization": f"Bearer {huggingface_token}"}
    data = {"inputs": question}
    response = requests.post(embedding_uri, headers=headers, json=data)
    if response.status_code == 200:
        query_vector = response.json()

        client = MongoClient(mongodb_atlas_connection_string)
        db = client["test"]
        result = db.customer_support_tickets.aggregate([
            {
                "$vectorSearch": {
                    "queryVector": query_vector,
                    "path": "ticket_description_embedding",
                    "numCandidates": 10,
                    "limit": 2,
                    "index": "vector_index"
                }
            }
        ])
        cases = ''''
        for doc in result:
            print(f"Ticket Status: {doc[''Ticket Status'']},\nTicket Description: {doc[''Ticket Description'']} ,\nResolution: {doc[''Resolution'']} \n")
            cases += f"Ticket Description: {doc[''Ticket Description'']} ,\nResolution: {doc[''Resolution'']} \n\n"
  1. 查询结果如下:
Ticket Description: I''m having an issue with the computer. Please assist.
The seller is not responsible for any damages arising out of the delivery of the battleground game. Please have the game in good condition and shipped to you I''ve noticed a sudden decrease in battery life on my computer. It used to last much longer. ,
Resolution: West decision evidence bit. 


Ticket Description: My computer is making strange noises and not functioning properly. I suspect there might be a hardware issue. Can you please help me with this?
} If we can, please send a "request" to dav The issue I''m facing is intermittent. Sometimes it works fine, but other times it acts up unexpectedly. 
Resolution:  Please check if the fan is clogged, if so, please clean it

查询到相关最高的结果后,我们就可以根据用户的问题和历史工单及解决方案组装为Prompt''s 提交给LLM生成回答,如下使用 Google Gemma 模型生成回答

import requests
from pymongo.mongo_client import MongoClient

if __name__ == "__main__":

    mongodb_atlas_connection_string = "mongodb+srv://root:mYS4tk78YE1JDtTo@cluster0.twrupie.mongodb.net/test?retryWrites=true&w=majority&appName=Cluster0"
    embedding_uri = "https://api-inference.huggingface.co/pipeline/feature-extraction/sentence-transformers/all-MiniLM-L6-v2"
    huggingface_token = "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"

    question = "My computer is making strange noises and not functioning properly"

    headers = {"Authorization": f"Bearer {huggingface_token}"}
    data = {"inputs": question}
    response = requests.post(embedding_uri, headers=headers, json=data)
    if response.status_code == 200:
        query_vector = response.json()

        client = MongoClient(mongodb_atlas_connection_string)
        db = client["test"]
        result = db.customer_support_tickets.aggregate([
            {
                "$vectorSearch": {
                    "queryVector": query_vector,
                    "path": "ticket_description_embedding",
                    "numCandidates": 10,
                    "limit": 2,
                    "index": "vector_index"
                }
            }
        ])
        cases = ''''
        for doc in result:
            print(f"Ticket Status: {doc[''Ticket Status'']},\nTicket Description: {doc[''Ticket Description'']} ,\nResolution: {doc[''Resolution'']} \n")
            cases += f"Ticket Description: {doc[''Ticket Description'']} ,\nResolution: {doc[''Resolution'']} \n\n"

        # generator answer by llm
        prompt = f''''''
                 ### Case:{cases}
                 Please answer the questions based on the above cases: {question}
                 ''''''
        llm_model_url = "https://api-inference.huggingface.co/pipeline/feature-extraction/google/gemma-1.1-7b-it"
        headers = {"Authorization": f"Bearer {huggingface_token}"}
        data = {"inputs": prompt}
        response = requests.post(llm_model_url, headers=headers, json=data)
        if response.status_code == 200:
            print(response.json()[0].get("generated_text"))

结果如下:


### Case:

    Ticket Description: I''m having an issue with the computer. Please assist.
    The seller is not responsible for any damages arising out of the delivery of the battleground game. Please have the game in good condition and shipped to you I''ve noticed a sudden decrease in battery life on my computer. It used to last much longer. ,
    Resolution: West decision evidence bit. 
    
    Ticket Description: My computer is making strange noises and not functioning properly. I suspect there might be a hardware issue. Can you please help me with this?
    } If we can, please send a "request" to dav The issue I''m facing is intermittent. Sometimes it works fine, but other times it acts up unexpectedly. 
    Resolution:  Please check if the fan is clogged, if so, please clean it


Please answer the questions based on the above cases: My computer is making strange noises and not functioning properly
- What is the initial request of the customer?
- What information does the customer provide about the issue?


**Answer:**

**1. Initial request of the customer:**
The customer requests assistance with a hardware issue causing their computer to make strange noises and malfunction.


**2. Information provided by the customer:**
The customer suspects a hardware issue and notes that the problem is intermittent, working fine sometimes and acting up unexpectedly at other times.

这篇文章展示了使用 Tapdata Cloud + MongoDB Atlas 实现根据用户提问问题搜索工单数据的示例,在实际构建AI应用时还有很多细节,如果您遇到任何问题,欢迎随时联系我们。

在当今数字化时代,企业内部工单处理的效率和准确性对于业务的顺畅运行至关重要。传统的人工处理方式可能会面临信息不准确、响应速度慢等问题,而借助大型语言模型(LLM)和检索增强技术的结合,企业可以实现工单处理的智能化和自动化,极大地提升了工作效率和用户体验。

通过使用 Tapdata Cloud 和 MongoDB Atlas,企业可以充分利用先进的向量化技术和实时检索功能,构建出一个强大的工单处理系统。这个系统不仅能够快速地检索出与用户问题最相关的工单和解决方案,还能够不断学习和优化,适应不断变化的业务需求。

迁移数据到 MongoDB Atlas 后,利用 Tapdata Cloud 的强大功能,我们能够轻松实现工单数据的向量化处理,并通过 MongoDB Atlas 的高效存储和检索能力,为企业提供稳定可靠的数据支持。这种结合大型语言模型(LLM)和检索增强RAG技术的创新应用,不仅提高了工单处理的效率和准确性,还为企业带来了全新的智能化解决方案。

因此,随着人工智能技术的不断发展和应用,我们有信心,借助 Tapdata Cloud 和 MongoDB Atlas 的支持,企业内部工单处理将会变得更加高效、准确,为企业的发展和用户的需求提供更加稳定可靠的支持。通过 Tapdata Cloud 和 MongoDB Atlas 的无缝集成,我们为企业提供了一体化的解决方案,以提高企业工单处理的智能化水平和业务效率,为企业发展赋能。

MongoDB 数据实时同步利器-Tapdata Cloud 免费上手指南

MongoDB 数据实时同步利器-Tapdata Cloud 免费上手指南


偶然接触到 Tapdata Cloud,据说不仅可以实现MongoDB数据实时同步,还永久 100% 免费,但就是不知道怎么获取、怎么用?
打开相关文档逐渐陷入迷茫,术语随处可见,小白慌张?
报错!报错!报错!从安装到放弃,想知道自己的操作问题在哪里?
手握神器但不会用、用不好?Agent 是什么?架构原理又是什么?数据库该怎么配置?新功能又优化了哪些场景……
站在 Tapdata Cloud 实时数据同步之旅的起点,你是否也是这样,还有很多亟待解答的问题?
如果这些恰好是你踩过的坑,或是正在经历的困扰,这里恰好有一个为你量身定制的活动

2月23日下午14:30-15:30,Tapdata Cloud 在线研讨会第 3 期如约而至,Tapdata 项目经理马建平手把手教你零基础学习 Tapdata Cloud 相关术语、功能架构、操作方法……同时开放线上答疑,帮助解决你使用过程中的常见问题。

现在报名参加活动,更有机会获得精美奖品。更多活动相关信息及获奖方式,详见下文:

01
活动详情

主题:

如何快速上手Tapdata Cloud
开启「0代码」异构数据实时同步新体验

主讲人:

马建平 Tapdata项目经理

时间:2022年2月23日(周三)14:30-15:30
形式:在线直播 | 免费论坛

内容:

① 「Tapdata Cloud」是什么,如何获取使用权限
② 「Tapdata Cloud 」最新功能特性介绍

③ 「Tapdata Cloud」使用指南:

Tapdata Agent 功能及架构原理
Tapdata Agent 安装演示及常见问题
Tapdata Cloud 连接管理模块常见术语表总览:Schema、CDC、增量与全量同步概念辨析等
几种常见的数据库连接配置介绍及常见问题解答
④ 自由问答

适合人群:Tapdata Cloud 用户、关注实时数据同步问题的 DBA/开发/架构师等

报名方式:

① 关注 Tapdata 微信公众号,会前可由此查收参会链接

② 添加官方小助手微信,进入技术交流群,第一时间 get 活动直播链接

02
丰富好礼

获奖方式1:转发赢「会前抽奖」机会

转发本活动链接至朋友圈,截图发送至官方小助手即可参与抽奖。我们将于在线研讨会开始前1小时,即2月23日13:30开奖。

奖项设置:共抽取5名获奖者,分别获得小爱音箱(1份)、艺术沙画(1份),以及数据库领域优质图书(3份)。

获奖方式2:研讨会现场参与「会中抽奖」

2月23日研讨会期间,按照主持人指示参与活动过程中设置的抽奖环节。

奖项设置:共抽取5名获奖者,分别获得小爱音箱(1份)、艺术沙画(1份),以及数据库领域优质图书(3份)。


更多 Tapdata Cloud 动态及信息请识别海报二维码进入后台咨询哦~

Nebula Graph入驻阿里云计算巢,助力企业打造云上超大规模图数据库

Nebula Graph入驻阿里云计算巢,助力企业打造云上超大规模图数据库

近日,阿里云计算巢正式通过了国产开源分布式图数据库 Nebula Graph的 “云合计划”合作伙伴认证,迎来了首家图数据库基础设施软件合作伙伴。

 

 

Nebula Graph 是由杭州悦数科技有限公司自主研发的开源图数据库,安全可控,其核心代码采用 Apache 2.0 协议开源。Nebula Graph 可灵活加载不同数据源的数据,支持 Spark、Flink、HBase 等多种周边大数据生态。它是世界上唯一能够容纳千亿个顶点和万亿条边,并提供毫秒级查询延时的图数据库解决方案美团、京东科技和快手等大型互联网科技公司都已经在生产环境使用 Nebula Graph 来提高他们的图数据处理能力

 

随着企业上云的趋势发展,企业对云原生图数据库的需求日益增加。开源三年多以来,Nebula Graph 在打磨产品服务好社区用户的同时,致力于打造一款企业级安全可靠的图数据库。基于阿里云计算巢的Nebula Graph 服务是 Nebula Graph 在国内发布的第一款数据库即服务(DBaaS)产品

 

基于阿里云计算巢的Nebula Graph服务将允许企业用户一键在云平台创建企业级的图数据库集群,屏蔽了数据库部署、性能调优、运维等繁杂过程,并在几分钟内在云上创建一个图数据库,快速扩展计算、存储等资源。借助阿里云的基础设施优势,还可将Nebula Graph 在面对超大规模数据处理时的高吞吐、低时延优势充分发挥出来

 

同时,Nebula Graph 还使用计算巢自动化高可用的容灾方案设计,提升了业务可靠性,实现服务流程可审计、可追溯,打造可信任的企业服务。Nebula Graph服务同时集成了多款Nebula周边可视化图数据库管理工具,助力企业快速从数据中获得洞察力。

 

Nebula Graph 是一个可靠的分布式、线性扩容、性能高效的图数据库,其 Shared Nothing 和存储计算分离的底层架构让它具有了云原生的特征,可以有效降低成本和弹性扩缩容。同时,作为一个数据库产品,底层基础设施的稳定性以及安全性对于客户来说至关重要。阿里云是国内领先的云计算提供商,我们看重其稳定的基础设施和安全性,此次与阿里云计算巢的合作 ,通过计算巢更高效地利用底层资源的弹性扩缩容能力以及便捷的服务编排等能力,可以使我们的客户更可以放心、省心地使用基于云上的Nebula Graph产品

Nebula Graph 创始人兼CEO

叶小萌

 

目前,已经有上百家ISV合作伙伴接入计算巢平台,包括极狐GitLab、金蝶、数云CRM、PingCAP、蓝凌OA、Fortinet、Avaya、Memverge等。未来,阿里云将持续与ISV合作伙伴紧密合作,通过计算巢共筑云上生态,与合作伙伴一起为客户创造更大价值

 

点击这里,登录阿里云计算巢体验。

今天关于Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用的分享就到这里,希望大家有所收获,若想了解更多关于2021云栖大会丨首批阿里云计算巢认证合作伙伴获得授牌,阿里云与合作伙伴共筑云上生态、AI 数据观 | TapData Cloud+MongoDB Atlas:大模型与 RAG 技术有机结合,实现实时工单处理智能化、MongoDB 数据实时同步利器-Tapdata Cloud 免费上手指南、Nebula Graph入驻阿里云计算巢,助力企业打造云上超大规模图数据库等相关知识,可以在本站进行查询。

本文标签: