🎉 CloudCanal 上线 V6.1.0.0:KingbaseES 分区表迁移性能大幅提升
跳到主要内容

MongoDB 到 RagApi

CloudCanal 支持从 MongoDB 到 RagApi 的数据迁移、同步、校验和链路能力。

选择对端数据库:

数据链路

基本功能

功能说明
全量数据迁移

逻辑迁移,通过顺序扫描表数据,将数据分批写入到对端数据库,支持的 _id 类型为 ObjectIdLongInteger

增量实时同步

支持 INSERTUPDATEDELETE 同步

修改订阅

新增、删除、修改订阅表,支持历史数据迁移,文档:修改订阅

增量位点回溯

支持按照 时间戳 回溯位点,重新消费过去一段时间的 oplog

部署形态支持

支持 主备副本集分片集群

高级功能

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

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

压缩查询(QUERY_COMPRESS)

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

扩展查询(QUERY_EXTEND)

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

MCP 工具链调用

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

自定义代码

文档1:创建自定义代码任务
文档2:自定义代码任务 debug
文档3:在自定义代码中打日志

添加虚拟列

支持添加自定义的虚拟列,指定的值为固定值,如区域、编号等

限制和注意点

限制项说明
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: 通用参数配置请参考 通用参数及功能

联系我们
微信二维码

扫码添加微信,获取技术支持