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

PostgreSQL 到 RagApi

选择对端数据库:

数据链路

基本功能

功能说明
Schema Migration

If there is no knowledge base in the target instance, BladePipe will automatically create a virtual one based on the source metadata and the mapping rule.

Knowledge Base Name Mapping

Support the mapping rules, namely, generating a name in the format DataJobName_DB_SCHEMA_Table, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase, truncating the name by "_digit" suffix.

Chat

Integrate popular LLMs (such as OpenAI, DashScope, Ollama, etc.) to implement core RAG capabilities such as embedding generation, semantic retrieval, and response generation. Support extended functions such as streaming response, multi-semantic retrieval, and MCP tool calls

高级功能

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

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

压缩查询(QUERY_COMPRESS)

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

扩展查询(QUERY_EXTEND)

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

MCP 工具链调用

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

限制和注意点

限制项说明
网络准备

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

使用示例

标题详情
Create and Store Vectors in PGVector

See Create and Store Vectors in PGVector

Create RAG API with PGVector

See Create RAG API with PGVector


源端数据源

前置条件

条件说明
账号权限

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

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