跳到主要内容

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-Typeapplication/json请求数据类型
X-Access-TokenstringToken

请求参数

参数名类型必填说明
flowIdstring需要运行的流程 ID
inputParamsobject传递给流程的输入参数
├─ contentstring流程的文本输入内容(在开始节点中配置)
├─ imagesstring流程的图像输入内容(在开始节点中配置)
responseModestring响应模式,blocking 表示同步阻塞执行

使用GET请求时,所有的请求参数都将作为inputParams,并且responseMode固定为blocking。

响应模式说明

  • 阻塞模式 (Blocking) 客户端发送请求后,服务器处理完整个流程后一次性返回结果。适用于流程较短、对实时性要求不高的场景。 设置 responseModeblocking (默认)。

  • 流式模式 (Streaming) 客户端发送请求后,服务器通过 Server-Sent Events (SSE) 协议实时推送处理结果。适用于流程较长、需要实时反馈进度的场景(如打字机效果)。 设置 responseModestreaming

阻塞模式返回参数

字段名类型说明
successboolean请求是否成功,true 表示成功
messagestring返回消息
codeint返回状态码,200 表示成功
resultobject具体返回数据
├─ datastringAI流程返回的数据(在结束节点中配置)
timestamplong响应的时间戳

流式模式 (SSE) 说明

responseMode 设置为 streaming 时,接口将以 text/event-stream 格式返回数据。 客户端需要使用支持 SSE 的方式发起请求。

通过APIPost使用SSE方式调用AI流程示例: alt text

流式返回数据结构示例

流式返回的数据由一系列事件组成,常见的事件类型包括:

  • 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);

调用代码查看

用户可以在流程管理页面,点击查看调用代码来查看调用的代码