跳到主要内容

从您的 Mendix 使用 Gen AI 的应用程序

从您的 Mendix 使用 Gen AI 的应用程序

关键精华

  • 使用计算机可以让您 Mendix 应用程序可以做事,而不仅仅是响应。 通过与 LLM 集成,您的应用程序可以控制虚拟计算机根据用户输入执行实际操作 - 例如单击、键入和导航应用程序。
  • Mendix 使计算机使用设置出奇的顺畅。 借助 GenAI Commons、Amazon Bedrock 连接器和 REST 集成等构建块,您无需大量自定义代码即可启动并运行工作示例。
  • 周到的设置可带来更好的性能和更安全的结果。 通过正确的提示、模型选择和防护措施,您可以指导您的 LLM 高效、安全地行动,同时充分发挥计算机使用的潜力,控制成本和风险。

如果您的应用程序实际上可以通过询问来使用计算机(例如打开文件、单击按钮以及完成任务),那会怎样?

感谢 GenAI 和一些方便的 Mendix 工具,这不仅是可能的——而且出乎意料地可行。在这篇文章中,我们将向你展示如何构建一个 Mendix 一款能够与虚拟计算机对话并执行操作的应用程序。您将了解如何插入大型语言模型 (LLM)、设置合适的连接器,并让用户仅通过使用人类语言与您的应用程序交互即可驱动操作。

什么是计算机使用?

“计算机使用”是生成式人工智能 (GenAI) 和应用程序开发领域一个全新而强大的概念。它允许开发者构建能够控制计算机(通常是虚拟计算机)的应用程序,使其根据用户指令完成任务。

简而言之:一套计算机使用设置由一款应用程序组成,该应用程序连接到一个专门的大型语言模型 (LLM),该模型经过训练,可以预测计算机使用行为。当用户在应用程序中输入内容,例如“您能搜索下个月第二个周末飞往阿姆斯特丹的航班吗?”时,LLM 会在考虑聊天记录和上下文的同时,计算出实现该操作所需的步骤。

这些步骤可能包括打开浏览器、在搜索框中输入内容以及点击按钮。然后,LLM 会发回具体的指令,例如将鼠标移动到哪里、输入什么内容或点击什么内容。应用程序会使用这些指令来控制虚拟计算机。有时,该应用程序还会将计算机屏幕截图发送给 LLM,以便它查看正在发生的事情并决定下一步该做什么。

通过 Mendix,您已经可以构建一个“智能应用”,利用计算机使用功能来帮助用户并支持业务流程。使用来自以下平台支持的组件,可以轻松上手: Mendix 市场类似 GenAI 公共资源, 对话式使用者介面以及与您的设置兼容的 LLM 连接器。将您的应用连接到虚拟计算机并不需要很长时间。该应用可以使用熟悉的工具(例如 REST API)与计算机进行通信,这些工具通常用于 Mendix 项目。

将计算机应用到 Mendix

在我们的示例中, Mendix 该应用使用聊天界面,用户可以在其中输入想要执行的操作。然后,该应用会在虚拟桌面上执行必要的操作。此设置基于 GenAI Showcase 应用程序,其中包含一系列小型工作示例,可帮助开发人员学习 GenAI 模式并构建更智能的 Mendix 应用程序。它旨在启发和教育,特别是对于那些刚接触 GenAI 的人。

选择法学硕士并进行设置

我们使用的是 Anthropic Claude Sonnet 3.7,这是一款通过 Amazon Bedrock 托管的法学硕士 (LLM)。我们将使用 Mendix-支持的 Amazon Bedrock 连接器。当启用计算机使用时(我们选择了版本 20250124),LLM 将使用计算机使用指令作为工具调用对象进行响应,这些指令可以在 Mendix 应用程序。

使用代理循环进行函数调用

- Mendix 应用程序遵循函数调用模式,这意味着它使用微流中的逻辑来处理 LLM 的工具调用。它还会将虚拟桌面的屏幕截图发送回 LLM,以便 LLM 查看当前屏幕并确定下一步操作。这种来回交互称为代理循环。

得益于 GenAI Commons 模块,此功能可立即使用 聊天完成操作我们只需要一个函数微流来映射 LLM 的指令(点击什么、在哪里输入等)并将它们作为命令发送给虚拟计算机。

连接到虚拟计算机

为了让虚拟机按照应用的指令运行,我们设置了与本地 Docker 容器的 REST 集成。我们容器使用的镜像基于 Anthropic 的计算机使用演示存储库,并包含执行命令的 Python 代码。

我们将此代码包装在 一个简单的 HTTP 服务器 并将其发布到容器内。这样, Mendix 应用程序只需使用微流中的调用 REST 服务活动即可触发操作。

亲眼见证这一切

虚拟计算机的桌面在本地端口可见(例如, localhost:6080),这样我们就可以在浏览器中实时观看正在发生的事情。如果你把聊天界面和虚拟桌面并排放在 Mendix 应用程序,您可以清楚地看到当用户输入例如航班信息请求时系统如何响应。

使用电脑时需要注意什么

计算机的使用功能强大,但也有一些重要的事情需要考虑。

1 – 模型质量至关重要

不同的 LLM(甚至同一 LLM 的不同版本)会给你不同的结果。有些 LLM 更擅长理解屏幕截图,有些则更擅长规划高效的步骤。有些 LLM 给出的答案更简短,而有些则更擅长在出现问题时进行恢复。

请记住:大多数主要的 LLM 提供商的计算机使用仍处于测试阶段,包括 OpenAIAmazon Bedrock,所以事情变化很快。

2 – 速度慢且成本高

根据诸多因素,例如模型的提示方式、使用的模型和工具集版本以及其视觉能力的优劣,应用程序可能需要为一个请求多次调用 LLM。每次调用都会使用令牌,这会增加成本。如果 LLM 不断尝试却无法获得正确答案,它可能会一直循环,直到达到令牌或时间限制。

此外,这个过程可能很慢。每个步骤都需要几秒钟,而且每个屏幕截图都必须创建并发送。虽然这可能比人工执行相同任务花费的时间更长,但仍然是值得的,尤其是在自动执行重复性任务或同时处理多个请求时。将这些枯燥或重复的任务自动化——尤其是在它们可以同时运行的情况下——可以让人们腾出时间专注于更重要、更细致的工作。

3 – 安全保障至关重要

由于计算机的使用赋予了应用程序对虚拟机的完全控制权,因此设置限制至关重要。如果没有安全措施,系统可能会运行不必要的命令。

你应该:

  • 限制虚拟机上可用的软件和系统访问权限
  • 设置 LLM 提示和护栏,在执行操作之前进行检查
  • 确定可接受的风险水平
  • 仔细测试并确保系统按照您预期的方式运行

为什么使用计算机很重要

计算机的使用开辟了一种全新的方式,可以构建智能、有用的应用程序 Mendix通过将 LLM 与虚拟桌面和一些精心设计的逻辑相结合,您可以创建不仅响应用户,还能代表用户采取行动的应用程序。虽然在性能、成本和安全方面仍然存在挑战,但潜力巨大。无论您是要自动执行重复性任务,还是探索简化工作流程的新方法,这都是一个值得尝试的强大模式。

选择你的语言