← AI 工坊 / 技术路线
ENGINEERING NOTE / 01
让业务平台,听懂一句话
以站内网页 AI 助手为例:自然语言进入后端,先查询业务数据,再按需检索操作手册,最后把结果和可点击入口交给用户。
01 / SCENARIO行知 · 实践记录
在工作页面旁,多一个入口。
登录业务平台后,右下角出现可拖动的聊天浮窗。用户可以查项目和监测点、查看最新数据与报警点,也可以直接询问平台怎样操作。
- 解决什么问题
- 用户知道自己要什么,却不一定知道数据在哪个菜单、哪个监测点下。助手将查数、定位页面与操作手册问答放到同一个入口。
- 用户如何操作
- 输入“查看某项目监测点的最新数据”。候选点不唯一时,点击候选按钮确认;拿到结果后,可继续打开过程曲线或报警页面。
- 系统的执行边界
- 数据由后端业务工具查询,页面由用户点击结构化按钮打开。模型不直接点击网页,也不执行业务写入。
02 / TOOL-FIRST ROUTING行知 · 实践记录
工具先处理,知识再补位。
核心是后端自定义路由:规则或模型 JSON 解析意图,优先交给监测数据工具处理;未处理的问题再进入知识库问答。
- 01解析意图监测数据 / 活动报警 / 其他
- 02业务工具PointDataTool 查询业务数据库
- 03权限约束沿用租户与 ProjectPermission
- 04返回结果output_text + actions
数据问题,走确定性的业务链路
项目关键词、监测点关键词和目标视图被提取为结构化字段。多候选时返回确认动作,避免模型随意猜一个点。
操作问题,走知识检索链路
工具没有处理的请求进入 RAG。检索平台操作资料,再把材料、最近会话和系统提示交给模型组织回答。
实现特点
这是一条可控的“意图路由 → 业务工具 → 检索兜底”链路,并非让模型反复选择工具的 function calling 循环。
03 / KNOWLEDGE & CONTEXT行知 · 实践记录
让答案,有上下文和出处。
- 中文资料检索
- SQLite FTS5 使用 trigram 做中文子串检索,最多选取 8 条相关片段,总量约 6000 字符,再组织给模型。
- 短期会话
- 保留最近 8 轮对话,支持重置。会话、消息和知识索引存于独立 SQLite,业务数据仍留在原业务数据库。
- 资料入库
- 管理员上传手册,按需 OCR,切片进入索引,并补充模型摘要。摘要失败时回退到摘录,不阻断原文索引。
- 模型接口
- 使用 OpenAI 兼容 Chat Completions,文档中的配置为非流式输出、temperature 0.2;模型可按部署配置替换。
- 失败处理
- 模型调用失败时返回命中的资料与错误说明,保留用户可继续查证的依据。
04 / REQUEST WALKTHROUGH行知 · 实践记录
拆开一句,“帮我看看”。
示例:查看一个监测点的过程曲线
流程演示01 / 意图识别
提取项目、监测点与目标视图
用户输入“打开某项目沉降点的过程曲线”,后端解析出 point_data 意图与 analysis_chart 视图。
自然语言 → 项目关键词 + 监测点关键词 + 目标视图查看结构化动作的职责 +
- confirm_point
- 向用户展示多个候选点,等待选择。
- point_data_summary
- 呈现已经查询得到的监测数据摘要。
- active_alarm_points
- 呈现当前有效报警点列表。
- navigate
- 返回可供点击的页面入口,用户点击后由前端路由跳转。
依据:作者提供的《web-ai-assistant.md》。本页说明公开技术路径,不连接生产业务数据。