大家好,我是日下,平时会在博客中分享系统集成(System Integration)相关的内容。
最近,几乎每天都能看到或听到关于生成式人工智能(Generative AI)的讨论。在文本处理领域,虽然 Google Vertex AI PaLM API 等也备受关注,但就目前而言,讨论热度最高的依然是 ChatGPT。
在使用 Questetra BPM Suite 的客户群体中,生成式 AI 相关的话题也在明显增多。其中,不少客户都在咨询,如何将 Azure OpenAI Service 的 ChatGPT 与 Questetra BPM Suite 进行 API 接口集成。
※关于 Questetra BPM Suite:
这是一款云端业务流程管理系统 (SaaS BPMS),涵盖了从业务流设计到自动化执行以及进度跟踪的全过程。通过直观的业务流程可视化与 API 接口集成,助力企业实现业务效率的显著提升。
本文将简要阐述 OpenAI 原生 ChatGPT 与 Microsoft 提供的 Azure OpenAI Service 版 ChatGPT 之间的区别,并重点介绍如何实现 Azure OpenAI Service 与 Questetra BPM Suite 的 API 接口集成方法。
(注:本文假设您已完成 Azure OpenAI Service 的模型部署,将不再赘述其具体操作步骤,敬请谅解。)
※本文将使用以下简称:
Azure OpenAI Service → 「AOAI」
Azure OpenAI Service 的 ChatGPT → 「AOAI ChatGPT」
OpenAI 官方提供的 ChatGPT → 「原生 ChatGPT」
Questetra BPM Suite → 「Questetra」
1: 什么是 Azure OpenAI Service(AOAI)
“AOAI”是 Microsoft 推出的一项服务,允许用户在 Azure 云平台上调用包括 ChatGPT 在内的 OpenAI 多种生成式 AI 模型。它也是 Azure Cognitive Services(认知服务) 体系中的一项服务。与直接使用 OpenAI 官方服务相比,它在安全性和数据保护方面更符合企业级使用需求。
2: 「原生 ChatGPT」与「AOAI ChatGPT」的区别
「AOAI ChatGPT」支持多种身份验证和连接方式,能够满足企业对高安全性的需求,因此,通常被认为比「原生 ChatGPT」更适合商业用途。
此外,关于「原生 ChatGPT」,官方曾提到输入的数据可能会被用于模型训练。虽然通过 API 提交的数据不会被用于模型训练,但普通员工在实际使用时往往难以区分这些差异。这难免会让系统管理员对数据安全感到担忧。因此,从数据保护和防泄漏的角度来看,「AOAI ChatGPT」给企业带来的安全感更强。
※什么是 ChatGPT?通俗易懂地解释其与 Azure OpenAI Service 的区别(软银公司官方博客)【仅日语版本】
(引用自对比表“训练数据”栏):“对于 SaaS 版本,输入的信息有可能被用于 ChatGPT 的训练。”
※OpenAI 平台介绍(OpenAI 官网)
(概览部分):“在 OpenAI,保护用户数据是我们的核心使命。我们不会利用通过 API 提交的输入和输出数据来训练模型。更多详情请参阅 API 数据隐私页面。”
※关于 Azure OpenAI Service 的常见问题(微软官网)
“模型训练会使用我公司的数据吗? → Azure OpenAI 不会使用客户数据来重新训练模型。”
3: 「AOAI」的 API 参考指南
不仅仅是“AOAI”,微软的文档通常量非常大,新旧信息交织在一起,有时很难找到当前最正确的内容。我在研究“AOAI”时也遇到了同样的情况。
以下 API 参考指南中似乎一度没有包含最新信息……
Azure OpenAI Service REST API 参考指南
例如,我曾一度无法找到关于
https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions
的描述,文档中只提到了不带 /chat 的 /completions 路径。
后来我仔细阅读了下方的 Swagger 向け JSON 文件,才找到了 /chat/completions 的相关记载。(这是截至 2023/8 的情况,目前 2023/9/8 的参考文档中已经补充了该内容。)
Swagger 用 JSON 文件 2023-06-01 版

通过参考这些技术文档,我成功验证了「AOAI ChatGPT」与「Questetra」之间的 API 接口集成运行情况。
4: 调用「AOAI」API 时的身份验证
正如前文提到的 API 参考文档开头所述,主要有以下两种验证方式:
- API 密钥认证
- Azure Active Directory(现 Microsoft Entra ID)
经过多次尝试,由于 Azure AD 认证配置较为复杂(截至 2023/9/6 仍未成功)……
因此,我决定利用 Questetra Ver.15.1 中新增的“HTTP 自定义标头(支持指定 api-key)”功能,采用 API 密钥认证方案。
5: 如何轻松实现「AOAI ChatGPT」与「Questetra」的 API 联动
经过一番摸索,我终于成功实现了「AOAI ChatGPT」与「Questetra」的集成,并为此准备了Add-on XML(插件 XML)(可在流程设计中使用的扩展组件)!
该插件基于下方的「原生 ChatGPT」版插件修改而成。考虑到「AOAI ChatGPT」特有的配置项以及插件 XML 配置项的数量限制,我对部分功能进行了精简和优化。
通过使用上述「AOAI ChatGPT」专用插件,您无需再反复查阅复杂的微软 API 文档,即可轻松实现系统集成。(关于具体的配置方法,请查看上述链接中的 Notes 说明。)
关于如何导入 Questetra 「插件 XML」的方法,请参考以下操作手册:
M415: 在业务流程定义中添加可用的自动步骤
6: 总结
Questetra 只需通过下方表格申请,即可立即开启免费试用!如果您希望在日常业务中引入生成式 AI 的自动化协作,请务必尝试一下。
此外,我们还在下方的列表页面准备了多种业务流程示例,涵盖了「原生 ChatGPT」、「AOAI ChatGPT」以及其他生成式 AI 的集成案例。欢迎参考!

