Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ /
Atlas 架构中心
/ / /

使用 MongoDB 和 Vertex AI 实现 AI 驱动的实时定价

利用实时数据见解来优化价格,获得竞争优势。

使用案例: 个性化生成式 AI

行业: 零售

产品: MongoDB Atlas

合作伙伴: Google Cloud

动态定价,即根据市场条件实时调整价格的策略,已成为企业谋求收益最大化及获得竞争优势的重要手段。要有效实现动态定价,强大的技术基础架构必不可少。此解决方案集成了 MongoDB Atlas 和 Google Cloud Vertex AI,旨在打造一个实时动态的定价微服务。通过利用 Google Cloud Pub/Sub 进行快速数据摄取,Vertex AI Notebooks 和 TensorFlow 模型将分析客户行为,以优化定价策略。MongoDB Atlas 充当复杂定价数据的灵活特征存储库,而 Google Cloud 的强大计算资源则支持复杂的计算和托管。

最终将产生一个可扩展且适用性强的定价系统,能够根据最新的市场情报实时调整价格。此集成通过有效处理大型数据集和复杂的定价场景来提升运营效率。持续的模型再训练可保证始终保持准确性和市场竞争力。

动态定价微服务的架构集成了 MongoDB 和 Google Cloud Vertex AI,可实现实时数据处理和敏捷的定价调整。Google Cloud Pub/Sub 的核心功能是进行客户行为数据的摄取和分发,从而实现可扩展且高效的消息处理。然后,此类数据在 Vertex AI Notebooks 中进行清理和处理,其中会使用 TensorFlow 开发机器学习模型,以根据从历史数据中识别的模式预测最佳价格。

MongoDB Atlas 作为中央数据存储库和特征存储库,用于存储复杂的定价数据并支持机器学习模型。MongoDB 的文档模型提供了管理和动态更新定价数据所需的灵活性。Google Cloud Functions 会编排整个工作流程、处理客户事件、将事件转换为张量,并确保模型预测在 MongoDB Atlas 产品目录中实时更新。在架构图中,蓝色数据流展示了如何将客户事件数据摄入 Pub/Sub 主题,进而通过推送订阅触发云函数。此函数将原始事件转换为张量,并更新 MongoDB 产品目录中的预测价格。

这种架构方法允许隔离原始事件线程,从而能够开发各种服务,这些服务可以实时响应动态定价,或以异步方式运行以进行模型训练。通过保持组件之间的松散耦合,系统将保持弹性,并避免在某个部件出现问题时引发整体崩溃。发布者和订阅者可以继续独立处理其逻辑,确保系统强大且灵活,支持持续运营和无缝更新。

动态定价架构集成不同的 Google Cloud 组件和 MongoDB Atlas 作为功能存储库
点击放大

图1。动态定价架构,集成不同的 Google Cloud 组件和 MongoDB Atlas 作为功能存储

GitHub 存储库中,您将找到关于如何构建此解决方案的详细说明。

1
  • 请登录 MongoDB Atlas 并创建一个新的集群。

  • 选择最接近用户群的区域,以实现最佳性能。

  • 通过以下方式配置安全性:

    • 创建具有特定角色的数据库用户。

    • 启用 IP 访问以确保数据库连接的安全。

    • 使用 Atlas 提供的连接字符串连接到您的集群,以实现应用程序集成。

2
  • 登录 Google Cloud 控制台,为您的微服务创建一个新项目。

  • 确保为您的项目启用必要的 API

  • 安装并初始化 Google Cloud CLI。

    • 使用您的 Google Cloud 帐户进行身份验证。

    • 将您的项目设置为默认项目。

3
  • 克隆存储库并导航到 dynamicPricing 微服务目录。

  • 使用 pip 安装所需的 Python 包。

  • 为 MongoDB Atlas、Google Cloud 凭证和 Pub/Sub 设置环境变量。

  • 在 Google Cloud 中配置 Pub/Sub 主题。

  • 为 dynamicPricing 服务开发定价逻辑。

  • 使用 Vertex AI 来创建一个新的笔记本,以便连接到 MongoDB 并训练模型。

  • 通过清理数据、构建模型并进行训练,训练一个 TensorFlow 模型。

  • 将训练好的模型保存并上传到 Google Cloud 存储。

  • 在 Vertex AI 中注册模型以进行管理和部署。

4
  • 部署模型。

    • 在 Google Cloud 控制台中访问 Vertex AI 部分。

    • 定位并选择您要部署的模型。

    • 单击“部署和测试”标签页下的“部署到终结点”

    • 通过配置模型设置和监控来完成部署设置。

  • Retrieve Endpoint ID.

    • 转至 Vertex AI 中的“终结点”并记下终结点 ID,以便在云函数配置中使用。

  • 配置云函数。

    • 在 Google Cloud 中创建一个新的云函数。

    • 将函数的触发器设置为您创建的 Pub/Sub 主题。

    • 在函数中实现代码以预处理事件数据,调用 Vertex AI 模型进行预测,并使用结果更新 MongoDB。

  • 准备依赖项。

    • 确保 requirements.txt 文件包含云函数所需的所有库。

  • 模拟客户事件。

    • 使用提供的脚本生成合成客户行为数据。

    • 将此数据推送到 MongoDB 和 Pub/Sub,以测试模型和微服务集成。

  • 运行模拟。

    • 执行脚本以验证整个端到端系统。

添加张量可以实现事件驱动的架构,且所有功能都集中在一个集合内,这可以简化数据检索和处理,但可能会导致文档庞大且复杂,需要精心管理才能保持性能。借助这种灵活性,MongoDB 能够在同一集合中存储运营数据和特征存储库,便于集成数据分析和实时决策,但同时可能增加存储成本和数据管理的复杂性。

事件集合中的数据结构表示 MongoDB 白袜商品的模拟用户视图,包含价格信息
点击放大

图2。事件集合中的数据结构,用于表示对MongoDB白袜子的模拟用户视图,包括价格信息。

有关如何构建自己的动态微服务的更多详细信息,请参阅我们的博客文章《使用 Vertex AI 和 MongoDB Atlas 构建动态定价微服务》。

  • 集中式特征存储库:MongoDB 作为特征存储库,可充当专门用来存储、管理和提供机器学习 (ML) 模型特征的集中式存储库。利用其多态性功能,可以通过单一界面来表示多种类型的数据。这意味着,随着新特征的引入或定价模型的演变,MongoDB 可以在同一系统内熟练地管理多种数据类型。在动态定价环境中,此功能将无缝整合新的定价因素或变量,而不会对现有数据结构或操作造成干扰。

  • 可扩展性和效率: Google Cloud Pub/Sub 能够高效处理海量客户数据,确保现实应用程序的可扩展性。虽然此微服务仅模拟每三秒 25 个客户事件,但 Pub/Sub 能够处理更大规模的数据流。

  • 实时价格更新: 云函数会触发 TensorFlow 模型,以根据客户行为生成动态价格。然后,将生成的这些价格插入或更新(更新插入)回 MongoDB 的产品目录集合中。这样便可在电商应用程序中进行实时调整,因为应用程序的前端会直接从同一集合中检索数据。

  • Francesco Baldissera, MongoDB

  • Sebastian Rojas Arbulu, MongoDB

后退

启动 Agentic RAG 聊天机器人

在此页面上