- Botpress 中的 "执行代码卡 "允许您在机器人工作流内运行自定义 JavaScript,从而实现标准内置操作之外的动态 API 调用、数据处理和个性化逻辑。
- 主要用例包括动态 API 请求、后处理LLM 输出、速率限制、权限检查和多步骤 API 调用链,让人工智能代理能够精确处理复杂的工作流程。
- 最佳实践包括确保环境变量中的 API 密钥安全、优雅地处理错误和超时,以及为稳健、安全的机器人操作构建条件逻辑,从而确保流畅、可扩展的 API 集成。
人工智能代理的强大取决于它们所能访问的数据。虽然大型语言模型LLMs)能从训练数据中生成响应,但除非与 API 集成,否则它们无法检索实时股票价格、处理付款或访问客户关系管理详情。
API 使人工智能代理能够访问实时数据、执行逻辑和触发操作。要充分利用这些 API,代理需要定制代码。
通过Botpress Studio的 "执行代码 "卡,您可以在机器人的工作流程中编写和执行 JavaScript--无缝处理 API 调用、数据处理和机器人行为定制。
什么是执行代码卡?
Botpress 中的 "执行代码卡"(Execute Code Card)允许开发人员在机器人流程中运行自定义 JavaScript。它可以实现以下功能:
- 自定义逻辑执行:您可以执行复杂的计算,或以标准操作未涵盖的方式转换数据。
- 动态互动:根据用户数据或实时计算调整响应。
- 数据集成:与第三方服务无缝连接,获取或发送数据。
- 状态管理:访问并修改机器人的状态,以维护上下文并实现个性化交互。
- 错误处理:实施自定义错误管理,确保稳健运行。
"执行代码卡 "具有人工智能生成的代码建议功能。输入一个提示(如获取 API 数据),系统就会立即生成 JavaScript。然后,您可以根据需要对其进行审查、编辑和完善,从而加快开发速度。
为什么人工智能代理需要外部应用程序接口?
人工智能代理的作用取决于它们所访问的数据和服务。虽然它们可以处理输入并生成响应,但它们缺乏实时知识、事务处理能力以及没有外部应用程序接口的深度集成。
无论您是要集成实时数据、实现工作流程自动化还是增强安全性,API 都能让您的机器人更加智能、反应更快、集成度更高。
使用执行代码卡的 5 种方法
Botpress Studio中的 "执行代码卡 "可简化人工智能代理操作。将其添加到您的工作流程中非常简单,只需按照本教程快速操作即可:
添加后,以下是在代理工作流程中利用它的主要方法。
1.动态 API 调用
Execute Card 可让您根据用户意图、机器人上下文或之前的对话动态修改请求,而不是使用静态 API 调用。
举例说明:根据用户偏好获取自定义数据
提示:旅行聊天机器人需要根据用户的目的地、旅行日期和预算检索酒店价格。
.webp)
注意 执行代码卡可以通过自然语言生成代码。但是,请务必验证 变量 在将工作流程部署到生产环境之前,请务必验证生成的代码中使用的变量。
2.LLM 响应的后处理
虽然Botpress 提供了内置的人工智能操作,但有时您需要在向用户显示响应之前对其进行微调--无论是格式化输出、过滤某些词语,还是更清晰地构建数据。
示例:将非结构化LLM 响应重写为定义的表格/格式。
提示:人工智能从应用程序接口获取餐厅推荐,我想让你在显示之前将它们格式化为一个简洁的表格。
.webp)
3.限速和条件执行
某些 API(包括数字钱包)有使用限制。有了执行代码卡,你就可以通过执行速率限制、设置回退和根据 API 可用性添加条件逻辑来控制用户交互。
示例:调用 API 前检查其使用情况
Prompt: Check API quota from https://api.monitoring.com/usage?apikey=${workflow.userApiKey} before making a request. If fewer than 5 requests remain, return an error; otherwise, proceed. Ensure proper error handling in case of failures.
.webp)
4.处理权限
如果您的机器人需要在允许用户访问某些功能之前对用户进行验证,该卡允许在Botpress的默认选项之外自定义验证流程。
示例:在提供 AI 响应之前检查用户订阅状态
Prompt: Check a user's subscription via https://billing.example.com/user/{userId}. If on a free plan, prompt an upgrade; otherwise, allow access. Handle errors.
.webp)
5.多步骤 API 链
有时,机器人需要将多个应用程序接口的数据结合起来,然后再发送最终响应。该卡可通过动态获取、转换和传递数据来实现复杂的多步骤工作流。
实例:获取天气+餐厅预订,推荐最佳出发时间
提示:使用 workflow.userApiKey 获取 workflow.city 的天气和交通数据。根据条件,返回最佳旅行时间。处理故障。
.webp)
为人工智能代理提供无缝 API 集成
当人工智能代理能够利用实时数据、自动执行工作流程并与外部服务连接时,它们就能发挥最佳作用。
Botpress Hub 通过预建 API 集成、自动化工具和即用型连接器实现了无缝集成,因此您可以专注于构建,而不是配置。
常见问题
1.我是否需要了解 JavaScript 才能有效使用 "执行代码卡"?
不一定。了解基础知识很有帮助,但这张卡包含人工智能生成的代码建议。你只需描述你想要什么,它就会写出一些启动代码供你调整。
2.是否有用于常见 API 集成的模板或模板代码片段?
是的,Botpress 为调用天气 API、CRM 或支付服务等常用用例提供了示例和社区共享片段。
3.没有 API 集成经验,可以使用执行代码卡吗?
当然可以。如果您对应用程序接口(API)不熟悉,该卡的内置人工智能可以通过提示为您提供指导,而可视化工作流程生成器则让整个过程更加直观。
4.该卡如何处理长时间运行的 API 请求或超时?
它支持使用 await 的异步 JavaScript,但您需要使用 try/catch 和回退逻辑手动构建超时处理,以保持顺畅。
5.使用一卡通进行身份验证和授权的最佳做法是什么?
将敏感密钥安全地存储在环境变量中,使用令牌或标头进行 API 验证,并在代码中添加条件逻辑,以在继续操作前检查用户角色或访问级别。