根据您提供的表结构和流程描述,我为您生成以下技术文档: # Metric Process Config 配置表文档 ## 表结构说明 **表名**: `metric_process_config` **引擎**: InnoDB **字符集**: utf8mb4 **排序规则**: utf8mb4_bin **描述**: 指标处理配置表,用于定义意图识别后的处理流程 ## 字段详情 | 字段名 | 类型 | 默认值 | 可空 | 注释 | |--------|------|--------|------|------| | id | int | - | NO | 主键,自增 | | type | tinyint | 0 | NO | **处理类型**: 0-HTTP请求, 1-直接回复 | | name | varchar(30) | '' | NO | 分支名称,用于标识配置项 | | intent | int | 0 | NO | 意图标识 | | metric_type | int | 0 | NO | 意图识别输出的类型编号 | | url_template | varchar(1000) | '' | NO | **URL模板**,支持变量替换 | | query_template | varchar(1000) | '' | NO | **请求参数模板**,GET/POST请求参数 | | http_method | tinyint | 0 | NO | **HTTP方法**: 0-GET, 1-POST | | response_extract | varchar(1000) | '' | NO | **响应提取配置**,JSON路径配置用于提取响应值 | | context_template | varchar(2000) | '' | NO | **中文输出模板**,最终展示的提示词模板 | | eng_context_template | varchar(2000) | '' | NO | **英文输出模板**,英文环境提示词模板 | | created_at | datetime | CURRENT_TIMESTAMP | NO | 创建时间 | | updated_at | datetime | CURRENT_TIMESTAMP | NO | 更新时间,自动更新 | | deleted_at | datetime | NULL | YES | 软删除时间戳 | ## 业务流程说明 ### 整体处理流程 ``` 1. 接收水萝卜环境参数 → 2. 构造HTTP请求 → 3. 解析响应JSON → 4. 构造展示模板 ``` ### 详细步骤分解 #### 步骤1: 接收环境参数 - 系统接收来自水萝卜环境的输入参数 - 根据参数匹配对应的意图(`intent`)和指标类型(`metric_type`) #### 步骤2: 构造HTTP请求 - 根据配置的 `http_method` 选择请求方法: - `0`: GET请求 - `1`: POST请求 - 使用 `url_template` 构建完整URL - 使用 `query_template` 构建请求参数 - **变量替换**: 模板中的占位符会被实际参数替换 #### 步骤3: 解析响应JSON - 使用 `response_extract` 配置的JSON路径提取所需数据 - 示例配置格式: ```json { "name": {"first": "Janet", "last": "Prichard"}, "age": 47 } ``` - 支持嵌套JSON字段的提取 #### 步骤4: 构造展示模板 - 根据语言环境选择模板: - 中文: `context_template` - 英文: `eng_context_template` - 将提取的响应数据替换到模板变量中 - 生成最终的用户展示内容 ## 配置示例 ### HTTP请求类型配置 (type=0) ```sql INSERT INTO metric_process_config (type, name, intent, metric_type, url_template, query_template, http_method, response_extract, context_template, eng_context_template) VALUES (0, '天气查询', 1001, 1, 'https://api.weather.com/forecast?city={city}', '{"api_key": "your_key"}', 1, '{"temperature": "data.temp", "condition": "data.weather"}', '当前{city}温度:{temperature}℃,天气状况:{condition}', 'Current temperature in {city}: {temperature}°C, Condition: {condition}'); ``` ### 直接回复类型配置 (type=1) ```sql INSERT INTO metric_process_config (type, name, intent, metric_type, context_template, eng_context_template) VALUES (1, '欢迎语', 1002, 2, '您好!欢迎使用我们的服务,请问有什么可以帮您?', 'Hello! Welcome to our service, how can I help you?'); ``` ## 使用注意事项 1. **URL模板**: 支持 `{variable}` 格式的变量替换 2. **JSON提取**: 使用点号分隔的路径语法访问嵌套字段 3. **模板变量**: 确保响应提取字段与模板变量名匹配 4. **字符长度**: 注意各文本字段的长度限制 5. **软删除**: 使用 `deleted_at` 进行逻辑删除,NULL表示有效记录 ## 相关接口建议 基于此表结构,建议实现以下核心接口: - 配置查询接口(根据intent/metric_type查询) - 模板变量替换服务 - HTTP请求构造器 - JSON响应解析器 这份文档涵盖了表结构说明、业务流程、配置示例和使用建议,可以作为开发和维护的参考文档。