工作流3-API(2)

Gemini 3.2本地API调用实战:构建可审计的多模态AI工作流 多模态AI是指模型能同时理解文本、图像、代码等异构信息并建立语义关联的技术范式;其核心原理在于跨模态嵌入对齐与联合推理,技术价值体现在提升生成结果的准确性、可控性与硬件适配能力。典型应用场景包括流程图自动生成(mermaid)、CAD图纸转G代码、LED硬件时钟开发等工程任务。然而,浏览器内置入口存在前端代理拦截、隐式降级、上下文污染等问题,导致多模态能力被严重阉割。真正释放Gemini 3.2潜力的关键,在于绕过Chrome封装,通过直连API构建本地化、可验证、可回滚的调用链——这正是本文聚焦的工程实践 阅读详情

文章目录

TaskService

参考:https://blog.youkuaiyun.com/luckyzhoustar/article/details/48630555

  1. 新建一个userTask bpmn,设置两个候选人:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="mySimple1" name="我的申请1" isExecutable="true">
    <startEvent id="startEvent" name="开始"></startEvent>
    <userTask id="userApply" name="测试1" activiti:candidateUsers="whb,user1">
      <documentation>some task ${message}</documentation>
    </userTask>
    <sequenceFlow id="flow1" sourceRef="startEvent" targetRef="userApply"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow2" sourceRef="userApply" targetRef="endevent1"></sequenceFlow>
  </process>
</definitions>

在userTask上配置了一个变量占位符 ${message}。

//流程引擎对象
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    //TaskService
    @Test
    public void testTaskService(){
        //1.部署流程定义
        Deployment deployment = processEngine.getRepositoryService()
                .createDeployment()
                .addClasspathResource("diagrams/Simple1.bpmn")
                .deploy();
        logger.info("deployment信息id:{}",deployment.getId());//deployment信息id:45001

        Map<String,Object> variables = Maps.newHashMap();
        variables.put("message","testMessage!");

        //2.启动流程实例,携带变量
        ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey("mySimple1",variables);
        logger.info("流程实例ID:{}", processInstance.getId());//流程实例ID:45004
        logger.info("流程定义ID:{}",processInstance.getProcessDefinitionId());//流程定义ID:mySimple1:1:45003

        //3.查询task
        TaskService taskService = processEngine.getTaskService();
        Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
        logger.info("task:{}",ToStringBuilder.reflectionToString(task,ToStringStyle.JSON_STYLE));
        //流程中的${message}变量替换了
        //task:{"revision":1,"owner":null,"assignee":null,"initialAssignee":null,"delegationState":null,"parentTaskId":null,"name":"测试1","localizedName":null,"description":"some task testMessage!","localizedDescription":null,"priority":50,"createTime":"Thu Mar 14 16:49:44 CST 2019","dueDate":null,"suspensionState":1,"category":null,"isIdentityLinksInitialized":false,"taskIdentityLinkEntities":[],"executionId":"52504","execution":null,"processInstanceId":"52504","processInstance":null,"processDefinitionId":"mySimple1:4:52503","taskDefinition":null,"taskDefinitionKey":"userApply","formKey":null,"isDeleted":false,"eventName":null,"tenantId":"","queryVariables":null,"forcedUpdate":false,"variableInstances":null,"usedVariablesCache":{},"cachedElContext":null,"id":"52508"}

        //4.设置变量,并查看本地变量等
        taskService.setVariable(task.getId(),"变量名1","值1");
        taskService.setVariableLocal(task.getId(),"本地变量名1","本地值1");

        Map<String, Object> variables1 = taskService.getVariables(task.getId());
        Map<String, Object> variablesLocal = taskService.getVariablesLocal(task.getId());
        Map<String, Object> processVariables = processEngine.getRuntimeService().getVariables(task.getExecutionId());
        //三种变量的范围
        logger.info("-- variables1:{}",variables1);//范围大:task变量都能获得
        logger.info("-- variablesLocal:{}",variablesLocal);//只能获取设置到的local变量
        logger.info("-- processVariables:{}",processVariables);//除了local
        //-- variables1:{变量名1=值1, 本地变量名1=本地值1, message=testMessage!}
        //-- variablesLocal:{本地变量名1=本地值1}
        //-- processVariables:{变量名1=值1, message=testMessage!}
        
        //当taskComplete后,task将为null
        taskService.complete(task.getId());
    }
2篇3章8节:扣子编程搭建 API 的工作流开发实践 摘要:本文探讨了生成式人工智能如何从单一工具演变为重构企业工作流程的核心能力。通过分析AI生成式工作流的特点及其与传统AI工具的区别,重点以血常规解析为案例,详细展示了从需求输入、流程预览到飞书集成、API部署的全流程开发方法。文章指出,新一代AI工作流将自然语言作为核心驱动,通过"需求描述-自动生成-迭代优化"的闭环模式,大幅降低开发门槛,使非专业人员也能快速构建复杂系统。案例中的血常规解析工作流整合了多模态识别、结构化输出和飞书生态对接等功能,体现了AI工作流在医疗数据处理中的高效应 阅读详情

相关推荐

告别以太网瓶颈:手把手教你为AI训练集群搭建InfiniBand网络(以NVIDIA DGX A100/H100为例)

本文详细指导如何为AI训练集群搭建InfiniBand网络,解决以太网瓶颈问题,特别针对NVIDIA DGX A100/H100系统。通过硬件选型、网络架构设计和性能调优,显著提升多机多卡训练效率,适用于大规模模型训练场景。

weixin_30336061的博客 309

Source Taste: Activiti: The Journey of Submit StartForm

1. org.activiti.engine.impl.FormServiceImpl public ProcessInstance submitStartFormData(String processDefinitionId, Map properties) { return commandExecutor.execute(new SubmitStartFormCmd(pr

Derek_Zhang_的专栏 2242

告别GitHub!手把手教你用Gitblit在Windows 10上搭建私人局域网Git服务器(附SourceTree配置)

本文详细介绍了如何在Windows 10环境下使用Gitblit搭建私有Git服务器,实现局域网内高效代码协作。通过轻量级的Gitblit解决方案,开发者可以享受数据完全自主、离线可用性和局域网高速访问等优势。文章包含从环境准备、安装部署到SourceTree配置的全流程指南,特别适合金融、医疗等敏感行业团队使用。

weixin_30430169的博客 280

Activiti7 报 identityLinks 属性无法转换 json异常

原因: 在Activiti7 的 ProcessDefinition的实现类中,会有一个identityLinks 属性,如果没做特殊处理是获取不到的,当查询完部署对象并已json形式返回前段时,在转换json时就会报改属性无法转换为json 解决方案: 在启动类中添加: // 通过fastjson替换默认的jackson转化json数据 // 在过滤器中过滤了identityLink...

weixin_38168050的博客 1332

RT-2(robotics-transformer2)论文--阅读笔记

谷歌RT-2机器人论文的阅读笔记。

weixin_61255639的博客 1824

CST Studio Suite安装详细教程(附安装包)CST Studio Suite 2024超详细安装教程

CST Studio Suite 2024安装指南摘要:本文详细介绍了CST Studio Suite 2024电磁仿真软件的下载与安装流程,包含23个图文步骤说明,从解压安装包到配置许可证服务器。重点提示了以管理员身份运行、自定义安装路径等关键步骤,并提供了常见问题解决方案和入门技巧。该软件适用于天线设计、PCB分析等高频电磁场仿真,安装后需通过localhost:27000连接许可证服务器完成激活。

pythonqiang9的博客 1万+

Activiti6.0流程引擎学习——(22)activiti的任务管理服务(TaskService)

这里介绍activiti中的任务管理服务,也就是其中的TaskService。 TaskService功能: 1、对用户任务(UserTask)管理和流程的控制; 2、设置用户任务(UserTask)的权限信息(拥有者,候选人,办理人); 3、针对用户任务添加任务附件、任务评论和事件记录。 TaskService对Task管理与流程控制: 1、Task对象的创建,删除。但是很少使用Ta...

JJBOOM425的博客 6610

Chroma向量数据库实战:用Python快速搭建本地知识库(附中文诗词检索案例)

本文详细介绍了如何使用Chroma向量数据库和Python快速搭建本地知识库,并附有中文诗词检索的实战案例。通过解析核心概念、数据准备、向量化及智能检索实现,展示了Chroma在处理中文语义搜索时的轻量级与易用性,为开发者构建AI应用原型提供了实用指南。

weixin_29221753的博客 479

Activiti6-TaskService(学习笔记)重要

任务管理服务: 可以看出来,TaskService操作对象,主要针对于UserTask, 对于业务方来说,最重要的就是用户任务,可以对用户任务进行增删改查的管理、可以对相关流程的控制、也可以设置一些用户任务的权限信息、也可以针对用户审批中的一些附加信息。 对Task进行输出,看一下其内部的数据格式: <?xml version="1.0" encoding="UTF...

weixin_30824479的博客 999

API深度集成——OpenClaw与第三方服务无缝对接(2026实战版)

本文介绍了OpenClaw系统与第三方服务的API深度集成技术,重点阐述了RESTful API的实现方案。通过一个功能完善的REST客户端类(RestClient)展示了核心功能:支持请求重试、拦截器机制、错误处理和认证管理等;同时提供了API资源管理器(ApiResourceManager)简化资源操作。这些技术实现了OpenClaw与外部系统的稳定可靠对接,为开发者构建API集成方案提供了2026年的最佳实践。

博客 1213

032、准谐振反激变换器(QR-Flyback)原理

文章摘要: 本文以65W PD快充炸管案例切入,解析准谐振反激变换器(QR-Flyback)原理。通过主动利用漏感与MOS结电容的谐振,在Vds波谷开通实现近似ZVS,显著降低开关损耗与电压应力。对比传统反激,QR模式轻载效率提升8%,Vds尖峰减少23%。关键设计要点包括:变压器漏感需<3%、谷底检测电路需抗干扰、启动阶段需防过冲。推荐NCP1340等专用控制芯片,并强调VCC电容优选低ESR陶瓷材质。QR适用于30W-150W场景,其核心优势在于轻载效率优化,但需平衡漏感控制与可靠性。作者结合实测数据与

Jack010169的博客 112

复习步骤17- BPMN任务(2)服务任务

服务任务分类 Java Service Task :主要掌握这个就可以了 Shell Task Web Service Task Java Service Task --Java服务任务,在流程文件bpmn中配置标签 activiti:class:指定的自定义JAVA必须实现JavaDelegate、ActivityBehavior这两个接口的其中一个 activiti:...

香帅的博客 2089

c#算法(5)—最小二乘法(二次曲线拟合)

最小二乘法——二次曲线拟合

qq_34059233的博客 1659

OpenCode联动Kimi K3与GLM-5.2 API:从聊天式编程到工程化AI工作流

在软件开发领域,AI代码生成已成为提升效率的重要工具,其核心原理是利用大语言模型理解自然语言指令并生成结构化代码。传统聊天式交互存在上下文断裂、状态难维持等痛点,限制了AI在复杂工程场景中的价值。通过引入任务自动化与工作流编排技术,开发者能够将离散的AI对话转化为可编程、可复用的自动化流程,从而显著提升代码生成与迭代的稳定性和可控性。OpenCode作为代码任务自动化执行器,结合Kimi K3的长上下文分析能力与GLM-5.2的快速响应特性,实现了从“对话流”到“任务流”的范式转换。该方案尤其适用于复杂逻辑

weixin_29058331的博客 254

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

3.2.0 版本预告!Apache DolphinScheduler API 增强相关功能

API 触发工作流运行可以获得instance ID增加了部分 Restful API,包括 taskInstance、workflow state、workflowInstance、workflow and schedule、task relation⏰0:00-00:48 DolphinScheduler 3.2.0 API 增强新功能1:在触发工作流定义之后通过一个ID获取工作流实例的运行状态⏰00:48-1:45 用Postman演示如何通过ID获取工作流实例的运行状态。

Apache DolphinScheduler开源社区 843

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深入解析Android Camera架构:从Camera2 API到HAL3的完整工作流程

在移动应用开发中,相机功能是多媒体处理的核心模块之一,其背后涉及复杂的系统架构与数据流处理。理解相机系统的工作原理,需要从硬件抽象层(HAL)和应用程序接口(API)的设计入手。现代Android相机架构基于分层模型,通过硬件抽象层(如HAL3)屏蔽底层硬件差异,为上层提供统一的控制接口。Camera2 API作为应用层的主要编程接口,采用管道模型实现精细化的相机控制,允许开发者管理图像捕获流程。这种架构的技术价值在于实现了硬件控制与应用程序的逻辑解耦,提升了系统的兼容性和可维护性。在实际应用场景中,开发者

weixin_33871366的博客 426

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Dify审计日志全链路追踪实战(含审计事件分类编码表v3.2):覆盖API调用、工作流执行、RAG溯源三大高危场景

Dify日志审计教程助你构建全链路安全追踪体系,覆盖API调用、工作流执行与RAG溯源三大高危场景,提供标准化审计事件分类编码表v3.2及实操配置指南。支持细粒度权限控制与异常行为识别,审计效率提升60%,值得收藏。

LiteTrans的博客 477

3个陷阱与2种方案:AI Agent工作流搭建中API对接

在当下技术迅猛发展的时代,AI Agent 已成为众多企业开发智能系统的核心组件。但在实际开发过程中,开发者往往会因为对第三方开放 API 的处理方式不当,导致项目出现性能瓶颈、耦合度过高或异常难以追踪等问题。本文将结合一个典型的开源项目 {{ICODE0}}(一个用于构建 AI 对话代理的框架)中 {{ICODE。

后台模板 118

短剧开发效率提升300%的关键在哪?Seedance 2.0工作流API的12个隐藏参数与3个未公开Hook机制

提升短剧开发效率300%,关键在于基于 Seedance 2.0 的自动化短剧工作流 API 文档说明。涵盖12个隐藏参数调优与3个未公开Hook机制,适用于剧本解析、分镜生成与多平台发布场景,实现全流程自动化。值得收藏。

Algorift的博客 356

紧急通知:Notion官方即将关闭Public API v2接口,最后窗口期用ChatGPT构建离线兼容工作流的3种降级方案

Notion API v2即将关闭?用ChatGPT + Notion 工作流构建离线兼容方案。本文提供3种降级策略:本地缓存同步、Markdown双向导出、CLI脚本自动化,适配个人知识管理与团队协作场景,保障数据连续性与操作自主性,值得收藏。

LogicGlow的博客 269

Dify平台集成本地Qwen3.5-2B:可视化构建AI工作流应用

本文介绍了如何在星图GPU平台上自动化部署Qwen3.5-2B轻量化多模态基础模型,并通过Dify平台快速构建AI工作流应用。该方案支持可视化开发智能客服、内容生成等场景,显著提升开发效率,同时保障数据隐私与模型可控性。

weixin_42497762的博客 341

DolphinScheduler——工作流实例的生命周期

该篇文章主要介绍DolphinScheduler-3.2.0工作流实例的工作周期。

nsa65223的专栏 844

Ollama+Llama-3.2-3B:打造个人AI写作工作流

本文介绍了如何在星图GPU平台上自动化部署【ollama】Llama-3.2-3B镜像,快速搭建个人AI写作助手。该方案利用预置镜像实现开箱即用,用户可轻松进行文本生成、内容扩写与润色,有效应用于日常写作、邮件草拟及创意激发等场景,提升内容创作效率。

weixin_31163455的博客 432

RedditC2:一款基于Reddit API的C2流量托管工具

RedditC2是一款基于Reddit API的C2流量托管工具,该工具能够使用Reddit API来托管C2流量,由于大部分蓝队研究人员都会使用Reddit,因此使用Reddit API就变成了一个伪装合法流量的绝佳方式。该项目仅出于教育目的或测试目的开发和使用,请在获得测试授权后谨慎使用。

2401_85023708的博客 1652

凌晨2点还在手动导数据?——AI自动化工作流紧急上线清单(含ChatOps/Notion/API三阶部署模板)

告别凌晨手动导数据!用AI工具自动化工作流解放重复劳动,适用于运营、产品、研发等多场景。整合ChatOps协同、Notion动态看板与API直连系统,实现任务触发→数据同步→结果反馈闭环。提升效率80%+,错误率趋近于零,值得收藏。

LiteCompile的博客 188

vue3.2 reactivity 之 (ref && reactive) API源码解析

vue3.2 响应式reactivity源码解析refshallowRefisReftoReftoRefsunrefproxyRefscustomReftriggerRefreactivereadonlyisReactiveisReadonlyisProxyshallowReactiveshallowReadonlymarkRawtoRaw 在代码块中我会添加注释,方便大家理解,配合vue文档看效果更佳 ref export function ref<T extends object>( v

weixin_44543419的博客 1314
上一篇: 工作流3-API(1)
下一篇: 设计模式--责任链模式
王小禾
博客等级 码龄11年 80粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值