BladePipe 1.9.0: New data pipelines, faster Oracle writes, and improved stability.
跳到主要内容

MongoDB 到 RagApi

选择对端数据库:

数据链路

基本功能

功能说明
Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the target database. Supported _id types: ObjectId, Long, Integer.

Incremental Data Sync

Sync of INSERT, UPDATE, DELETE is supported.

Subscription Modification

Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription.

Position Resetting

Reset positions by timestamp to consume the oplog in a past period again.

Supported Deployment

Support master-slave, replica set, sharded cluster.

高级功能

功能说明
知识片段选择(KNOWLEDGE_SELECT)

根据用户查询语义,从检索结果中自动筛选最相关的知识片段,提高生成回答的准确性和针对性。

压缩查询(QUERY_COMPRESS)

对用户原始问题进行语义压缩,去除冗余信息,保留核心内容,优化向量检索效果。

扩展查询(QUERY_EXTEND)

自动扩展用户问题,引入潜在相关信息或同义表达,提升语义匹配覆盖率。

MCP 工具链调用

支持调用 MCP 平台上配置的工具链(如 GitHub 查询、Shell 命令等),实现问答中自动调用外部系统完成任务或补全信息。

Custom Code

For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code.

Adding Virtual Columns

Support adding custom virtual columns with fixed values, such as region, ID, etc.

限制和注意点

限制项说明
oplog 大小和保留时间设置

MongoDB 默认配置 replication.oplogSizeMB 过小 或 storage.oplogMinRetentionHours 过小,如数据同步延迟过大,可能导致未消费的 oplog 被清除,需调大此参数

MongoDB 主备架构的任务设置

源端 MongoDB 主备架构模式,需要将源端任务参数 oplogCollection 设置为 oplog.$main

changeStream 模式

MongoDB 3.6 以上支持 changeStream 获取增量变更,同步任务可以设置源端参数 captureModeCHANGE_STREAM,MongoDB 分片集群可以填写 Mongos 连接串进行同步

oplog 模式

当使用 oplog 模式进行 MongoDB 源端同步时,需要确保该能够访问到 local

网络准备

请确保迁移同步节点(Sidecar)具备访问目标知识库及大模型服务的网络连通性,如 xxx 域名或 IP。


源端数据源

前置条件

条件说明
账号权限

文档:MongoDB 需要的权限

任务参数

参数名称说明
captureMode

配置 MongoDB 增量源端模式,支持 OP_LOG 和 CHANGE_STREAM 模式

changeStreamBatchSize

配置 MongoDB Change Stream 每一批拉取变更事件的最大条数

oplogCollection

配置 MongoDB oplog 的集合名,默认是 oplog.rs

timezone

需要转换的源端时区(默认 UTC)

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
网络准备

迁移同步节点(sidecar)可连接 大模型向量数据库

任务参数

参数名称说明
uriPrefix

RagApi 对话服务的 URI 前缀,用于接收用户问题并返回模型生成的回答。默认值:/v1/chat/completions

contentUriPrefix

RagApi 内容检索服务的 URI 前缀,用于向量数据库中召回相关片段。默认值:/v1/content/retrieve

retrieveMaxResults

配置检索器返回的最大结果数量,用于限制向量搜索候选内容的条目数

retrieveMinScore

配置检索器返回结果的最低匹配分数阈值,仅考虑匹配分数高于该阈值的内容

contentPrompt

配置模板用于构造最终生成提示,定义如何将用户问题与检索到的内容组合成完整提示.可以使用 {{context}}{{query}} 作为变量占位符

enabledPromptFunctions

启用的 Prompt 功能(英文逗号分隔)。
可选项:

  • KNOWLEDGE_SELECT(自动选择知识片段,支持多个知识库自动路由)
  • QUERY_COMPRESS(压缩查询)
  • QUERY_EXTEND(扩展查询)

示例:KNOWLEDGE_SELECT,QUERY_COMPRESS

compressContentPrompt

用于内容压缩的提示语,指导系统如何对输入文本进行精简处理。可以使用 {{chatMemory}}{{query}} 作为变量占位符,仅在 enabledPromptFunctions 中启用了 QUERY_COMPRESS 时生效

extendContentPrompt

用于扩展内容的提示语,指导系统如何通过添加相关上下文信息来丰富原有文本。可以使用 {{query}} 作为变量占位符,仅在 enabledPromptFunctions 中启用了 QUERY_EXTEND 时生效

extendContentCount

设置内容扩展时生成的条目数量,仅在 enabledPromptFunctions 中启用了 QUERY_EXTEND 时生效

mcpServers

用于配置可用 MCP 服务器的 JSON,定义工具调用方式 (如命令行或 HTTP)
eg: { "mcpServers": { "github": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "mcp/github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

maxChatMemory

聊天上下文中保留的最大历史消息条数,决定模型推理时能看到多少轮对话内容

toolMaxInvokeCount

单次对话中允许调用工具的最大次数,用于限制调用深度,避免工具执行陷入死循环

Tips: 通用参数配置请参考 通用参数及功能