- 概述
- 关于函数
- JavaScript 函数
- Python 函数
- 部署并运行
此功能目前处于预览阶段。
UiPath® Functions 是开发者原生、平台监管的计算单元。您用代码编写逻辑,将其作为标准 .nupkg 包部署到 UiPath,并从解决方案中的任意位置调用:
- Maestro流程,作为服务任务。
- RPA 或 API 工作流,作为步骤。
- 智能体,即工具。
- 应用程序,作为其后端。
它们是类型化的,可追踪、可测试且是确定性的:没有 LLM 推理循环,没有模型,只有接受类型化输入并返回类型化输出的代码。函数在同一编排层中与 RPA 机器人、智能体和人工任务一起运行,并继承与其他自动化相同的平台监管:
- 身份
- 凭据
- 审核追踪
- 访问控制
没有需要托管、保护和保持合规的第二个堆栈。
选择语言
函数是您的代码加上 UiPath SDK。支持两种语言、一种打包方式和一种 CLI 模型。
| JavaScript/TypeScript | Python | |
|---|---|---|
| SDK | @uipath/coded-functions-js-sdk | uipath |
| 合同 | TypeScript 接口,或 JSON 架构 | 数据类或 pygantic 模型 |
| 调用方式 | HTTP 端点或Orchestrator 作业 | Orchestrator 作业 |
| 您可以在以下情况下访问: | 支持编码应用程序,或以网页堆栈已在使用的语言编写 | 大量数据处理或 Python 生态系统 |
两者都将其输入和输出导出为 JSON 架构,因此输入的字段直接显示在每个调用界面上的绑定用户界面中,并两者都会在运行时检索凭据和平台资源,而不是在包中提供凭据。
每个函数无论以何种方式调用,都将作为 Orchestrator 作业执行。HTTP 触发器将为每个请求创建一个触发器,因此通过 HTTP 调用的函数仍及其输入、输出和日志会显示在执行中——这两个选项的不同之处在于您访问函数的方式,而非函数的运行方式。
JavaScript 函数
JavaScript 或 TypeScript 函数使用 defineFunction 声明自身。设置 method 和 path 会将其公开为 HTTP 端点 — 支持编码应用程序的形状,其中该函数保存浏览器永远不会看到的凭据和业务规则。当未设置 method 和 path 时,该函数作为作业运行,就像其 Python 对应项一样。
Python 函数
Python 函数是类型化的 Python 模块,它作为 Orchestrator 作业运行,通过 UiPath() 客户端检索平台资源,并通过 @traced 修饰器发出执行跨度。
何时使用函数
函数适用于解决方案需要确定的代码优先逻辑的任何场景,例如:
- 编码应用程序的后端,仅获取已登录用户可能看到的内容,并写回记录系统。
- Maestro 流程中的自定义计算或评分步骤。
- API 集成(NetSuite、SAP、任何 REST 服务)或不带连接器的系统。
- 流程步骤之间的数据转换或业务规则强制执行。
- 使您可以在自动化中重用的开源库或代码中已有的业务逻辑。
AI 驱动的模型推理逻辑属于编码智能体。
如何整合在一起
Author (UiPath SDK) → Package (pack) → Publish
↓
Orchestrator package feed
↓
Deploy as a process (in an Orchestrator folder)
↓
Invoke from: Maestro Service Task | Studio Run Job | Orchestrator API | Job trigger
| an HTTP trigger, for JavaScript functions that declare a route
Author (UiPath SDK) → Package (pack) → Publish
↓
Orchestrator package feed
↓
Deploy as a process (in an Orchestrator folder)
↓
Invoke from: Maestro Service Task | Studio Run Job | Orchestrator API | Job trigger
| an HTTP trigger, for JavaScript functions that declare a route
后续步骤
- 开始使用 JavaScript — 构建项目并运行第一个函数。
- 开始使用 Python — 安装 SDK 并构建您的第一个函数。
- 打包并发布— 部署到 Orchestrator。
- 调用函数— 通过应用程序、Maestro 或 API 调用函数。