使用 MongoDB 构建 AI:利用实时客户数据优化产品生命周期

在《使用 MongoDB 构建 AI》系列博文中,我们看到越来越多的企业正在利用 AI 技术优化产品研发和用户支持流程。例如,我们介绍了以下案例:
-
Ventecon 的 AI 助手帮助产品经理生成和优化新产品规范
-
Cognigy 的对话式 AI
帮助企业使用任意语言,通过各种渠道为客户提供实时个性化服务 -
Kovai 的 AI 助手帮助用户快速从产品文档和知识库中找到所需信息
本文将继续盘点另外三家在产品生命周期各环节推陈出新的 AI 创新企业。首先是 Zelta,借助实时客户洞察和情感分析,帮助产品团队确定需求优先级。其次是 Crewmate,专注于加强产品与活跃用户社区的互动。最后是 Ada,通过基于 AI 的自动化技术,帮助 Meta 和 Verizon 等科技巨头大幅提升了客户服务水平。
Zelta.AI:洞悉客户之声,优化产品路线
当今数字经济背景下,源源不断的客户反馈通过各种线上线下渠道涌入企业。产品经理要从海量反馈中梳理提炼关键诉求和优先事项,进而制定出企业上下一致认可的产品计划,似乎是个不可能完成的任务。这正是 Zelta.ai 成立的初衷。
Zelta 直接从 Gong、Zoom、Fireflies、Zendesk、Jira、Intercom 等平台获取通话记录、工单等最有价值的定性客户反馈数据,通过生成式 AI 加以分析,深入洞察并传达客户痛点所在。

通过使用大语言模型处理非结构化数据,Zelta 能够为产品团队提供可行的洞见
Zelta 的工程团队综合运用经过精心调整的 OpenAI GPT-4、Cohere 和 Anthropic 模型,从源数据中提取、分类并编码不同主题功能相关的趋势和情感。MongoDB Atlas 则被用作源数据的元数据及模型输出的数据存储层。
Zelta AI 联合创始人兼首席技术官 Mick Cunningham 表示:“MongoDB 带来的灵活性令人惊叹。 我们的开发团队可以不断尝试新功能,只需添加字段和优化数据模型,无需像关系型数据库那样经历费时费力的模式迁移。”
Cunningham 补充道:“我们还大量使用 MongoDB 聚合管道来实现应用程序驱动型智能。 我们无需将数据从 MongoDB 中提取出来再进行 ETL (提取、转换、加载)处理,就能直接在数据库中进行分析,为客户提供产品反馈实时仪表板和趋势报告。在加速客户做出产品决策的同时,也彰显了我们服务的价值。”
展望未来,Zelta 计划打造自己的定制模型,届时 MongoDB 积累的数据将成为用于训练监督学习模型的宝贵标注样本。作为 MongoDB AI 创新者计划 的成员,Zelta 不仅能享受 Atlas 免费使用额度和技术支持,还能在 MongoDB 社区中获得更多曝光的机会。
Crewmate:连接品牌与社区
在数字经济浪潮下,品牌方往往要投入数百万美元来扶持线上社区,吸引大量热衷于其产品和服务的活跃用户加入。然而,许多社区运营工具来自第三方,导致品牌无法直接洞察用户的真实参与情况。这正是 Crewmate 力图解决的痛点。
Crewmate 是一个用于构建嵌入式 AI 驱动社区的无代码平台。该平台提供可灵活定制的社区功能,让品牌能轻松将其部署到自己的网站。目前 Crewmate 已广泛服务于消费品 (CPG)、B2B SaaS、游戏、Web3 等各行业客户。
具体来说,Crewmate 首先爬取品牌官网,以及 CRM 系统中的公开招聘信息和客户数据,然后将爬取的数据存入运行于 Google Cloud 的 MongoDB Atlas 数据库。随后,Atlas Trigger 会调用 OpenAI 的 ada-002 嵌入模型,将向量化编码存储和索引至 Atlas Vector Search 。事件驱动的管道会在每次网站数据插入 MongoDB 数据库时触发 Atlas Trigger,时刻保持最新状态。
借助 Atlas Vector Search 的上下文感知语义搜索,用户点击和浏览品牌站点社区页面时,能自动获得相关推荐内容。推荐内容涵盖社媒帖文、论坛讨论、招聘信息、限时优惠等等。
“我在之前的项目中就用过 MongoDB,深知其灵活的文档模型可以存储任意结构的数据。 考虑到要从客户网站采集的数据类型繁多,这一点尤为重要。” Crewmate 联合创始人兼首席技术官 Raj Thaker 说道。
“Atlas Vector Search 的推出,以及构建生成式 AI 应用教程,为我提供了一个开箱即用的快速架构方案。这个方案集成了源数据存储、AI 驱动的语义向量搜索,以及实时响应数据管道,确保数据持续更新。 更关键的是,所有这些都在单一平台和单一数据源的基础上实现,同时为开发者提供了统一的 API。这不仅使我们的工程团队保持了开发效率,也进一步简化了我们的技术栈。Atlas 还支持与快速发展的 AI 生态系统集成。因此,尽管我们目前采用的是 OpenAI 模型,但将来也能轻松引入 Llama 等其他模型。”
Thaker 补充说:“Crewmate 的一大价值在于帮助品牌挖掘有意义的见解。借助功能强大且直观的 MongoDB Query API (查询 API) ,我们能够处理、聚合和分析用户参与数据,帮助品牌全面跟踪社区推广效果和转化率。品牌方可以直接从存储在 MongoDB 中的应用数据中获取这些洞见,而无需通过 ETL 处理将数据转移至单独的数据仓库或数据湖。”
与 Zelta 一样,Crewmate 也是 MongoDB AI 创新者计划 的成员。
Ada:以 MongoDB Atlas 为基础,通过 AI 驱动的自动化技术革新客户服务
成立于 2016 年的 Ada 已发展为跨渠道、跨模态智能客服自动化领域的佼佼者。企业已融资近 2 亿美元,拥有 300 多名员工,客户覆盖 Meta、Verizon、AT&T 等 300 多家企业。
Ada 的首席产品和技术官 Mike Gozzo 在 MongoDB 开发者大会上接受了采访,讨论了客服 AI 的发展趋势以及 MongoDB 在 Ada AI 技术栈中扮演的角色。Gozzo 指出,尽管客服机器人早已问世,但 transformer 模型和大语言模型的巨大进步,再加上基于人类反馈的强化学习 (RLHF),使这些 AI 助手的能力有了质的飞跃。这些客服机器人不再局限于单纯检索信息,而是能够通过高级推理来解决客户问题。
当被问及为何选择 MongoDB Atlas 作为 Ada 所有产品的基石时,Gozzo 表示:“关键是要有灵活快速适应变化的能力。我们发现,随着企业发展、引入新渠道和新模态,MongoDB 最突出的优势在于,它提供了一个可轻松扩展的数据存储方案,而无需像其他数据库那样进行复杂的迁移,真正满足了我们的需求。我们一直坚持使用 Atlas,因为它性能出色,MongoDB 团队的支持也非常到位。此外,MongoDB 能让我们减少对单一云供应商的依赖。 ”
Gozzo 补充说:“当我们要开发新功能时,MongoDB 在数据源选择上能为我们提供充分的灵活性。 我们可以从中查询非结构化数据,然后用于训练其他模型。在我们的整个产品技术栈中,生成式 AI 的应用非常广泛,不仅可以自动处理查询,还能提供比单纯的多轮问答更进一步的支持。借助 MongoDB,新产品的上线周期可以缩短至数月。”
展望未来,Ada 已开始使用 MongoDB Change Streams (变更流)构建分布式事件处理系统,为聊天机器人和分析提供底层支持。除此之外,Ada 还在探索可查询加密,旨在保护对话隐私的同时推进 AI 模型训练发展。
在接受亚马逊云科技的买家之声 (VOC) 采访时,Gozzo 谈到“速度”如何驱动 Ada 的整个产品开发。这里的“速度”既指企业发布产品和功能的速度,也包括团队学习和迭代的速度。通过在亚马逊云科技上运行 MongoDB Atlas,并结合无服务器 Lambda 函数和 Amazon Bedrock 提供的大语言模型,Ada 能够以可重复、高性能且可扩展的方式交付应用程序。
MongoDB Atlas
MongoDB Atlas 是 MongoDB 公司提供的 MongoDB 云服务,由 MongoDB 数据库的开发团队构建和运维,可以在亚马逊云科技、Microsoft Azure、Google Cloud Platform 云平台上轻松部署、运营和扩展。MongoDB Atlas 内建了 MongoDB 安全和运维最佳实践,可自动完成基础设施的部署、数据库的构建、高可用部署、数据的全球分发、备份等即费时又需要大量经验运维工作。让您通过简单的界面和 API 就 可以完成这些工作,由此您可以将更多宝贵的时间花在构建您的应用上。
相关文章:
使用 MongoDB 构建 AI:利用实时客户数据优化产品生命周期
在《使用 MongoDB 构建 AI》系列博文中,我们看到越来越多的企业正在利用 AI 技术优化产品研发和用户支持流程。例如,我们介绍了以下案例: Ventecon 的 AI 助手帮助产品经理生成和优化新产品规范 Cognigy 的对话式 AI 帮助企业使用任意语言&a…...
【React】React18核心源码解读
前言 本文使用 React18.2.0 的源码,如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章:VsCode查看React源码全是类型报错如何解决。 阅读源码的过程: 下载源码 观察 package…...
部署私有仓库以及docker web ui应用
官方地址:https://hub.docker.com/_/registry/tags 一、拉取registry私有仓库镜像 docker pull registry:latest 二、运⾏容器 docker run -itd -v /home/dockerdata/registry:/var/lib/registry --name "pri_registry1" --restartalways -p 5000:5000 …...
DAY57WEB 攻防-SSRF 服务端请求Gopher 伪协议无回显利用黑白盒挖掘业务功能点
知识点: 1、SSRF-原理-外部资源加载 2、SSRF-利用-伪协议&无回显 3、SSRF-挖掘-业务功能&URL参数 SSRF-原理&挖掘&利用&修复 漏洞原理:SSRF(Server-Side Request Forgery:服务器端请求伪造) ,一种由攻击者构造形成由服务…...
光盘刻录大文件时分卷操作
可以使用 split 命令来将大文件 finetune.tar 分卷为适合光盘大小的文件片段,然后在离线服务器上合并这些分卷文件。以下是具体的操作步骤: 步骤1:分卷文件 假设你的文件 finetune.tar 大小为35GB,并且你想分卷为每个4.7GB&…...
Kafka系列之:生产者性能调优
Kafka系列之:生产者性能调优 一、producer.type二、request.required.acks三、max.request.size四、batch.size五、buffer.memory一、producer.type 在Kafka中,producer.type是一个配置属性,用于指定Producer的类型。它有两个可能的值: sync:同步发送模式。当设置为sync时…...
【linux】进程创建与进程终止
🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.进程创建02.进程终止异常终止如何终止exit()_exit() 01.进程创建 #include <unistd.h> pid_t fork(void);返回值:自进程中返回0,父进程返回子进…...
QT的文件操作类 QFile
QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文 件。 QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。 主要功能 文件读写: QFile 支持打开文件进行读取或写入操作文件信息&#x…...
java项目篇-用户脱敏展示
用户敏感信息脱敏展示 定义手机号和证件号的 Jackson 自定义序列化器,并在对应需要脱敏的敏感字段上指定自定义序列化器。在进行指定的需要脱敏的字段(身份证号,手机号,银行卡号等)序列化的时候,该字段自动…...
《C++计算引擎:驱动高效计算的强大动力》
在当今数字化时代,高效的计算能力是推动科技进步和创新的关键。而 C作为一种强大的编程语言,在构建高性能计算引擎方面发挥着重要作用。本文将深入探讨 C计算引擎的特点、优势以及在不同领域的应用,带您领略 C在计算领域的独特魅力。 一、C计…...
Linux的hadoop集群部署
1.hadoop是一个分布式系统基础架构,主要解决海量数据额度存储与海量数据的分析计算问题 hdfs提供存储能力,yarn提供资源管理能力,MapReduce提供计算能力 2.安装 一:调整虚拟机内存,4G即可 二:下载安装包 网址:https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.4.0/…...
请问:ESModule 与 CommonJS 的异同点是什么?
前言 本篇文章不会介绍模块的详细用法,因为核心是重新认识和理解模块的本质内容是什么,直奔主题,下面先给出最后结论,接下来在逐个进行分析。 ECMAScript Module 和 CommonJS 的相同点: 都拥有自己的缓存机制&#…...
【数据结构与算法】力扣 59. 螺旋矩阵 II
题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入: n 3 输出: [[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入:…...
HarmonyOS Next模拟器异常问题及解决方法
1、问题1:Failed to get the device apiVersion. 解决方法:关闭模拟器清除用户数据重启...
求最大公约数(c语言)
先看题👇 我这里介绍的方法:辗转相除法: 最大公约数: 最大公约数是指同时能整除俩个或更多整数的最大正整数。 欧几里得算法就是求最大公约数的算法 求最大公约数涉及到一个数学原理的转换: 俩个数的最大公约数等于其中一个数和…...
Android Camera2在textureView中的预览和拍照
Camera2预览和拍照 1、Camera2相机模型2、Camera2的重要类3、Camera2调用流程4、Camera2调用实现 1)定义TextureView作为预览界面2)设置相机参数3)开启相机4)开启相机预览5)实现PreviewCallback6)拍照 1、Camera2相机模型 解释上诉示意图,假如想要同时拍摄两张不同…...
Redis的缓存问题
缓存雪崩 定义:缓存雪崩是指在某个时间段内,缓存中的大量数据同时失效或者大量的请求集中到某一个时间点发生,导致数据库压力骤增,甚至引起服务崩溃的现象。 原因:通常是由于缓存中的大量数据同时过期或者大量的请求集…...
C语言小游戏--猜数字
游戏过程: 由电脑随机在某个范围内生成一个数字,玩家猜数字并且输入,电脑判断是否正确,正确则游戏结束,错误则给出提示,直到玩家所给的答案正确为止 思路分析: 1.生成随机数 2.玩家可以多次…...
代理IP在爬虫中的作用是什么?
在爬虫中,代理IP的主要作用包括以下几个方面: 防止IP被封禁:每个网站都有反爬机制,会记录并封禁同一个IP地址的频繁请求。使用代理IP可以让爬虫更换源头,减少被目标网站识别为恶意爬虫的风险。 提高抓取效率ÿ…...
卡尔曼讲解与各种典型进阶MATLAB编程(专栏目录,持续更新……)
专栏链接:https://blog.csdn.net/callmeup/category_12574912.html 文章目录 专栏介绍重点文章卡尔曼滤波的原理卡尔曼滤波的例程 进阶MATLAB编程后续更新 专栏介绍 本专栏旨在深入探讨卡尔曼滤波及其在各类应用中的实现,尤其是通过MATLAB编程进行的典…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...
作为点的对象CenterNet论文阅读
摘要 检测器将图像中的物体表示为轴对齐的边界框。大多数成功的目标检测方法都会枚举几乎完整的潜在目标位置列表,并对每一个位置进行分类。这种做法既浪费又低效,并且需要额外的后处理。在本文中,我们采取了不同的方法。我们将物体建模为单…...
VUE3 ref 和 useTemplateRef
使用ref来绑定和获取 页面 <headerNav ref"headerNavRef"></headerNav><div click"showRef" ref"buttonRef">refbutton</div>使用ref方法const后面的命名需要跟页面的ref值一样 const buttonRef ref(buttonRef) cons…...
