跳转至

节点

概览

节点是 Datus Agent 工作流的构件。每个节点负责数据处理链路中的一环,从结构关联与 SQL 生成,到推理与结果输出。本文介绍如何按需配置各类节点。

配置结构

nodes:
  node_name:
    model: provider_name
    prompt_version: "1.0"
    # 其它节点参数
agentic_nodes:
  gen_sql:
    model: provider_name
    system_prompt: gen_sql
    max_turns: 30

Tip

model 引用在顶层 models 中定义的提供方键名。

核心节点

Schema Linking

schema_linking:
  model: openai
  matching_rate: fast        # fast/medium/slow/from_llm
  prompt_version: "1.0"
参数

  • model:引用 agent.models 的键
  • matching_rate:匹配范围/速度(fast/medium/slow/from_llm)
  • prompt_version:SQL模板版本

GenSQL

agentic_nodes:
  gen_sql:
    model: deepseek_v3
    system_prompt: gen_sql
    prompt_version: "1.2"
    tools: db_tools.*, context_search_tools.*
    max_turns: 30
参数gen_sql 是 agentic 节点,system_prompt 统一使用 gen_sql,对应 gen_sql_system prompt,可通过 toolsmax_turns 控制工具范围和推理轮数。

Reasoning

reasoning:
  model: anthropic
  prompt_version: "1.0"
  max_table_schemas_length: 4000
  max_data_details_length: 2000
  max_context_length: 8000
  max_value_length: 500
参数:保留 reasoning 自身的固定节点参数;需要重新生成 SQL 时会回退到 gen_sql

Search Metrics

search_metrics:
  model: openai
  matching_rate: medium
  prompt_version: "1.0"
参数:同 schema_linking,针对指标检索。

处理节点

Reflect

reflect:
  prompt_version: "1.0"
参数prompt_version

Output

output:
  model: anthropic
  prompt_version: "1.0"
  check_result: true
参数:格式化/校验相关设置。

交互节点

Chat

agentic_nodes:
  chat:
    workspace_root: sql2
    model: anthropic
    max_turns: 25
参数:工作目录、对话模型、最大轮数。

实用节点

Date Parser

date_parser:
  prompt_version: "1.0"

Compare

compare:
  prompt_version: "1.0"

Fix

fix:
  model: openai
  prompt_version: "1.0"

完整示例

nodes:
  schema_linking:
    model: openai
    matching_rate: fast
    prompt_version: "1.0"

  search_metrics:
    model: openai
    matching_rate: medium
    prompt_version: "1.0"

  reasoning:
    model: anthropic
    prompt_version: "1.0"
    max_table_schemas_length: 4000
    max_data_details_length: 2000
    max_context_length: 8000
    max_value_length: 500

  reflect:
    prompt_version: "1.0"

  output:
    model: anthropic
    prompt_version: "1.0"
    check_result: true

  date_parser:
    prompt_version: "1.0"

  fix:
    model: openai
    prompt_version: "1.0"

agentic_nodes:
  gen_sql:
    model: deepseek_v3
    system_prompt: gen_sql
    prompt_version: "1.2"
    tools: db_tools.*, context_search_tools.*
    max_turns: 30

  chat:
    workspace_root: workspace
    model: anthropic
    max_turns: 25

模型分配建议

  • 结构关联:gpt-3.5-turbodeepseek-chat;复杂结构用 gpt-4claude-4-sonnet
  • SQL 生成:建议 deepseek-chatgpt-4-turboclaude-4-sonnet
  • 推理:claude-4-sonnetgpt-4-turboclaude-4-opus,或 gemini-2.5-flash
  • 输出/对话:claude-4-sonnetgpt-4-turbo