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

Aurora for PostgreSQL 到 RagApi

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

选择对端数据库:

数据链路

基本功能

功能说明
结构迁移

如目标不存在知识库,则根据源端元数据,结合映射规则在对端创建 虚拟知识库

知识库名映射

支持 按下划线拼接(任务名_DB_SCHEMA_表), 转小写, 转大写, 和源端保持一致, 以'_数字'后缀截取

大模型对话

集成主流大模型平台(如 OpenAI、DashScope、Ollama 等),用于实现嵌入生成、语义检索、问答生成等核心 RAG 能力。支持流式响应、多语义检索、MCP 工具调用等扩展功能。

高级功能

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

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

压缩查询(QUERY_COMPRESS)

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

扩展查询(QUERY_EXTEND)

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

MCP 工具链调用

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

限制和注意点

限制项说明
网络准备

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

使用示例

标题详情
使用大模型将数据嵌入到 PostgreSQL 向量

文档:使用大模型将数据嵌入到 PostgreSQL 向量

基于 PostgreSQL 向量构建 RAG API 服务

文档:基于 PostgreSQL 向量构建 RAG API 服务


源端数据源

前置条件

条件说明
账号权限

需要权限如下(以自建数据库为例):

  • GRANT ALL PRIVILEGES ON DATABASE 同步库 TO 同步账号(或同步库 information_schema 中所有视图的 SELECT 权限和需要同步表、索引、约束的 SELECT 权限)
  • ALTER USER 同步账号 REPLICATION
增量同步准备

准备动作按如下步骤进行:

  • 修改 postgresql.conf, 设置 wal_level=logical 和 wal_log_hints = on
  • 修改 pg_hba.conf, 设置 host replication 同步账号 CIDR网段 md5 , host 同步库 同步账号 CIDR网段 md5, host postgres 同步账号 CIDR网段 md5
  • 重启 PostgreSQL
网络准备

迁移同步节点(sidecar)可连接 PostgreSQL 标准交互接口(如 5432)

任务参数

参数名称说明
fullFetchSize

全量扫描数据设置的 fetch size

eventStoreSize

缓存解析完毕的增量事件缓存大小

ignoreGisSRID

解析 GIS 数据类型时是否忽略 SRID

defaultGisSRID

设置 GIS 数据类型的 SRID

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

联系我们
微信二维码

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