AI流程接口
AI流程是将复杂任务分解为可管理的子步骤,并结合AI技术(如机器学习、自然语言处理、自动化工具等)来处理各个环节,形成智能化、端到端的业务流程。其核心在于任务拆解、动态编排与智能决策的结合,而非单一技术的堆叠。
AI流程的核心优势
- 效率提升:自动化处理重复性任务(如数据录入、审批流转),效率提升30%-50%。
- 成本优化:减少人工干预,降低运营成本20%-30%。
- 精准决策:基于数据驱动的预测分析(如库存预测、风险预警),决策准确性提升40%。
- 灵活性与可扩展性:支持条件分支、循环迭代等逻辑设计,适应业务动态变化。
- 可解释性与容错能力:通过流程透明化与异常处理机制(如备用模型切换、人工审核兜底),增强系统稳定性。
将AI流程与企业现有业务系统深度融合,已成为企业智能化转型的核心路径。
在本系统中,可以通过以下两种方式,实现业务逻辑与AI流程的结合。
使用http接口调用AI流程
请求 URL
- POST:
http://<domain>/[contextPath]/airag/flow/run - GET:
http://<domain>/[contextPath]/airag/flow/run/<flowId>
请求头
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Content-Type | application/json | 是 | 请求数据类型 |
| X-Access-Token | string | 是 | Token |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| flowId | string | 是 | 需要运行的流程 ID |
| inputParams | object | 是 | 传递给流程的输入参数 |
| ├─ content | string | 是 | 流程的文本输入内容(在开始节点中配置) |
| ├─ images | string | 否 | 流程的图像输入内容(在开始节点中配置) |
| responseMode | string | 是 | 响应模式,blocking 表示同步阻塞执行 |
使用GET请求时,所有的请求参数都将作为inputParams,并且responseMode固定为blocking。
响应模式说明
-
阻塞模式 (Blocking) 客户端发送请求后,服务器处理完整个流程后一次性返回结果。适用于流程较短、对实时性要求不高的场景。 设置
responseMode为blocking(默认)。 -
流式模式 (Streaming) 客户端发送请求后,服务器通过 Server-Sent Events (SSE) 协议实时推送处理结果。适用于流程较长、需要实时反馈进度的场景(如打字机效果)。 设置
responseMode为streaming。
阻塞模式返回参数
| 字段名 | 类型 | 说明 |
|---|---|---|
| success | boolean | 请求是否成功,true 表示成功 |
| message | string | 返回消息 |
| code | int | 返回状态码,200 表示成功 |
| result | object | 具体返回数据 |
| ├─ data | string | AI流程返回的数据(在结束节点中配置) |
| timestamp | long | 响应的时间戳 |
流式模式 (SSE) 说明
当 responseMode 设置为 streaming 时,接口将以 text/event-stream 格式返回数据。
客户端需要使用支持 SSE 的方式发起请求。
通过APIPost使用SSE方式调用AI流程示例:

流式返回数据结构示例
流式返回的数据由一系列事件组成,常见的事件类型包括:
FLOW_STARTED: 流程开始NODE_STARTED: 节点开始执行NODE_FINISHED: 节点执行完成FLOW_FINISHED: 流程结束
// 流程开始
{
"data": {
"inputs": {
"content": "你好"
},
"success": true
},
"event": "FLOW_STARTED",
"requestId": "ff8080819aec9cd3019aec9cd3160000"
}
// 节点开始执行
{
"data": {
"id": "start-node",
"inputs": {
"content": "你好"
},
"outputs": {},
"success": false,
"text": "开始",
"type": "start"
},
"event": "NODE_STARTED",
"flowId": "1900021198960492546",
"requestId": "ff8080819aec9cd3019aec9cd3160000"
}
// 节点执行完成
{
"data": {
"id": "start-node",
"inputs": {
"content": "你好"
},
"outputs": {},
"success": true,
"text": "开始",
"type": "start"
},
"event": "NODE_FINISHED",
"flowId": "1900021198960492546",
"requestId": "ff8080819aec9cd3019aec9cd3160000"
}
// 流程结束
{
"data": {
"executeSteps": "start==>llm",
"inputs": {
"content": "你好"
},
"message": "模型未激活,请先在[AI模型配置]中[测试激活]模型",
"success": false
},
"event": "FLOW_FINISHED",
"flowId": "1900021198960492546",
"requestId": "ff8080819aec9cd3019aec9cd3160000"
}
错误响应
| 状态码 | 说明 |
|---|---|
| 400 | 请求参数错误 |
| 401 | 认证失败或 Token 失效 |
| 403 | 权限不足 |
| 500 | 服务器内部错误 |
备注
X-Access-Token需要在登录后获取,并在请求时携带。
Java调用示例 (阻塞)
在Java代码中,可以通过注入 ISysBaseAPI 来调用AI流程。
@Autowired
ISysBaseAPI sysBaseAPI;
// ..... 省略代码
AiragFlowDTO params = new AiragFlowDTO();
params.setFlowId("1900021198960492546");
Map<String, Object> inputs = new HashMap<>();
inputs.put("content", "");
params.setInputParams(inputs);
Result<Object> o = (Result<Object>) sysBaseAPI.runAiragFlow(params);
调用代码查看
用户可以在流程管理页面,点击查看调用代码来查看调用的代码
