沈管家AI数字员工实战配置:智能问数功能的完整搭建流程
引言:智能问数解决什么问题
智能问数是沈管家AI数字员工的核心功能模块之一。它解决的是企业数据查询的“最后一公里”问题:业务人员不懂SQL,IT排期太慢,数据藏在多个系统的数据库里取不出来。智能问数让业务人员用日常口语直接查询数据——说一句“上月华东区销售额最高的五个客户”,系统自动转化为SQL,跨库拉取数据,生成可视化图表。
本教程将完整演示智能问数的配置流程:从业务场景定义、数据库连接、业务术语库配置,到测试查询和异常排查。完成配置后,业务人员即可用自然语言查询企业数据,无需等待IT排期。
下面是智能问数从配置到使用的整体流程:
前置条件
开始配置前,请确认以下条件:
- 已完成沈管家账号注册和企业认证,或已完成私有化部署。
- 已登录管理控制台,具备“数据源管理”和“术语库管理”的配置权限。
- 已准备至少一个可连接的测试数据库(MySQL、Oracle 或 InfluxDB),并已获取连接信息(主机地址、端口、数据库名、账号、密码)。
- 已了解目标数据库的基本表结构和字段含义——这步需要DBA或熟悉业务的IT人员配合。
一、业务场景定义:先想清楚要查什么
配置智能问数的第一步不是技术操作,而是明确业务场景。智能问数的效果高度依赖场景定义的清晰程度。
1.1 明确查询需求
先回答三个问题:谁在查(车间主任、销售主管、财务专员)、查什么数据(产量、销售额、库存、设备状态)、查询频率多高(每天、每周、临时)。
以制造业典型场景为例:
- 查询人:车间主任
- 查询内容:3号产线的OEE、产量、设备故障率
- 数据来源:MES(产量)、SCADA(设备状态)、ERP(计划生产时间)
- 查询频率:每天早会前查询
1.2 确定涉及的数据表和字段
与DBA配合,梳理出每个查询场景涉及的数据表和字段。以OEE查询为例:
| 数据来源 | 表名 | 关键字段 | 用途 |
|---|---|---|---|
| MES | production_records | line_id, output_qty, record_date | 产量数据 |
| SCADA | equipment_status | device_id, run_time, downtime, status_date | 设备运行时长与停机时长 |
| ERP | work_centers | center_id, line_name, planned_time | 计划生产时间 |
梳理完成后,OEE计算公式为:可用性 × 性能 × 质量,其中可用性 = 运行时长 / 计划生产时间,性能 = 实际产量 / 理论产量,质量 = 合格品数 / 总产量。
1.3 记录典型查询语句
整理3-5条典型的自然语言查询语句,作为后续测试的基准。例如:
- “3号产线昨天的OEE是多少?”
- “上月华东区销售额最高的五个客户?”
- “当前库存低于安全线的原材料有哪些?”
- “最近一周哪条产线的故障停机时间最长?”
这些语句将用于验证术语库映射和查询准确率。
二、数据库连接配置:接入MySQL/Oracle/InfluxDB
2.1 进入数据源管理
在管理控制台左侧导航栏选择“数据源管理”,点击“添加数据源”。
2.2 MySQL接入
选择数据库类型“MySQL”,填写连接信息:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 数据源名称 | 自定义,建议用系统名称 | “MES生产数据库” |
| 主机地址 | 数据库服务器内网IP或域名 | 192.168.1.100 |
| 端口 | MySQL默认3306 | 3306 |
| 数据库名 | 目标数据库名称 | mes_production |
| 用户名 | 数据库账号 | butler_readonly |
| 密码 | 数据库密码 | (输入后加密存储) |
权限建议:为智能问数单独创建一个只读账号,避免AI的查询操作误写数据。如果业务场景需要写操作(如更新工单状态),需单独授权对应表的写权限。
2.3 Oracle接入
选择数据库类型“Oracle”,填写连接信息。相比MySQL,Oracle接入需要额外填写:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 连接方式 | 选择SID或Service Name | Service Name |
| SID/Service Name | Oracle实例标识 | ORCLPDB1 |
| Schema | 目标Schema名称 | ERP_USER |
| 字符集 | 通常保持默认,特殊场景需调整 | UTF-8 |
Oracle的SQL方言与MySQL不同——分页用ROWNUM或FETCH FIRST而非LIMIT,字段名通常大写。沈管家会自动适配方言,但术语库配置时需注意字段名大小写与Oracle实际存储一致。
2.4 InfluxDB接入
时序数据库InfluxDB的接入与关系型数据库差异较大:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 连接方式 | 选择InfluxDB版本(1.x或2.x) | 2.x |
| 组织 | InfluxDB 2.x的Organization | factory_ops |
| Bucket | 数据存储桶 | scada_metrics |
| Token | API访问令牌 | (由InfluxDB管理端生成) |
InfluxDB使用类SQL语法(InfluxQL/Flux),沈管家在子查询分发时会自动适配方言。在术语库中配置字段映射时,需注意InfluxDB的field和tag区别——tag用于筛选条件,field用于计算值。
2.5 测试连接与Schema爬取
填写完成后点击“测试连接”。系统会尝试连接数据库,验证网络可达、认证通过。连接成功后自动进入“Schema爬取”阶段——系统读取目标数据库的元数据(表名、字段名、字段类型、主外键关系),构建Schema知识图谱。此过程对大型数据库可能需要数分钟。
爬取完成后,可在“Schema预览”中查看系统识别到的表和字段清单,确认爬取结果是否完整和准确。
三种数据库的接入流程对比如下:
三、业务术语库配置:让AI听懂车间口语
业务术语库是智能问数配置中最关键、也是最需要花精力的环节。它决定了AI能否将业务人员的口语准确映射到数据库字段。
3.1 进入术语库管理
在管理控制台中选择“术语库管理”,点击“新建术语映射”。
3.2 配置字段级映射
将业务口语词映射到具体的表和字段。以制造业场景为例:
示例一:将“效率”映射到OEE字段
| 配置项 | 内容 |
|---|---|
| 业务术语 | 效率 |
| 映射类型 | 字段映射 |
| 目标数据源 | MES生产数据库 |
| 目标表 | production_records |
| 目标字段 | oee_percentage |
| 同义词 | OEE、设备综合效率、稼动率 |
示例二:将“开动率”映射到设备运行率字段
| 配置项 | 内容 |
|---|---|
| 业务术语 | 开动率 |
| 目标数据源 | SCADA数据库 |
| 目标字段 | machine_utilization_rate |
| 同义词 | 设备开动率、运行率、运转率 |
示例三:将“产线”映射到表关联字段
| 配置项 | 内容 |
|---|---|
| 业务术语 | 产线 |
| 目标字段 | line_name |
| 同义词 | 生产线、制造单元、机台、工位 |
3.3 配置同义词映射
同义词映射让AI理解“3号线”“三号线”“3号产线”“LINE-3”指的是同一对象。在术语库中为每个业务实体配置同义词组。
以“华东区”为例,可能出现在不同表中的值有:“华东”“East China”“EC”“华东大区”。需要在同义词配置中将这些变体映射到统一的语义标签。
3.4 配置聚合规则
部分查询需要聚合计算。例如“销售额”可能指向订单明细表中金额字段的求和,而非单条记录。在术语库中需配置:
| 配置项 | 内容 |
|---|---|
| 业务术语 | 销售额 |
| 目标字段 | order_amount |
| 聚合方式 | SUM |
| 分组维度 | 按客户、按区域、按时间 |
3.5 术语库维护建议
术语库配置不是一次性工作。建议在企业内部建立术语库维护机制:新业务上线、系统表结构变更、员工新口语习惯出现时,及时更新映射关系。术语库的质量直接决定智能问数的准确率——术语库映射越完善,AI越能准确理解业务人员的口语。
术语库的配置层次如下:
四、测试查询:从自然语言到SQL到图表
4.1 进入智能问数测试
在管理控制台选择“智能问数”,进入测试界面。输入准备好的测试语句。
4.2 测试单表查询
先测试简单的单表查询,验证数据库连接和字段映射是否正确:
输入:“3号产线昨天的产量是多少?”
系统执行链路:
- 口语消歧:“昨天”→“2026-08-17”,“产量”→
output_qty字段 - SQL生成:
SELECT output_qty FROM production_records WHERE line_name = '3号线' AND record_date = '2026-08-17' - 执行查询,返回结果
- 生成图表
4.3 测试跨库查询
再测试涉及多套数据库的复杂查询:
输入:“3号产线昨天的OEE是多少?”
系统执行链路:
- 从MES查询产量数据
- 从SCADA查询运行时长和停机时长
- 从ERP查询计划生产时间
- 按OEE公式关联计算
- 返回可视化结果
在结果页面可查看生成的SQL语句。建议与DBA一起检查SQL的正确性——表关联路径是否准确、字段映射是否正确、方言适配是否合适。
4.4 测试归因分析
测试数据异常时的归因分析能力:
输入:“最近一周3号产线的OEE趋势,为什么周二下降了?”
系统返回OEE趋势图,并自动下钻分析——周二OEE下降的主因是设备故障增多(可用性下降),具体是哪台设备、什么类型的故障。检查归因分析是否准确、解释是否合理。
智能问数的执行链路如下:
五、异常处理:查询失败时的排查方法
5.1 查询结果为空
可能原因:术语映射错误、筛选条件过于严格、数据源中确实无匹配数据。
排查步骤:
- 检查系统生成的SQL,确认WHERE条件是否正确。
- 在术语库中检查映射关系,确认“昨天”映射的日期是否正确、“3号线”映射的字段值是否与实际数据一致。
- 直接到目标数据库中手动执行SQL,验证数据是否存在。
5.2 SQL生成报错
可能原因:字段不存在、表名拼写错误、跨库关联路径缺失。
排查步骤:
- 检查Schema爬取是否完整——目标表是否出现在Schema预览中。
- 检查术语库映射的目标表名和字段名是否与实际数据库一致。
- 检查跨库关联关系是否已配置——如果术语库中没有定义MES和SCADA的关联字段,跨库查询会失败。
5.3 查询超时
可能原因:查询数据量过大、跨库聚合在引擎层执行负载过高、目标数据库性能瓶颈。
排查步骤:
- 检查生成的SQL是否包含分页限制(LIMIT/ROWNUM)。如果查询语句是全量扫描,需在术语库或查询参数中增加分页保护。
- 检查跨库查询的聚合逻辑,将聚合操作尽量下推到各数据源本地执行。
- 检查目标数据库自身的响应性能,确认是否存在慢查询或锁表。
5.4 结果不准确
可能原因:同义词映射冲突、聚合规则配置错误、跨库关联字段配置错误。
排查步骤:
- 对比系统生成的SQL与DBA手工编写的SQL,找出差异点。
- 检查同义词映射是否存在冲突——同一术语被映射到多个字段。
- 检查聚合规则是否正确——是否遗漏了分组维度、使用了错误的聚合方式。
查询失败时的排查流程如下:
总结
智能问数配置的完整流程可以概括为五步:定义场景、连接数据库、配置术语库、测试查询、持续优化。其中术语库配置是最关键也最需要持续投入的环节——它不是一次性配置完成后就一劳永逸的,而是随着业务发展和员工口语习惯变化需要不断完善的工程。
对于首次配置的企业,建议从一个简单场景开始,跑通全流程后再扩展到更多场景。一个术语映射清晰、数据库连接稳定的单场景智能问数,比十个配置粗糙的多场景查询更有实际价值。
(本文为沈管家AI数字员工产品配置教程,操作步骤基于产品通用流程整理,具体界面和配置项以实际版本为准。)
更多推荐



所有评论(0)