Delphi 与大模型交互:SOAP 协议自动化生成方案
背景与思路
此前我们验证了 AI 理解 SOAP 协议并生成对应 XML 的能力。当时是在聊天界面手动测试,将 AI 输出的文本复制粘贴到 Delphi 代码中执行。若要实现完整自动化,关键在于调用 AI 的 API,让程序直接获取输出结果,避免人工介入。
交互流程设计
整个链路的核心在于利用大模型作为'翻译器',将自然语言转化为机器可执行的 SOAP 请求。
首先,向 AI 提供上下文环境,包括 SOAP 调用的 WSDL 文件,让它分析接口定义中的函数或方法数量。明确指定目标函数,例如示例中的 XPlusY,说明其业务逻辑为加法运算。
随后,以自然语言描述调用需求。AI 会根据指令生成符合 SOAP 协议的完整 XML 报文。例如输入如下指令:
调用 XPlusY 函数
现在你需要作为一个 WebService 客户端,调用服务器提供的 XPlusY 函数,你必须生成调用 XPlusY 函数的完整的符合 SOAP 协议的 XML 给服务器端。 调用 XPlusY 函数的两个参数分别是:X=12; Y=22; 请深入思考后输出符合规范的 XML
AI 会构造出包含参数 X=12 和 Y=22 的 XML。若代理程序已集成 API,可直接捕获该 XML 字符串。
接下来,使用 Delphi 的 IdHTTP 组件将生成的 XML 通过 POST 请求发送至 WebService 服务端。服务端执行 XPlusY 函数后,返回结果 XML 给代理程序。
最后,将服务端的返回结果再次发送给 AI。AI 依据 SOAP 协议标准解析 XML,提取返回值。在示例中,AI 识别出元素内容为 34(即 12 + 22),并确认计算结果正确。
应用场景设想
这种模式非常适合处理需要实时数据但训练集滞后的场景。例如查询深圳当前气温,AI 本身无法提供最新数据,但可以通过预设提示词引导其调用外部接口。
具体做法是编写一套提示词模板,告诉 AI 如何调用天气预报相关的 SOAP 函数。当用户询问'现在深圳的气温是多少'时,AI 生成对应的 SOAP XML,程序执行 HTTP 调用获取天气数据,再将结果回传给 AI。AI 解析后,即可用自然语言反馈给用户。这种方式有效打通了静态知识库与动态数据源之间的壁垒。

