<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: MongoDB Builders</title>
    <description>The latest articles on Forem by MongoDB Builders (@mongodb-builder).</description>
    <link>https://forem.com/mongodb-builder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F9319%2Fa4f58573-575a-42c8-8a49-167b09dafda3.png</url>
      <title>Forem: MongoDB Builders</title>
      <link>https://forem.com/mongodb-builder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mongodb-builder"/>
    <language>en</language>
    <item>
      <title>🌐 开始使用: 什么是MongoDB操作数据层? (第2部分) 🌐</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Wed, 21 Aug 2024 14:21:40 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/kai-shi-shi-yong-shi-yao-shi-mongodbcao-zuo-shu-ju-ceng-di-2bu-fen--24e4</link>
      <guid>https://forem.com/mongodb-builder/kai-shi-shi-yong-shi-yao-shi-mongodbcao-zuo-shu-ju-ceng-di-2bu-fen--24e4</guid>
      <description>&lt;p&gt;&lt;strong&gt;操作数据层数据加载:&lt;/strong&gt;&lt;br&gt;
✅ 数据必须与源系统同步&lt;br&gt;
✅ 适当的数据加载策略&lt;br&gt;
✅ 生产系统: 数据变化的频率和数量&lt;br&gt;
✅ 消费系统: 对数据时效性的明确要求&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第1步: 批量提取和加载:&lt;/strong&gt;&lt;br&gt;
📁 初始批量加载&lt;br&gt;
📁 将应用程序数据库数据复制到操作数据层&lt;br&gt;
📁 一次性从源系统加载数据&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第2步: 增量提取和加载:&lt;/strong&gt;&lt;br&gt;
🔄 紧跟初始批量加载之后立即开始&lt;br&gt;
🔄 实时同步&lt;br&gt;
🔄 从源系统增量更新到ODL&lt;br&gt;
🔄 使用变更数据捕获(CDC)&lt;br&gt;
🔄 捕获源系统的变更&lt;br&gt;
🔍 匹配、合并、校准数据&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;数据流和成熟度模型:&lt;/strong&gt;&lt;br&gt;
🏗️ 起步简单&lt;br&gt;
🌱 范围和战略重要性不断扩大&lt;br&gt;
🏆 为业务带来越来越多的收益&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第1阶段: 简单的ODL, 卸载读取:&lt;/strong&gt;&lt;br&gt;
💻 仅提供读取操作&lt;br&gt;
💰 降低成本&lt;br&gt;
🔒 高可用性: 在源系统宕机时接管&lt;br&gt;
⚡ 提高性能&lt;br&gt;
📊 处理长时间运行的分析查询&lt;br&gt;
📈 应对高峰读取量&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第2阶段: 功能丰富的ODL应用新场景:&lt;/strong&gt;&lt;br&gt;
🔍 建立单一的客户视图&lt;br&gt;
💳 例如: 信用卡交易数据细化为各类消费&lt;br&gt;
💰 分析每个消费类别(如旅行)的支出&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第3阶段: 卸载读写:&lt;/strong&gt;&lt;br&gt;
📥 同时降低延迟,并行引入新系统&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第4阶段: ODL优先:&lt;/strong&gt;&lt;br&gt;
✍️ 所有写入直接到操作数据层(ODL)&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;第5阶段: 系统的记录:&lt;/strong&gt;&lt;br&gt;
🗃️ 操作数据层成为系统的记录&lt;br&gt;
🏳️ 源系统可以退役以节省成本&lt;br&gt;
🏛️ 架构更加简单&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;MongoDB用于操作数据层:&lt;/strong&gt;&lt;br&gt;
🤗 便利性: MongoDB的文档模型易于管理数据&lt;br&gt;
🧩 灵活性: 将多个源系统集成到单一ODL, 无需预先定义模式&lt;br&gt;
⚡ 速度: 访问数据时性能更好&lt;br&gt;
🎨 多功能性: 凭借文档模型的灵活性满足各种应用需求&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;示例:&lt;/strong&gt;&lt;br&gt;
📁 嵌套数组和子文档&lt;br&gt;
📊 建模复杂关系和层次数据&lt;br&gt;
🗄️ 无需重写整个文档即可操作深层嵌套数据&lt;br&gt;
🗂️ 建模平面、类似表格的结构, 简单键值对, 文本&lt;br&gt;
🌍 地理空间数据&lt;br&gt;
🕸️ 图处理中使用的节点和边&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;处理管道:&lt;/strong&gt;&lt;br&gt;
🔍 查找和范围查询&lt;br&gt;
📊 数据分析&lt;br&gt;
🔨 转换&lt;br&gt;
🔍 分面搜索&lt;br&gt;
🌎 地理空间处理&lt;br&gt;
🕵️ 图遍历&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;智能分布(操作数据层)ODL:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;可用性:&lt;/strong&gt;&lt;br&gt;
💻 使用副本集保存多份数据副本&lt;br&gt;
🔄 故障转移和恢复完全自动化&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;可扩展性:&lt;/strong&gt;&lt;br&gt;
🆙 挑战: 新的源系统, 数据量增加, 新的消费系统, 负载增大&lt;br&gt;
🗄️ 大数据集&lt;br&gt;
⚡ 高吞吐量需求&lt;br&gt;
🧩 解决方案 - 分片:&lt;br&gt;
🤖 MongoDB提供低成本的水平扩展&lt;br&gt;
🔁 自动将数据分区并分布到多个物理实例&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;工作负载隔离:&lt;/strong&gt;&lt;br&gt;
🔍 操作数据层能够安全地服务于不同的工作负载&lt;br&gt;
🔍 在不影响生产应用的情况下, 对最新数据进行分析查询&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;数据本地化:&lt;/strong&gt;&lt;br&gt;
🌎 精确控制数据实际存储位置&lt;br&gt;
🗺️ 控制地理区域以满足延迟和管治要求&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🤖 Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer&lt;/a&gt;&lt;br&gt;
Implementing an Operational Data Layer&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture&lt;/a&gt;&lt;br&gt;
Mainframe Modernization Reference Architecture&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🌐 Get started: What is MongoDB operational data layer? (Part 2) 🌐</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Wed, 21 Aug 2024 14:19:54 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/get-started-what-is-mongodb-operational-data-layer-part-2-40f2</link>
      <guid>https://forem.com/mongodb-builder/get-started-what-is-mongodb-operational-data-layer-part-2-40f2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Operational Data Layer Data loading:&lt;/strong&gt;&lt;br&gt;
✅ Data must sync with source systems&lt;br&gt;
✅ Appropriate data loading strategy&lt;br&gt;
✅ Producer systems: frequency and quantity of data changes&lt;br&gt;
✅ Consuming systems: clear requirements for data currency&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Step 1: Batch extract and load:&lt;/strong&gt;&lt;br&gt;
📁 Initial batch load&lt;br&gt;
📁 Copy application database data to Operational Data Layer&lt;br&gt;
📁 One-time operation to load data from source systems&lt;/p&gt;

&lt;p&gt;&lt;br&gt;*&lt;em&gt;Step 2: Delta extract and load: *&lt;/em&gt;&lt;br&gt;
🔄 Starts immediately following initial batch load&lt;br&gt;
🔄 Real-time synchronization&lt;br&gt;
🔄 Incremental updates from source systems into the ODL&lt;br&gt;
🔄 Use Change Data Capture (CDC)&lt;br&gt;
🔄 Catch changes from source systems&lt;br&gt;
🔍 Matching, merging, reconciling data&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Data flow and maturity model:&lt;/strong&gt;&lt;br&gt;
🏗️ Simple start&lt;br&gt;
🌱 Grows in scope and strategic importance&lt;br&gt;
🏆 Delivering increased benefits to business&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Phase 1: Simple ODL, offloading reads:&lt;/strong&gt;&lt;br&gt;
💻 Serve only read operations&lt;br&gt;
💰 Cut costs&lt;br&gt;
🔒 High availability: takes over during source system downtime&lt;br&gt;
⚡ Improve performance&lt;br&gt;
📊 Handle long-running analytics queries&lt;br&gt;
📈 Handle high read traffic peak&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Phase 2: Enriched ODL for new use cases:&lt;/strong&gt;&lt;br&gt;
🔍 Create single customer view&lt;br&gt;
💳 Example: credit card transactions enriched by categorizing purchases&lt;br&gt;
💰 Determine their spend on each category (travel)&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Phase 3: Offloading reads and writes:&lt;/strong&gt;&lt;br&gt;
📥 Y-loading un both latency, new systems in parallel&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Phase 4: ODL first:&lt;/strong&gt;&lt;br&gt;
✍️ All writes are directed to Operational Data Layer (ODL)&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Phase 5: System of Record:&lt;/strong&gt;&lt;br&gt;
🗃️ Operational Data Layer serve as the System of Record&lt;br&gt;
🏳️ Source system can be decommissioned for cost savings&lt;br&gt;
🏛️ Architectural simplicity&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;MongoDB for Operational Data Layer:&lt;/strong&gt;&lt;br&gt;
🤗 Ease: MongoDB's document model easily manage data&lt;br&gt;
🧩 Flexibility: integrate multiple source systems into a single ODL, without pre-define schema&lt;br&gt;
⚡ Speed: better performance when accessing data&lt;br&gt;
🎨 Versatility: satisfy a range of application requirements by flexibility of document model&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
📁 Embedding of arrays and sub-documents&lt;br&gt;
📊 Modeling complex relationships and hierarchical data&lt;br&gt;
🗄️ Ability to manipulate deeply nested data without rewrite entire document&lt;br&gt;
🗂️ Model flat, table-like structures, simple key-value pairs, text&lt;br&gt;
🌍 Geospatial data&lt;br&gt;
🕸️ Nodes and edges used in graph processing&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Processing pipelines:&lt;/strong&gt;&lt;br&gt;
🔍 Lookups and range queries&lt;br&gt;
📊 Data analytics&lt;br&gt;
🔨 Transformations&lt;br&gt;
🔍 Faceted search&lt;br&gt;
🌎 Geospatial processing&lt;br&gt;
🕵️ Graph traversals&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Intelligently distribute (Operational Data Layer) ODL:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Availability:&lt;/strong&gt;&lt;br&gt;
💻 Multiple copies of data using replica sets&lt;br&gt;
🔄 Failover and recovery is fully automated&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Scalability:&lt;/strong&gt;&lt;br&gt;
🆙 Challenge: new source systems, adding data volume, new consuming systems, increasing workload&lt;br&gt;
🗄️ Large data sets&lt;br&gt;
⚡ High throughput requirements&lt;br&gt;
🧩 Solution - sharding: &lt;br&gt;
🤖 MongoDB provides horizontal scale-out on low-cost&lt;br&gt;
🔁 Automatically partitions and distributes data across multiple physical instances&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Workload isolation:&lt;/strong&gt;&lt;br&gt;
🔍 Operational Data Layer able to safely serve disparate workloads&lt;br&gt;
🔍 Analytical queries on up-to-date data without impact on production applications&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Data locality:&lt;/strong&gt;&lt;br&gt;
🌎 Allows precise control over where data is physically stored&lt;br&gt;
🗺️ Control geographic region for latency, governance requirements&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer&lt;/a&gt;&lt;br&gt;
Implementing an Operational Data Layer&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture&lt;/a&gt;&lt;br&gt;
Mainframe Modernization Reference Architecture&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>database</category>
      <category>data</category>
      <category>dataengineering</category>
      <category>mongodb</category>
    </item>
    <item>
      <title>🌐 开始使用: MongoDB Operational Data Layer 是什么? (第1部分)</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Wed, 21 Aug 2024 14:17:14 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/kai-shi-shi-yong-mongodb-operational-data-layer-shi-shi-yao-di-1bu-fen--1jme</link>
      <guid>https://forem.com/mongodb-builder/kai-shi-shi-yong-mongodb-operational-data-layer-shi-shi-yao-di-1bu-fen--1jme</guid>
      <description>&lt;p&gt;&lt;strong&gt;✨ 操作数据存储(层):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;与 Data Fabric、Operational Data Hub 相同&lt;/li&gt;
&lt;li&gt;现有数据源和消费者之间的一层&lt;/li&gt;
&lt;li&gt;无需替换遗留系统&lt;/li&gt;
&lt;li&gt;将来自多个系统的数据合并到单一枢纽&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔍 从不同系统收集数据集&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;提供数据的完整图景&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔥 特设分析工具&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;实时分析&lt;/li&gt;
&lt;li&gt;全面业务的分秒必争视角&lt;/li&gt;
&lt;li&gt;不干扰操作工作负载&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💡 示例:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;日常职责&lt;/li&gt;
&lt;li&gt;所需的服务级别协议 (SLA)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🏗️ 重建的基础&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;数字化转型的迭代方法&lt;/li&gt;
&lt;li&gt;与遗留和新系统并行&lt;/li&gt;
&lt;li&gt;遗留系统继续无中断运行&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🚀 遗留系统现代化:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;更快地构建新的业务功能&lt;/li&gt;
&lt;li&gt;扩展到数百万用户&lt;/li&gt;
&lt;li&gt;数据消费者访问操作数据层 (ODL)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💎 好处:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;访问整个数据集&lt;/li&gt;
&lt;li&gt;客户单一视图&lt;/li&gt;
&lt;li&gt;人工智能流程&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💻 数据即服务:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;操作数据层将所有重要数据聚集在一处&lt;/li&gt;
&lt;li&gt;应用程序和分析获得企业数据的全貌&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;☁️ 操作数据层的云部署:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;部署在同一云提供商&lt;/li&gt;
&lt;li&gt;与其使用系统相同的区域&lt;/li&gt;
&lt;li&gt;渐进式、无中断的云迁移方法&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔍 挑战:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;70 个不同系统分散在 15 个不同屏幕上&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔑 解决方案:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;单一视图&lt;/li&gt;
&lt;li&gt;仅使用一个屏幕访问所有信息&lt;/li&gt;
&lt;li&gt;实时表示&lt;/li&gt;
&lt;li&gt;360 度客户视图&lt;/li&gt;
&lt;li&gt;产品、金融资产、业务相关实体的单一视图&lt;/li&gt;
&lt;li&gt;来自多个源的数据&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🚀 更快的客户服务时间&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;分析客户数据以进行交叉销售和促销&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;📋 用例:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;客户服务代表&lt;/li&gt;
&lt;li&gt;欺诈和风险系统&lt;/li&gt;
&lt;li&gt;销售和营销人员&lt;/li&gt;
&lt;li&gt;定量分析师&lt;/li&gt;
&lt;li&gt;用户在线账户&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💪 主机卸载:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;单点故障&lt;/li&gt;
&lt;li&gt;需离线维护&lt;/li&gt;
&lt;li&gt;更轻松地将主机数据提供给新的数字渠道,而不会给遗留系统带来压力&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🤔 挑战:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;需要企业数据的完整视图&lt;/li&gt;
&lt;li&gt;数据仓库或 Hadoop 基础的分析&lt;/li&gt;
&lt;li&gt;无法满足当今对实时分析的需求&lt;/li&gt;
&lt;li&gt;每日或每周批量加载&lt;/li&gt;
&lt;li&gt;查询耗时长达数小时&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔍 解决方案:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;针对实时决策&lt;/li&gt;
&lt;li&gt;数据状态的分秒必争&lt;/li&gt;
&lt;li&gt;低延迟分析查询&lt;/li&gt;
&lt;li&gt;特设问题&lt;/li&gt;
&lt;li&gt;示例:

&lt;ul&gt;
&lt;li&gt;为客户提供推荐&lt;/li&gt;
&lt;li&gt;根据用户信息个性化内容&lt;/li&gt;
&lt;li&gt;在企业数据上使用机器学习提取新见解&lt;/li&gt;
&lt;li&gt;提高运营效率&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🚀 现代化:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;将现有数据暴露给新应用程序&lt;/li&gt;
&lt;li&gt;不会对遗留系统产生潜在影响&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💼 数据管理员:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;从应用程序数据库获取数据,然后存储到操作数据层&lt;/li&gt;
&lt;li&gt;使用 ETL (提取、转换、加载)、CDC (变更数据捕获)&lt;/li&gt;
&lt;li&gt;数据必须满足要求&lt;/li&gt;
&lt;li&gt;数据传输频率&lt;/li&gt;
&lt;li&gt;不影响当前生产和消费应用程序&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🤖 Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer&lt;/a&gt;&lt;br&gt;
Implementing an Operational Data Layer&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture&lt;/a&gt;&lt;br&gt;
Mainframe Modernization Reference Architecture&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>data</category>
      <category>database</category>
      <category>mongodb</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>🌐 Get started: What is MongoDB Operational Data Layer? (Part 1)</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Wed, 21 Aug 2024 14:14:31 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/get-started-what-is-mongodb-operational-data-layer-part-1-1h89</link>
      <guid>https://forem.com/mongodb-builder/get-started-what-is-mongodb-operational-data-layer-part-1-1h89</guid>
      <description>&lt;p&gt;&lt;strong&gt;✨ Operational Data Store (Layer):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same as Data Fabric, Operational Data Hub&lt;/li&gt;
&lt;li&gt;Layer between existing data sources and consumers&lt;/li&gt;
&lt;li&gt;Don't need to replace legacy systems&lt;/li&gt;
&lt;li&gt;Combine data from multiple systems into a single hub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔍 Collect data sets from different systems&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provide a complete picture of data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔥 Ad-hoc analytical tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time analytics&lt;/li&gt;
&lt;li&gt;Up-to-the-minute view of the whole business&lt;/li&gt;
&lt;li&gt;Without interfering with operational workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💡 Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day-to-day responsibilities&lt;/li&gt;
&lt;li&gt;Required Service Level Agreements (SLAs)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🏗️ Foundation for re-architecting&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Iterative approach to digital transformation&lt;/li&gt;
&lt;li&gt;Parallel to legacy and new systems&lt;/li&gt;
&lt;li&gt;Legacy system continue to work without interruption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🚀 Legacy Modernization:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build new business functions faster&lt;/li&gt;
&lt;li&gt;Scale to millions of users&lt;/li&gt;
&lt;li&gt;Data consumers access Operational Data Layer (ODL)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💎 Benefit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access entire data set&lt;/li&gt;
&lt;li&gt;Customer single view&lt;/li&gt;
&lt;li&gt;Artificial intelligence processes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💻 Data as a Service:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Operational Data Layer gathers all important data in one place&lt;/li&gt;
&lt;li&gt;Applications and analytics get the full picture of enterprise data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;☁️ Cloud of Operational Data Layer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deployed on the same cloud provider&lt;/li&gt;
&lt;li&gt;Same regions as its consuming systems&lt;/li&gt;
&lt;li&gt;Gradual, non-disruptive approach to cloud migration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔍 Challenge:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;70 different systems in 15 different screens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔑 Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single view&lt;/li&gt;
&lt;li&gt;Use only one screen to access all the information&lt;/li&gt;
&lt;li&gt;Real-time representation&lt;/li&gt;
&lt;li&gt;Customer 360&lt;/li&gt;
&lt;li&gt;Single views of products, financial assets, entities relevant for business&lt;/li&gt;
&lt;li&gt;Data from multiple sources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🚀 Faster customer call times&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze customer data for cross-sell and upsell opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;📋 Use Case:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer service representatives&lt;/li&gt;
&lt;li&gt;Fraud and risk systems&lt;/li&gt;
&lt;li&gt;Sales and marketing staff&lt;/li&gt;
&lt;li&gt;Quantitative analysts&lt;/li&gt;
&lt;li&gt;User online account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;💪 Mainframe Offload:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single point of failure&lt;/li&gt;
&lt;li&gt;Taken offline for maintenance&lt;/li&gt;
&lt;li&gt;Easier to serve mainframe data to new digital channels without straining legacy systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🤔 Challenge:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires a complete view of enterprise data&lt;/li&gt;
&lt;li&gt;Warehouse or a Hadoop-based analytics&lt;/li&gt;
&lt;li&gt;Can't meet today's demand for real-time analytics&lt;/li&gt;
&lt;li&gt;Loaded in daily or weekly batches&lt;/li&gt;
&lt;li&gt;Long-running queries taking hours&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🔍 Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For real-time decisions&lt;/li&gt;
&lt;li&gt;Up-to-the-minute state of data&lt;/li&gt;
&lt;li&gt;Low latency analytics queries&lt;/li&gt;
&lt;li&gt;Ad-hoc questions&lt;/li&gt;
&lt;li&gt;Example:

&lt;ul&gt;
&lt;li&gt;Recommendations for customers&lt;/li&gt;
&lt;li&gt;Personalizing content based on user info&lt;/li&gt;
&lt;li&gt;Machine learning on enterprise data to extract new insights&lt;/li&gt;
&lt;li&gt;Improve operational efficiency&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;🚀 Modernization:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exposing existing data to new applications&lt;/li&gt;
&lt;li&gt;Don't have potential impact to legacy systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;💼 Data Steward:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get data from application database then store to operational data layer&lt;/li&gt;
&lt;li&gt;Use ETL (Extract, transform, load), CDC (change data capture)&lt;/li&gt;
&lt;li&gt;Data must fulfill requirements&lt;/li&gt;
&lt;li&gt;Frequency of data transfer&lt;/li&gt;
&lt;li&gt;Without affecting current producing &amp;amp; consuming applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;🤖 Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer&lt;/a&gt;&lt;br&gt;
Implementing an Operational Data Layer&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture&lt;/a&gt;&lt;br&gt;
Mainframe Modernization Reference Architecture&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>database</category>
      <category>mongodb</category>
      <category>data</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>🚀 教程：通过 MongoDB 向量搜索财务 PDF 报告 (本地嵌入)</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Sun, 11 Aug 2024 08:55:28 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/jiao-cheng-tong-guo-mongodb-xiang-liang-sou-suo-ben-di-qian-ru-cai-wu-pdf-bao-gao-791</link>
      <guid>https://forem.com/mongodb-builder/jiao-cheng-tong-guo-mongodb-xiang-liang-sou-suo-ben-di-qian-ru-cai-wu-pdf-bao-gao-791</guid>
      <description>&lt;p&gt;步骤 1：创建数据库集群&lt;br&gt;
步骤 2：输入数据库集群信息&lt;br&gt;
步骤 3：等待集群部署&lt;br&gt;
步骤 4：添加网络访问白名单&lt;br&gt;
步骤 5：添加数据库访问用户&lt;br&gt;
步骤 6：连接到本地 Atlas 部署或 Atlas 集群&lt;br&gt;
步骤 7：从 PDF 中检索文本&lt;br&gt;
步骤 8：本地嵌入 PDF 文本然后插入 MongoDB&lt;br&gt;
步骤 9：检查集合文档记录&lt;br&gt;
步骤 10：创建向量搜索索引&lt;br&gt;
步骤 11：通过向量搜索索引查询&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 1：创建数据库集群&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyep65hl2t0whdoen11qr.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyep65hl2t0whdoen11qr.PNG" alt="Image description" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vbslz6n7dlqqrrb2nyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vbslz6n7dlqqrrb2nyn.png" alt="Image description" width="241" height="99"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 2：输入数据库集群信息&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8y7y4xeawgbcye54nweq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8y7y4xeawgbcye54nweq.PNG" alt="Image description" width="800" height="507"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi39se87i2rlyaznevdng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi39se87i2rlyaznevdng.png" alt="Image description" width="376" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklq266yb21qp8ltlgrbz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklq266yb21qp8ltlgrbz.png" alt="Image description" width="385" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23qnm2y3djcbodjqit67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23qnm2y3djcbodjqit67.png" alt="Image description" width="132" height="91"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm63bq1s15vjfni1edggd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm63bq1s15vjfni1edggd.png" alt="Image description" width="372" height="105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5gogam4jl8ce1oxx5ec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5gogam4jl8ce1oxx5ec.png" alt="Image description" width="175" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 3：等待集群部署&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdaz2zf69185pg2ni0h66.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdaz2zf69185pg2ni0h66.PNG" alt="Image description" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo29rxzc6qoiws6cgj2x9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo29rxzc6qoiws6cgj2x9.png" alt="Image description" width="576" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 4：添加网络访问白名单&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsmqolpjp48dt8tp3lym.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsmqolpjp48dt8tp3lym.png" alt="Image description" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wie9oadsnvlqjelchgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wie9oadsnvlqjelchgg.png" alt="Image description" width="216" height="254"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwga52k3yfa1enpbfdyng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwga52k3yfa1enpbfdyng.png" alt="Image description" width="585" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvpzngx1fvx9q6kj9412.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvpzngx1fvx9q6kj9412.png" alt="Image description" width="214" height="56"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bq19k4fecrq5virvong.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bq19k4fecrq5virvong.png" alt="Image description" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp957ubfa5hsbvqgsgjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp957ubfa5hsbvqgsgjh.png" alt="Image description" width="308" height="69"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnzgsl7zwnfbf69qsf2w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnzgsl7zwnfbf69qsf2w.png" alt="Image description" width="800" height="79"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 5：添加数据库访问用户&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F192basmna86hc3dv4xhc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F192basmna86hc3dv4xhc.PNG" alt="Image description" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mrj21vsiiitwjnwpox1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mrj21vsiiitwjnwpox1.png" alt="Image description" width="229" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvdi0mq3flkgnbcsviw64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvdi0mq3flkgnbcsviw64.png" alt="Image description" width="295" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlvnlpiqnfyx4v8eaytp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlvnlpiqnfyx4v8eaytp.PNG" alt="Image description" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33f4t2lmgkgr8vx9yovu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33f4t2lmgkgr8vx9yovu.png" alt="Image description" width="325" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgch460o8tu1o6p5yx2vj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgch460o8tu1o6p5yx2vj.png" alt="Image description" width="800" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 6：连接到本地 Atlas 部署或 Atlas 集群&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8vhbw2x2skpiycop9cz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8vhbw2x2skpiycop9cz.PNG" alt="Image description" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kc5yplslzi98p403ai6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kc5yplslzi98p403ai6.png" alt="Image description" width="128" height="70"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34k0342h7o7396cuuhcq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34k0342h7o7396cuuhcq.png" alt="Image description" width="767" height="130"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk5ccuu7sa5j8jki7iot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk5ccuu7sa5j8jki7iot.png" alt="Image description" width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojt8osuvdechh3rhcgpx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojt8osuvdechh3rhcgpx.png" alt="Image description" width="461" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F067g8bengmtox83c27hu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F067g8bengmtox83c27hu.png" alt="Image description" width="800" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 7：从 PDF 中检索文本&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6fi1cny25zor059j3cq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6fi1cny25zor059j3cq.png" alt="Image description" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnif1ecdkbupu9lrp0tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnif1ecdkbupu9lrp0tg.png" alt="Image description" width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 8：本地嵌入 PDF 文本然后插入 MongoDB&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install sentence-transformers==2.7.0
pip install pymongo==4.7.2
pip install langchain==0.2.6
pip install langchain-mongodb==0.1.5
pip install pandas==2.2.0
pip install langchain-openai==0.1.20
pip install langchain-chroma==0.1.0
pip install langchain-core==0.2.26
pip install langchain-huggingface==0.0.3
pip install langchain-mongodb==0.1.4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pymongo&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoClient&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_huggingface&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HuggingFaceEmbeddings&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get documents&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;
&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./txt_final/payment.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Split txt into documents by page&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;splits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;www.iresearch.com.cn&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get model then embedding&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;HuggingFaceEmbeddings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;BAAI/bge-large-zh-v1.5&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Connect to your local Atlas deployment or Atlas Cluster&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;mongo_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mongodb+srv://&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@internal-knowledge-base.xxxxx.mongodb.net/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mongo_client&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;internal-knowledge-base&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;papers&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;split&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;splits&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;embedding&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;embed_query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;insert_one&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;text_embedding&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;summary&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;split&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 9：检查集合文档记录&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftec06h7uoq58jlzbhved.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftec06h7uoq58jlzbhved.png" alt="Image description" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uu18wkfkdjla709z1hw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uu18wkfkdjla709z1hw.png" alt="Image description" width="219" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbj4gtnwtfiw3f4fgk1h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbj4gtnwtfiw3f4fgk1h.png" alt="Image description" width="669" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb9rp7wxil2s3xzpb0ea.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb9rp7wxil2s3xzpb0ea.png" alt="Image description" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PDF page 3 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8acpish6detszsxk2k2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8acpish6detszsxk2k2.png" alt="Image description" width="800" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PDF page 4&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsalidu5ikk06d61qn38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsalidu5ikk06d61qn38.png" alt="Image description" width="800" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data structure&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"66b79fd22e6781dc9195820fL"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"text_embedding"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.019098538905382156&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;-0.0010181389516219497&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"summary"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Diversified development paths for third-party payment platforms Third-party payment platforms integrate into every detail of consumer life through lightweight reach...."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 10：创建向量搜索索引&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwe4iw6bqn6gp1nbb0qz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwe4iw6bqn6gp1nbb0qz.png" alt="Image description" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76k6itde4touyufxj0d7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76k6itde4touyufxj0d7.png" alt="Image description" width="800" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftaj8qthpb7bz29kdzhbb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftaj8qthpb7bz29kdzhbb.png" alt="Image description" width="202" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F255syw9vwraxc43hw71f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F255syw9vwraxc43hw71f.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dxx954unfnqthnyliq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dxx954unfnqthnyliq7.png" alt="Image description" width="800" height="422"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"fields"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"vector"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"text_embedding"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"numDimensions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"similarity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cosine"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foz1safaelvtbe05dkvnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foz1safaelvtbe05dkvnp.png" alt="Image description" width="800" height="173"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;步骤 11：通过向量搜索索引查询&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pymongo&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoClient&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_huggingface&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HuggingFaceEmbeddings&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_mongodb&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoDBAtlasVectorSearch&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pprint&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Connect to your local Atlas deployment or Atlas Cluster&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;mongo_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mongodb+srv://&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@internal-knowledge-base.xxxxx.mongodb.net/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mongo_client&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;internal-knowledge-base&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;papers&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;HuggingFaceEmbeddings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;BAAI/bge-large-zh-v1.5&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;vector_store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoDBAtlasVectorSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;vector_index&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;embedding_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text_embedding&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;text_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;summary&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;蚂蚁集团&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;# payment
&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vector_store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;similarity_search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pprint&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pprint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result:&lt;br&gt;
English version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
    Document(metadata={'_id': {'$oid': '66b79fdc2e6781dc91958211'}}, page_content='Ant Group-Alipay Ecological Foundation}
    Document(metadata={'_id': {'$oid': '66b79fcd2e6781dc9195820e'}}, page_content='The competitive landscape of independent third-party payment platforms has formed, led by Alipay"}
    Document(metadata={'_id': {'$oid': '66b79fc32e6781dc9195820c'}}, page_content='Aikan Series Monthly Inventory of Tourism Activity in Scenic Areas"}
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Chinese version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
    Document(metadata={'_id': {'$oid': '66b79fdc2e6781dc91958211'}}, page_content='蚂蚁集团—支付宝生态筑基"}
    Document(metadata={'_id': {'$oid': '66b79fcd2e6781dc9195820e'}}, page_content='独立第三方支付平台竞争格局形成以支付宝为首"}
    Document(metadata={'_id': {'$oid': '66b79fc32e6781dc9195820c'}}, page_content='-艾瞰系列-景区旅游活跃度盘点月报"}
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/" rel="noopener noreferrer"&gt;https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/&lt;/a&gt;&lt;br&gt;
Build a PDF ingestion and Question/Answering system&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/docs/atlas/atlas-vector-search/create-embeddings/" rel="noopener noreferrer"&gt;https://www.mongodb.com/docs/atlas/atlas-vector-search/create-embeddings/&lt;/a&gt;&lt;br&gt;
How to Create Vector Embeddings&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/local-rag/#std-label-local-rag" rel="noopener noreferrer"&gt;https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/local-rag/#std-label-local-rag&lt;/a&gt;&lt;br&gt;
Build a Local RAG Implementation with Atlas Vector Search&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/docs/atlas/atlas-vector-search/ai-integrations/langchain/#std-label-langchain" rel="noopener noreferrer"&gt;https://www.mongodb.com/docs/atlas/atlas-vector-search/ai-integrations/langchain/#std-label-langchain&lt;/a&gt;&lt;br&gt;
Get Started with the LangChain Integration&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.llamaindex.ai/en/stable/examples/embeddings/huggingface/" rel="noopener noreferrer"&gt;https://docs.llamaindex.ai/en/stable/examples/embeddings/huggingface/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Local Embeddings with HuggingFace  &lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>vectordatabase</category>
    </item>
    <item>
      <title>🚀 Tutorial: local embedding financial PDF reports by MongoDB vector search</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Sun, 11 Aug 2024 00:45:40 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/tutorial-local-embedding-financial-reports-for-internal-search-3ohb</link>
      <guid>https://forem.com/mongodb-builder/tutorial-local-embedding-financial-reports-for-internal-search-3ohb</guid>
      <description>&lt;p&gt;Step 1: Create database clusters&lt;br&gt;
Step 2: Input database clusters information&lt;br&gt;
Step 3: Waiting clusters deploy&lt;br&gt;
Step 4: Add network access whitelist&lt;br&gt;
Step 5: Add database access user&lt;br&gt;
Step 6: Connect to your local Atlas deployment or Atlas Cluster&lt;br&gt;
Step 7: retrieve text from PDF&lt;br&gt;
Step 8: local embedding PDF text then insert MongoDB&lt;br&gt;
Step 9: check collections document record&lt;br&gt;
Step 10: Create vector search index&lt;br&gt;
Step 11: query by vector search index&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 1: Create database clusters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyep65hl2t0whdoen11qr.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyep65hl2t0whdoen11qr.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vbslz6n7dlqqrrb2nyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vbslz6n7dlqqrrb2nyn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 2: Input database clusters information&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8y7y4xeawgbcye54nweq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8y7y4xeawgbcye54nweq.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi39se87i2rlyaznevdng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi39se87i2rlyaznevdng.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklq266yb21qp8ltlgrbz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklq266yb21qp8ltlgrbz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23qnm2y3djcbodjqit67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23qnm2y3djcbodjqit67.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm63bq1s15vjfni1edggd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm63bq1s15vjfni1edggd.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5gogam4jl8ce1oxx5ec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5gogam4jl8ce1oxx5ec.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 3: Waiting clusters deploy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdaz2zf69185pg2ni0h66.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdaz2zf69185pg2ni0h66.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo29rxzc6qoiws6cgj2x9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo29rxzc6qoiws6cgj2x9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 4: Add network access whitelist&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsmqolpjp48dt8tp3lym.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsmqolpjp48dt8tp3lym.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wie9oadsnvlqjelchgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wie9oadsnvlqjelchgg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwga52k3yfa1enpbfdyng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwga52k3yfa1enpbfdyng.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvpzngx1fvx9q6kj9412.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvpzngx1fvx9q6kj9412.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bq19k4fecrq5virvong.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bq19k4fecrq5virvong.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp957ubfa5hsbvqgsgjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp957ubfa5hsbvqgsgjh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnzgsl7zwnfbf69qsf2w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnzgsl7zwnfbf69qsf2w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 5: Add database access user&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F192basmna86hc3dv4xhc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F192basmna86hc3dv4xhc.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mrj21vsiiitwjnwpox1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mrj21vsiiitwjnwpox1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvdi0mq3flkgnbcsviw64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvdi0mq3flkgnbcsviw64.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlvnlpiqnfyx4v8eaytp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlvnlpiqnfyx4v8eaytp.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33f4t2lmgkgr8vx9yovu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33f4t2lmgkgr8vx9yovu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgch460o8tu1o6p5yx2vj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgch460o8tu1o6p5yx2vj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 6: Connect to your local Atlas deployment or Atlas Cluster&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8vhbw2x2skpiycop9cz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8vhbw2x2skpiycop9cz.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kc5yplslzi98p403ai6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kc5yplslzi98p403ai6.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34k0342h7o7396cuuhcq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34k0342h7o7396cuuhcq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk5ccuu7sa5j8jki7iot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk5ccuu7sa5j8jki7iot.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojt8osuvdechh3rhcgpx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojt8osuvdechh3rhcgpx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F067g8bengmtox83c27hu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F067g8bengmtox83c27hu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 7: retrieve text from PDF&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6fi1cny25zor059j3cq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6fi1cny25zor059j3cq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnif1ecdkbupu9lrp0tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnif1ecdkbupu9lrp0tg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 8: local embedding PDF text then insert MongoDB&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

pip install sentence-transformers==2.7.0
pip install pymongo==4.7.2
pip install langchain==0.2.6
pip install langchain-mongodb==0.1.5
pip install pandas==2.2.0
pip install langchain-openai==0.1.20
pip install langchain-chroma==0.1.0
pip install langchain-core==0.2.26
pip install langchain-huggingface==0.0.3
pip install langchain-mongodb==0.1.4


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pymongo&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoClient&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_huggingface&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HuggingFaceEmbeddings&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get documents&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;
&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./txt_final/payment.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Split txt into documents by page&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;splits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;www.iresearch.com.cn&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get model then embedding&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;HuggingFaceEmbeddings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;BAAI/bge-large-zh-v1.5&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Connect to your local Atlas deployment or Atlas Cluster&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;mongo_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mongodb+srv://&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@internal-knowledge-base.xxxxx.mongodb.net/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mongo_client&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;internal-knowledge-base&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;papers&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;split&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;splits&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;embedding&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;embed_query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;insert_one&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;text_embedding&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;summary&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;split&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 9: check collections document record&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftec06h7uoq58jlzbhved.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftec06h7uoq58jlzbhved.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uu18wkfkdjla709z1hw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uu18wkfkdjla709z1hw.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbj4gtnwtfiw3f4fgk1h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbj4gtnwtfiw3f4fgk1h.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb9rp7wxil2s3xzpb0ea.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb9rp7wxil2s3xzpb0ea.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PDF page 3 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8acpish6detszsxk2k2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8acpish6detszsxk2k2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PDF page 4&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsalidu5ikk06d61qn38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsalidu5ikk06d61qn38.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data structure&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"66b79fd22e6781dc9195820fL"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"text_embedding"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.019098538905382156&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;-0.0010181389516219497&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"summary"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Diversified development paths for third-party payment platforms Third-party payment platforms integrate into every detail of consumer life through lightweight reach...."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 10: Create vector search index&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwe4iw6bqn6gp1nbb0qz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwe4iw6bqn6gp1nbb0qz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76k6itde4touyufxj0d7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76k6itde4touyufxj0d7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftaj8qthpb7bz29kdzhbb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftaj8qthpb7bz29kdzhbb.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F255syw9vwraxc43hw71f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F255syw9vwraxc43hw71f.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dxx954unfnqthnyliq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dxx954unfnqthnyliq7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"fields"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"vector"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"text_embedding"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"numDimensions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"similarity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cosine"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foz1safaelvtbe05dkvnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foz1safaelvtbe05dkvnp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 11: query by vector search index&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pymongo&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoClient&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_huggingface&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HuggingFaceEmbeddings&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_mongodb&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoDBAtlasVectorSearch&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pprint&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Connect to your local Atlas deployment or Atlas Cluster&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;mongo_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mongodb+srv://&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@internal-knowledge-base.xxxxx.mongodb.net/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mongo_client&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;internal-knowledge-base&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;papers&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;HuggingFaceEmbeddings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;BAAI/bge-large-zh-v1.5&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;vector_store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoDBAtlasVectorSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;vector_index&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;embedding_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text_embedding&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="n"&gt;text_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;summary&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;蚂蚁集团&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;# payment
&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vector_store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;similarity_search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pprint&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pprint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Result:&lt;br&gt;
English version&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[
    Document(metadata={'_id': {'$oid': '66b79fdc2e6781dc91958211'}}, page_content='Ant Group-Alipay Ecological Foundation}
    Document(metadata={'_id': {'$oid': '66b79fcd2e6781dc9195820e'}}, page_content='The competitive landscape of independent third-party payment platforms has formed, led by Alipay"}
    Document(metadata={'_id': {'$oid': '66b79fc32e6781dc9195820c'}}, page_content='Aikan Series Monthly Inventory of Tourism Activity in Scenic Areas"}
]


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Chinese version&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[
    Document(metadata={'_id': {'$oid': '66b79fdc2e6781dc91958211'}}, page_content='蚂蚁集团—支付宝生态筑基"}
    Document(metadata={'_id': {'$oid': '66b79fcd2e6781dc9195820e'}}, page_content='独立第三方支付平台竞争格局形成以支付宝为首"}
    Document(metadata={'_id': {'$oid': '66b79fc32e6781dc9195820c'}}, page_content='-艾瞰系列-景区旅游活跃度盘点月报"}
]


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/" rel="noopener noreferrer"&gt;https://python.langchain.com/v0.2/docs/tutorials/pdf_qa/&lt;/a&gt;&lt;br&gt;
Build a PDF ingestion and Question/Answering system&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/docs/atlas/atlas-vector-search/create-embeddings/" rel="noopener noreferrer"&gt;https://www.mongodb.com/docs/atlas/atlas-vector-search/create-embeddings/&lt;/a&gt;&lt;br&gt;
How to Create Vector Embeddings&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/local-rag/#std-label-local-rag" rel="noopener noreferrer"&gt;https://www.mongodb.com/docs/atlas/atlas-vector-search/tutorials/local-rag/#std-label-local-rag&lt;/a&gt;&lt;br&gt;
Build a Local RAG Implementation with Atlas Vector Search&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/docs/atlas/atlas-vector-search/ai-integrations/langchain/#std-label-langchain" rel="noopener noreferrer"&gt;https://www.mongodb.com/docs/atlas/atlas-vector-search/ai-integrations/langchain/#std-label-langchain&lt;/a&gt;&lt;br&gt;
Get Started with the LangChain Integration&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.llamaindex.ai/en/stable/examples/embeddings/huggingface/" rel="noopener noreferrer"&gt;https://docs.llamaindex.ai/en/stable/examples/embeddings/huggingface/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Local Embeddings with HuggingFace  &lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>vectordatabase</category>
    </item>
    <item>
      <title>🌐 MongoDB在金融行业: 向量搜索和ACID事务 💰</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Sat, 10 Aug 2024 13:45:39 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/mongodbzai-jin-rong-xing-ye-xiang-liang-sou-suo-he-acidshi-wu-4mdk</link>
      <guid>https://forem.com/mongodb-builder/mongodbzai-jin-rong-xing-ye-xiang-liang-sou-suo-he-acidshi-wu-4mdk</guid>
      <description>&lt;p&gt;&lt;strong&gt;主题1: MongoDB向量搜索的应用场景&lt;/strong&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;🏦 Kronos Research (台北)&lt;/li&gt;
&lt;li&gt;💳 交易数十亿美元的加密货币&lt;/li&gt;
&lt;li&gt;📊 分析和改进算法模型&lt;/li&gt;
&lt;li&gt;🚀 高频加密货币交易 (HFT) 的量化研究&lt;/li&gt;
&lt;li&gt;🤖 执行每秒大量订单的计算机程序&lt;/li&gt;
&lt;li&gt;🌍 分析多个市场并执行订单&lt;/li&gt;
&lt;li&gt;🔗 衍生品交易&lt;/li&gt;
&lt;li&gt;🤖 使用大量专有市场数据训练的机器学习/AI模型&lt;/li&gt;
&lt;li&gt;🔍 识别有利可图且可重复的市场现象&lt;/li&gt;
&lt;li&gt;🛡️ 广泛的操作套件来控制风险并防止交易错误&lt;/li&gt;
&lt;li&gt;🔬 即使在严重动荡的市场中也能确保正确的行为&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;预测智能: 🔮&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏢 尽可能靠近实际交易所的数据中心来限制延迟&lt;/li&gt;
&lt;li&gt;🌩️ 加密货币交易所天生就在云端,允许高频交易员在物理上靠近交易所&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;数据格式的灵活性: 📂&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🗃️ 数据并非结构化严格,如市场数据(买一/卖一价格、成交)&lt;/li&gt;
&lt;li&gt;🤖 机器人可能有20个配置或键值对,而其他只有6个&lt;/li&gt;
&lt;li&gt;💾 高效存储数据,分析配置如何随时间变化,以及数据如何更新和选择&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Atlas数据联合: 📊&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📊 图表:数据可视化,易于创建和共享&lt;/li&gt;
&lt;li&gt;🔍 针对特定策略和仿真结果&lt;/li&gt;
&lt;li&gt;🔍 可视化不同关系&lt;/li&gt;
&lt;li&gt;🔍 调整交易机器人的参数&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;亮点: 💡&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;'🤔 在给定的某一天,不同配置的盈亏分布是什么样的?'&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;主题2: MongoDB与机器学习&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;MongoDB机器学习功能: 📊&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 处理数据分析、可扩展性和分布式处理&lt;/li&gt;
&lt;li&gt;⚡️ 通过提供实时洞见来加速洞察&lt;/li&gt;
&lt;li&gt;🗃️ 管理从摄取到事务再到退役的数据生命周期&lt;/li&gt;
&lt;li&gt;🚫 消除数据重复&lt;/li&gt;
&lt;li&gt;⏱️ 针对实时处理进行优化&lt;/li&gt;
&lt;li&gt;🔍 灵活的模型部署和模型监控(漂移检测)&lt;/li&gt;
&lt;li&gt;🐍 集成的Python环境&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;MongoDB机器学习应用场景: 🚀&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚫 欺诈预防&lt;/li&gt;
&lt;li&gt;🔧 预测性维护 - 预测和防止故障的模式&lt;/li&gt;
&lt;li&gt;🎯 实时推荐引擎&lt;/li&gt;
&lt;li&gt;🏭 流程优化 - 最小化成本&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;MongoDB中的ACID兼容事务: 💹&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;解决的挑战:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;🔍 跨系统检索实时和归档数据,并合并结果 - 对开发人员来说是一个痛苦。&lt;/li&gt;
&lt;li&gt;🔒 在不同方之间维护事务数据完整性,需要对多文档事务进行全有或全无的执行。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;ACID兼容示例:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💳 银行 - 在账户、支付处理、交易平台之间转账,更新"系统记录"和实时仪表板。&lt;/li&gt;
&lt;li&gt;🏥 医疗保健 - 确保患者记录准确更新且最新,防止数据异常。&lt;/li&gt;
&lt;li&gt;🏪 库存管理 - 订单是原子性的,支付交易安全且准确,更新可用库存。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;节省成本的功能: 💰&lt;/strong&gt;&lt;br&gt;
在线归档:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🗂️ 在保持数据可访问性的同时优化成本&lt;/li&gt;
&lt;li&gt;📂 自定义规则,将不常访问的数据自动归档到云对象存储&lt;/li&gt;
&lt;li&gt;🔍 保留通过单一端点查询归档数据的能力&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/products/capabilities/transactions" rel="noopener noreferrer"&gt;https://www.mongodb.com/products/capabilities/transactions&lt;/a&gt;&lt;br&gt;
ACID Transactions with MongoDB&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/blog/post/simplifying-data-science-iguazio-mongodb" rel="noopener noreferrer"&gt;https://www.mongodb.com/blog/post/simplifying-data-science-iguazio-mongodb&lt;/a&gt;&lt;br&gt;
IoT &amp;amp; IIoT — generating insights to identify patterns&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/solutions/customer-case-studies/kronos" rel="noopener noreferrer"&gt;https://www.mongodb.com/solutions/customer-case-studies/kronos&lt;/a&gt;&lt;br&gt;
MongoDB Atlas Charts Enables Kronos to Trade Billions on Crypto Markets Every Day&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/products/platform/atlas-online-archive" rel="noopener noreferrer"&gt;https://www.mongodb.com/products/platform/atlas-online-archive&lt;/a&gt;&lt;br&gt;
Online Archive. Tier your MongoDB Atlas data, query it in place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/library/vector-search/vector-search-quick-start?lb-mode=overlay" rel="noopener noreferrer"&gt;https://www.mongodb.com/library/vector-search/vector-search-quick-start?lb-mode=overlay&lt;/a&gt;&lt;br&gt;
Atlas Vector Search Quick Start&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/developer/products/atlas/agent-fireworksai-mongodb-langchain/" rel="noopener noreferrer"&gt;https://www.mongodb.com/developer/products/atlas/agent-fireworksai-mongodb-langchain/&lt;/a&gt;&lt;br&gt;
Building an AI Agent With Memory Using MongoDB, Fireworks AI, and LangChain&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/developer/products/mongodb/langchain-vector-search/" rel="noopener noreferrer"&gt;https://www.mongodb.com/developer/products/mongodb/langchain-vector-search/&lt;/a&gt;&lt;br&gt;
Introduction to LangChain and MongoDB Atlas Vector Search&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>nosql</category>
      <category>vectordatabase</category>
      <category>security</category>
    </item>
    <item>
      <title>🌐 MongoDB in the Financial Industry: Vector Search and ACID-Compliant Transactions 💰</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Sat, 10 Aug 2024 13:43:53 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/mongodb-in-the-financial-industry-vector-search-and-acid-compliant-transactions-4nj</link>
      <guid>https://forem.com/mongodb-builder/mongodb-in-the-financial-industry-vector-search-and-acid-compliant-transactions-4nj</guid>
      <description>&lt;p&gt;&lt;strong&gt;Topic 1: MongoDB Vector Search Use Cases&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;- 🏦 Kronos Research (Taipei)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💳 Trades billions of dollars in cryptocurrency&lt;/li&gt;
&lt;li&gt;📊 Analyzes and improves algorithmic models&lt;/li&gt;
&lt;li&gt;🚀 Quantitative research for high-frequency cryptocurrency trading (HFT)&lt;/li&gt;
&lt;li&gt;🤖 Computer programs to transact high volumes of orders in seconds&lt;/li&gt;
&lt;li&gt;🌍 Analyzes multiple markets and executes orders&lt;/li&gt;
&lt;li&gt;🔗 Derivatives trading&lt;/li&gt;
&lt;li&gt;🤖 Machine learning/AI models trained on large volumes of proprietary market data&lt;/li&gt;
&lt;li&gt;🔍 Identifies profitable and repeatable market phenomena&lt;/li&gt;
&lt;li&gt;🛡️ Extensive operations suite to control risk and prevent trading errors&lt;/li&gt;
&lt;li&gt;🔬 Ensures correct behavior even during severe market turbulence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Prediction Intelligence: 🔮&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏢 Data centers as close as possible to actual exchanges to limit latency&lt;/li&gt;
&lt;li&gt;🌩️ Crypto exchanges are natively in the cloud, allowing high-frequency traders to be physically located close to the exchanges&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Data Format Flexibility: 📂&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🗃️ Data are not structurally rigid, like market data (bid and ask prices, trades)&lt;/li&gt;
&lt;li&gt;🤖 Bots might have 20 configurations or key-value pairs, while others have only 6&lt;/li&gt;
&lt;li&gt;💾 Efficiently store data and analyze how configurations change over time, and how data is updated and selected&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Atlas Data Federation: 📊&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📊 Charts: Data visualization, easy to create and share&lt;/li&gt;
&lt;li&gt;🔍 For specific strategies and simulation results&lt;/li&gt;
&lt;li&gt;🔍 Visualize the different relationships&lt;/li&gt;
&lt;li&gt;🔍 Adjust the dials for trading bots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Highlight: 💡&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;'🤔 On a given day, what's the distribution of profit and loss results across the different configurations?'&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Topic 2: MongoDB and Machine Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;MongoDB Machine Learning Capabilities: 📊&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 Handles data analytics, scalability, and distributed processing&lt;/li&gt;
&lt;li&gt;⚡️ Accelerates insights by delivering real-time intelligence&lt;/li&gt;
&lt;li&gt;🗃️ Manages the data lifecycle from ingestion to transactions to retirement&lt;/li&gt;
&lt;li&gt;🚫 Eliminates data duplication&lt;/li&gt;
&lt;li&gt;⏱️ Optimized for real-time processing&lt;/li&gt;
&lt;li&gt;🔍 Flexible model deployment and model monitoring (drift detection)&lt;/li&gt;
&lt;li&gt;🐍 Integrated Python environment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;MongoDB Machine Learning Use Cases: 🚀&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚫 Fraud prevention&lt;/li&gt;
&lt;li&gt;🔧 Predictive maintenance - patterns to predict and prevent failures&lt;/li&gt;
&lt;li&gt;🎯 Real-time recommendation engines&lt;/li&gt;
&lt;li&gt;🏭 Process optimization - minimizing costs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;ACID-Compliant Transactions in MongoDB: 💹&lt;/strong&gt;&lt;br&gt;
Challenges Solved:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;🔍 Separate queries to retrieve live and archival data across systems, and merging the results - a pain for developers.&lt;/li&gt;
&lt;li&gt;🔒 Maintaining transactional data integrity between different parties, requiring all-or-nothing execution for multi-document transactions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;ACID-Compliant Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💳 Bank - Transfer of funds between accounts, payment processing, trading platforms, updating the "System of Record" and real-time dashboards.&lt;/li&gt;
&lt;li&gt;🏥 Healthcare - Ensuring patient records are updated accurately and up-to-date, preventing data anomalies.&lt;/li&gt;
&lt;li&gt;🏪 Inventory Management - Orders are atomic, payment transactions are secure and accurate, updating available inventory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Cost-Saving Feature: 💰&lt;/strong&gt;&lt;br&gt;
Online Archive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🗂️ Optimize costs while keeping data accessible&lt;/li&gt;
&lt;li&gt;📂 Custom rules to automatically archive infrequently accessed data to cloud object storage&lt;/li&gt;
&lt;li&gt;🔍 Retain the ability to query archived data through a single endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/products/capabilities/transactions" rel="noopener noreferrer"&gt;https://www.mongodb.com/products/capabilities/transactions&lt;/a&gt;&lt;br&gt;
ACID Transactions with MongoDB&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/blog/post/simplifying-data-science-iguazio-mongodb" rel="noopener noreferrer"&gt;https://www.mongodb.com/blog/post/simplifying-data-science-iguazio-mongodb&lt;/a&gt;&lt;br&gt;
IoT &amp;amp; IIoT — generating insights to identify patterns&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/solutions/customer-case-studies/kronos" rel="noopener noreferrer"&gt;https://www.mongodb.com/solutions/customer-case-studies/kronos&lt;/a&gt;&lt;br&gt;
MongoDB Atlas Charts Enables Kronos to Trade Billions on Crypto Markets Every Day&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/products/platform/atlas-online-archive" rel="noopener noreferrer"&gt;https://www.mongodb.com/products/platform/atlas-online-archive&lt;/a&gt;&lt;br&gt;
Online Archive. Tier your MongoDB Atlas data, query it in place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/library/vector-search/vector-search-quick-start?lb-mode=overlay" rel="noopener noreferrer"&gt;https://www.mongodb.com/library/vector-search/vector-search-quick-start?lb-mode=overlay&lt;/a&gt;&lt;br&gt;
Atlas Vector Search Quick Start&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/developer/products/atlas/agent-fireworksai-mongodb-langchain/" rel="noopener noreferrer"&gt;https://www.mongodb.com/developer/products/atlas/agent-fireworksai-mongodb-langchain/&lt;/a&gt;&lt;br&gt;
Building an AI Agent With Memory Using MongoDB, Fireworks AI, and LangChain&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/developer/products/mongodb/langchain-vector-search/" rel="noopener noreferrer"&gt;https://www.mongodb.com/developer/products/mongodb/langchain-vector-search/&lt;/a&gt;&lt;br&gt;
Introduction to LangChain and MongoDB Atlas Vector Search&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>nosql</category>
      <category>vectordatabase</category>
      <category>security</category>
    </item>
    <item>
      <title>🔒 应用技巧: MongoDB安全、合规性与零信任 🔑</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Sat, 10 Aug 2024 13:41:08 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/ying-yong-ji-qiao-mongodban-quan-he-gui-xing-yu-ling-xin-ren-3f9f</link>
      <guid>https://forem.com/mongodb-builder/ying-yong-ji-qiao-mongodban-quan-he-gui-xing-yu-ling-xin-ren-3f9f</guid>
      <description>&lt;p&gt;&lt;strong&gt;主题1: 监管合规性 💼&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚨 检测欺诈、风险管理和客户身份验证 (KYC)&lt;/li&gt;
&lt;li&gt;🛡️ 制裁机制 (Sanctions) 和反洗钱 (AML) 对虚拟货币和预付卡的应用&lt;/li&gt;
&lt;li&gt;🔍 利用AI进行数据清洗和监控系统,以识别可疑活动&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;欺诈预防: 🚫&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 提高检测精度&lt;/li&gt;
&lt;li&gt;🌐 提高灵活性和可扩展性&lt;/li&gt;
&lt;li&gt;🔒 提高安全性&lt;/li&gt;
&lt;li&gt;💰 降低运营成本&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;实时预测异常: 🕰️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧭 建立客户全面画像&lt;/li&gt;
&lt;li&gt;🚨 更好地预测交易异常&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;保护数据: 🔒&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📜 确保合规性&lt;/li&gt;
&lt;li&gt;🔐 行业领先的加密、访问控制和数据保护协议&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;变更流: 🔄&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👀 实时监控数据库变更&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;操作数据存储 (ODS): 🗃️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💾 处理大量数据&lt;/li&gt;
&lt;li&gt;🚀 实时捕获、存储和处理高吞吐量的交易数据&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;监管合规性: 📜&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💳 支付卡行业数据安全标准 (PCI)&lt;/li&gt;
&lt;li&gt;🌍 通用数据保护条例 (GDPR)&lt;/li&gt;
&lt;li&gt;🇺🇸 加州消费者隐私法 (CCPA)&lt;/li&gt;
&lt;li&gt;💳 支付服务指令 2 (PSD2)&lt;/li&gt;
&lt;li&gt;🌳 可持续金融披露条例 (SFDR)&lt;/li&gt;
&lt;li&gt;🔑 基于角色的授权控制&lt;/li&gt;
&lt;li&gt;🗺️ 地理空间和网络图分析&lt;/li&gt;
&lt;li&gt;🌍 识别与气候变化相关的物理风险 (如洪水、山火)&lt;/li&gt;
&lt;li&gt;🔮 采用预测性方法理解复杂模式&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;🔒 主题2: 零信任 🔑&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;零信任: 🕸️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔒 网络安全方法&lt;/li&gt;
&lt;li&gt;🔐 限制用户可能损害安全性的机会&lt;/li&gt;
&lt;li&gt;🚫 限制互联网连接&lt;/li&gt;
&lt;li&gt;👤 为所有用户实施强身份验证&lt;/li&gt;
&lt;li&gt;🔒 严格限制对数据的访问&lt;/li&gt;
&lt;li&gt;🔐 加密数据&lt;/li&gt;
&lt;li&gt;🔑 所有操作都必须通过用户授权&lt;/li&gt;
&lt;li&gt;✅ 允许用户自行验证&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;默认安全: 🔒&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 配置IP访问列表&lt;/li&gt;
&lt;li&gt;🔑 允许对数据库进行身份验证尝试&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;审计功能: 🔍&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👀 跟踪事件、用户或角色的可疑或意外行为&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/solutions/industries/financial-services/fraud-prevention" rel="noopener noreferrer"&gt;https://www.mongodb.com/solutions/industries/financial-services/fraud-prevention&lt;/a&gt;&lt;br&gt;
Fraud Prevention with MongoDB&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/library/financial-services/powering-innovation-fin-serv-ai?lb-mode=overlay" rel="noopener noreferrer"&gt;https://www.mongodb.com/library/financial-services/powering-innovation-fin-serv-ai?lb-mode=overlay&lt;/a&gt;&lt;br&gt;
Powering Innovation in Financial Services with Artificial Intelligence&lt;/p&gt;

&lt;p&gt;MongoDB: Capabilities for Use in a Zero Trust Environment&lt;br&gt;
&lt;a href="https://www.mongodb.com/library/financial-services/wp-mongodb-capabilities-for-use-zero-trust-environment?lb-mode=overlay" rel="noopener noreferrer"&gt;https://www.mongodb.com/library/financial-services/wp-mongodb-capabilities-for-use-zero-trust-environment?lb-mode=overlay&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>zerotrust</category>
      <category>security</category>
      <category>nosql</category>
    </item>
    <item>
      <title>🔒 Tip and Trick: MongoDB Security, Regulatory Compliance &amp; Zero Trust 🔑</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Sat, 10 Aug 2024 13:39:20 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/tip-and-trick-mongodb-security-regulatory-compliance-zero-trust-5b0d</link>
      <guid>https://forem.com/mongodb-builder/tip-and-trick-mongodb-security-regulatory-compliance-zero-trust-5b0d</guid>
      <description>&lt;p&gt;&lt;strong&gt;Topic 1: Regulatory Compliance 💼&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚨 Detecting Fraud, Risk Management, and Customer Identity Verification (KYC)&lt;/li&gt;
&lt;li&gt;🛡️ Sanctions Regimes (Sanctions) and Anti-Money Laundering (AML) for Virtual Currencies &amp;amp; Prepaid Cards&lt;/li&gt;
&lt;li&gt;🔍 AI-powered Data Cleansing and Surveillance Systems to Identify Suspicious Activities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Fraud Prevention: 🚫&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 Improves Detection Accuracy&lt;/li&gt;
&lt;li&gt;🌐 Increases Flexibility and Scalability&lt;/li&gt;
&lt;li&gt;🔒 Enhances Security&lt;/li&gt;
&lt;li&gt;💰 Reduces Cost of Operation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Predict Anomalies in Real-Time: 🕰️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧭 Create a Holistic Picture of Customers&lt;/li&gt;
&lt;li&gt;🚨 Better Predict Transaction Anomalies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Protect Data: 🔒&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📜 Ensure Regulatory Compliance&lt;/li&gt;
&lt;li&gt;🔐 Industry-Leading Encryption, Access Controls, and Data Protection Protocols&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Change Streams: 🔄&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👀 Monitoring Database Changes in Real-Time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Operational Data Store (ODS): 🗃️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💾 Handle Large Amounts of Data&lt;/li&gt;
&lt;li&gt;🚀 Capture, Store, and Process High-Volume Transactional Data in Real-Time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Regulatory Compliance: 📜&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💳 Payment Card Industry Data Security Standard (PCI)&lt;/li&gt;
&lt;li&gt;🌍 General Data Protection Regulation (GDPR)&lt;/li&gt;
&lt;li&gt;🔑 California Consumer Privacy Act (CCPA)&lt;/li&gt;
&lt;li&gt;💳 Payment Services Directive 2 (PSD2)&lt;/li&gt;
&lt;li&gt;🌳 Sustainable Finance Disclosure Regulation (SFDR)&lt;/li&gt;
&lt;li&gt;🔑 Role-Based Authorization Controls&lt;/li&gt;
&lt;li&gt;🗺️ Geospatial &amp;amp; Network Graph Analytics&lt;/li&gt;
&lt;li&gt;🌍 Identify Physical Risks Associated with Climate Change (e.g., Floods, Wildfires)&lt;/li&gt;
&lt;li&gt;🔮 Predictive Approach to Understand Intricate Patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;🔒 Topic 2: Zero Trust 🔑&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Zero Trust: 🕸️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔒 Cybersecurity Approach&lt;/li&gt;
&lt;li&gt;🔐 Limit Users' Opportunities to Compromise Security&lt;/li&gt;
&lt;li&gt;🚫 Limited Connectivity to the Internet&lt;/li&gt;
&lt;li&gt;👤 Robust Authentication for All Users&lt;/li&gt;
&lt;li&gt;🔒 Strictly Limit Access to Data&lt;/li&gt;
&lt;li&gt;🔐 Encrypt Data&lt;/li&gt;
&lt;li&gt;🔑 All Actions Must Pass Through User Authorizations&lt;/li&gt;
&lt;li&gt;✅ Allow Users to Authenticate Themselves&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Security by Default: 🔒&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 Configure IP Access Lists&lt;/li&gt;
&lt;li&gt;🔑 Allow Attempts to Authenticate to Database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;strong&gt;Auditing Capabilities: 🔍&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👀 Track Suspicious or Unexpected Behavior by Event, User, or Role&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/solutions/industries/financial-services/fraud-prevention" rel="noopener noreferrer"&gt;https://www.mongodb.com/solutions/industries/financial-services/fraud-prevention&lt;/a&gt;&lt;br&gt;
Fraud Prevention with MongoDB&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mongodb.com/library/financial-services/powering-innovation-fin-serv-ai?lb-mode=overlay" rel="noopener noreferrer"&gt;https://www.mongodb.com/library/financial-services/powering-innovation-fin-serv-ai?lb-mode=overlay&lt;/a&gt;&lt;br&gt;
Powering Innovation in Financial Services with Artificial Intelligence&lt;/p&gt;

&lt;p&gt;MongoDB: Capabilities for Use in a Zero Trust Environment&lt;br&gt;
&lt;a href="https://www.mongodb.com/library/financial-services/wp-mongodb-capabilities-for-use-zero-trust-environment?lb-mode=overlay" rel="noopener noreferrer"&gt;https://www.mongodb.com/library/financial-services/wp-mongodb-capabilities-for-use-zero-trust-environment?lb-mode=overlay&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>zerotrust</category>
      <category>security</category>
      <category>nosql</category>
    </item>
    <item>
      <title>🚀 行业洞见: MongoDB 推动支付业务 💸</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Wed, 07 Aug 2024 15:02:16 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/xing-ye-dong-jian-mongodb-tui-dong-zhi-fu-ye-wu-4no5</link>
      <guid>https://forem.com/mongodb-builder/xing-ye-dong-jian-mongodb-tui-dong-zhi-fu-ye-wu-4no5</guid>
      <description>&lt;p&gt;&lt;strong&gt;金融领域的 AI 挑战:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🤥 误导性建议&lt;/li&gt;
&lt;li&gt;🔍 错误的风险评估&lt;/li&gt;
&lt;li&gt;🔒 敏感信息&lt;/li&gt;
&lt;li&gt;🚫 幻觉缓解 (由检索增强生成 - RAG 解决)&lt;/li&gt;
&lt;li&gt;📊 数据质量、相关性和准确性&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;非卡支付中的 AI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📚 交易记录的历史"库存"&lt;/li&gt;
&lt;li&gt;🌊 实时"流"数据&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;现金流分析:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔮 预测: 实时洞见现金状况&lt;/li&gt;
&lt;li&gt;💰 营运资本优化: 流动性管理, 向企业财务主管提供建议, 增值&lt;/li&gt;
&lt;li&gt;🔍 支付处理优化: 自动化工作流程&lt;/li&gt;
&lt;li&gt;🚨 风险和欺诈: 交易筛查, 避免手动干预&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;数据驱动的增值服务:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧠 为企业财务主管和高级财务主管量身定制服务和解决方案&lt;/li&gt;
&lt;li&gt;🌍 根据不同行业和地区的需求定制产品&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;实时数据可见性和预测:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 提供实时现金头寸可见性&lt;/li&gt;
&lt;li&gt;📊 提供跨机构仪表板以获得全面的数据洞察&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;增值数据洞见:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔮 提供基于情景的预测能力&lt;/li&gt;
&lt;li&gt;🤖 根据数据分析提供建议性措施&lt;/li&gt;
&lt;li&gt;💯 生成未来头寸的风险评分以帮助决策&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;改善支付服务:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🤖 自动化付款跟踪和对账流程&lt;/li&gt;
&lt;li&gt;⚡️ 提高付款相关服务的效率和准确性&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;中央仪表板:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 从多家银行实时整合数据到单一仪表板&lt;/li&gt;
&lt;li&gt;💰 实时现金预测和余额&lt;/li&gt;
&lt;li&gt;🛡️ 欺诈保护&lt;/li&gt;
&lt;li&gt;📊 定制内部报告&lt;/li&gt;
&lt;li&gt;💳 应收账款对账&lt;/li&gt;
&lt;li&gt;📄 符合 SO20022 标准&lt;/li&gt;
&lt;li&gt;🔍 数据分析 (头寸风险评分)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;带地图数据的中央仪表板:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌍 纬度和经度坐标&lt;/li&gt;
&lt;li&gt;📍 地理区域(国家、州)名称文本&lt;/li&gt;
&lt;li&gt;🗺️ 色块图: 预定义的地理区域形状&lt;/li&gt;
&lt;li&gt;📍 散点图: 指示数据点的标记&lt;/li&gt;
&lt;li&gt;🔥 热力图: 数据点颜色强度&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;MongoDB 的更多优势:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 二进制 JSON 格式 (BSON): 更快的解析, 可搜索和索引&lt;/li&gt;
&lt;li&gt;⚡️ 对ad-hoc查询的性能不断提高&lt;/li&gt;
&lt;li&gt;🔍 在大规模下对字段查询、范围查询和正则表达式搜索有显著差异&lt;/li&gt;
&lt;li&gt;💾 时间点恢复: 采用 MongoDB 的操作日志 (oplog), 持续备份, 一致快照&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>nosql</category>
      <category>database</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>🚀 Industry Insights: MongoDB Boosts Payment Business 💸</title>
      <dc:creator>Danny Chan</dc:creator>
      <pubDate>Wed, 07 Aug 2024 14:59:03 +0000</pubDate>
      <link>https://forem.com/mongodb-builder/industry-insights-mongodb-boosts-payment-business-1hjb</link>
      <guid>https://forem.com/mongodb-builder/industry-insights-mongodb-boosts-payment-business-1hjb</guid>
      <description>&lt;p&gt;&lt;strong&gt;AI Challenges in Finance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🤥 Misleading advice&lt;/li&gt;
&lt;li&gt;🔍 Incorrect risk assessments&lt;/li&gt;
&lt;li&gt;🔒 Sensitive information&lt;/li&gt;
&lt;li&gt;🚫 Hallucination mitigation (solved by Retrieval Augmented Generation - RAG)&lt;/li&gt;
&lt;li&gt;📊 Data quality, relevance, and accuracy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;AI in Non-Card Payments:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📚 Historic "stock" of transaction records&lt;/li&gt;
&lt;li&gt;🌊 "Flow" in the form of live data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Cash Flow Analysis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔮 Forecasting: real-time insights into cash position&lt;/li&gt;
&lt;li&gt;💰 Working capital optimization: liquidity management, recommendations to corporate treasurers, value-adding&lt;/li&gt;
&lt;li&gt;🔍 Payment processing optimization: automate workflow&lt;/li&gt;
&lt;li&gt;🚨 Risk and fraud: transaction screening, avoid manual intervention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Data-Led Value-Added Services:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧠 Customized services and solutions for corporate treasurers and senior finance executives&lt;/li&gt;
&lt;li&gt;🌍 Tailored offerings based on business verticals and regions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Real-Time Data Visibility and Forecasts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 Offer real-time visibility into cash positions&lt;/li&gt;
&lt;li&gt;📊 Provide cross-institution dashboards for comprehensive data insights&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Value-Adding Data Insights:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔮 Deliver scenario-based forecasting capabilities&lt;/li&gt;
&lt;li&gt;🤖 Offer recommended actions based on data analysis&lt;/li&gt;
&lt;li&gt;💯 Generate risk scores on future positions to aid decision-making&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Improved Payment Services:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🤖 Automate payment tracking and reconciliation processes&lt;/li&gt;
&lt;li&gt;⚡️ Enhance efficiency and accuracy of payment-related services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Central Dashboard:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 Real-time consolidated data from multiple banks into a single dashboard&lt;/li&gt;
&lt;li&gt;💰 Real-time cash forecasting and balances&lt;/li&gt;
&lt;li&gt;🛡️ Fraud protection&lt;/li&gt;
&lt;li&gt;📊 Custom reporting for internal use&lt;/li&gt;
&lt;li&gt;💳 Receivables reconciliation&lt;/li&gt;
&lt;li&gt;📄 SO20022 compliance&lt;/li&gt;
&lt;li&gt;🔍 Data analytics (risk scores on positions)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Central Dashboard with Map Data:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌍 Latitude and longitude coordinates&lt;/li&gt;
&lt;li&gt;📍 Text with names of geographical areas (countries, states)&lt;/li&gt;
&lt;li&gt;🗺️ Choropleth: predefined shapes for geographical areas&lt;/li&gt;
&lt;li&gt;📍 Scatter: data markers to indicate data points&lt;/li&gt;
&lt;li&gt;🔥 Heatmap: color intensity of data points&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;More MongoDB Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 Binary JSON format (BSON): faster parsing, searched and indexed&lt;/li&gt;
&lt;li&gt;⚡️ Increasing performance for ad-hoc queries&lt;/li&gt;
&lt;li&gt;🔍 Significant difference at scale for field queries, range queries, regular expression searches&lt;/li&gt;
&lt;li&gt;💾 Point-in-time recovery: adopt MongoDB's operation log (oplog), continuous backup, consistent snapshots&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Editor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0c3w52ly35vk5c6bwxty.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Danny Chan, specialty of FSI and Serverless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldl0cvdpikggaimu7xw1.png" alt="Image description" width="554" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kenny Chan, specialty of FSI and Machine Learning&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>nosql</category>
      <category>database</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
