studio-web
latest
false
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Studio Web 用户指南

上次更新日期 2025年9月22日

构建第一个 API 工作流

以下教程通过一个使用 Petstore 公共 API 的简单示例,提供有关 API 工作流界面背后的关键概念的实践体验。

在此示例中,您将从语言模型 (LLM) 请求“Pet information”,并使用该数据将宠物添加到 Swagger Petstore。Swagger Petstore (https://petstore.swagger.io)提供易于访问且易于使用的 API 端点,支持或不支持身份验证。

步骤 1:调用 LLM

  1. 在 API 工作流设计器画布上,选择“添加” (加号 + 图标)。
  2. 选择“连接器”>“UiPath GenAI Activities”>“内容生成”。
  3. “属性”面板中设置或选择现有连接。
  4. 配置以下属性:
    • 型号 — gpt-4o-mini-2024-07-18
    • Prompt

      对于 Swagger Petstore,请创建可以添加到其库存中的新奇幻生物的详细信息。仅响应有效的 json。返回包含 5 个此类元素的数组。”

  5. 在此之前调试您的工作流。
  6. 输出面板中查看结果。您应该会看到活动调用的原始输入和输出。响应应如下所示:
    {
      "cacheReadInputTokens": 0,
      "created": 1745444601,
      "usage": {
        "total_tokens": 741,
        "completion_tokens": 686,
        "prompt_tokens": 55,
        "cache_read_input_tokens": 0
      },
      "contextGroundingCitationsString": "[]",
      "totalTokens": 741,
      "promptTokens": 55,
      "model": "gpt-4o-mini-2024-07-18",
      "id": "chatcmpl-BPcADRRpy7ZDZpBOxp6XJYk0HOpaa",
      "text": "```json\n[\n    {\n        ....  \"A stealthy creature that blends into the shadows, highly elusive.\"\n    }\n]\n```",
      "choices": [
        {
          "index": 0,
          "finish_reason": "stop",
          "message": {
            "content": "```json\n[\n  ...ws, highly elusive.\"\n    }\n]\n```",
            "role": "assistant"
          }
        }
      ],
      "completionTokens": 686,
      "object": "chat.completion"
    }{
      "cacheReadInputTokens": 0,
      "created": 1745444601,
      "usage": {
        "total_tokens": 741,
        "completion_tokens": 686,
        "prompt_tokens": 55,
        "cache_read_input_tokens": 0
      },
      "contextGroundingCitationsString": "[]",
      "totalTokens": 741,
      "promptTokens": 55,
      "model": "gpt-4o-mini-2024-07-18",
      "id": "chatcmpl-BPcADRRpy7ZDZpBOxp6XJYk0HOpaa",
      "text": "```json\n[\n    {\n        ....  \"A stealthy creature that blends into the shadows, highly elusive.\"\n    }\n]\n```",
      "choices": [
        {
          "index": 0,
          "finish_reason": "stop",
          "message": {
            "content": "```json\n[\n  ...ws, highly elusive.\"\n    }\n]\n```",
            "role": "assistant"
          }
        }
      ],
      "completionTokens": 686,
      "object": "chat.completion"
    }

第 2 步:使用脚本正确格式化响应

您所需的信息位于content.text属性中,但该属性的格式不正确。
  1. 在当前的 API 工作流中,添加脚本活动。
  2. 打开表达式编辑器并写入以下内容:
    const cleanedJsonStr = $context.outputs.v2_sub_generateChatCompletion_1.content.text
      .replace(/^```json\n/, '')
      .replace(/\n```$/, '');
    
    // Step 2: Parse into JSON
    let parsedObj;
    parsedObj = JSON.parse(cleanedJsonStr);
    return { aipet: parsedObj };const cleanedJsonStr = $context.outputs.v2_sub_generateChatCompletion_1.content.text
      .replace(/^```json\n/, '')
      .replace(/\n```$/, '');
    
    // Step 2: Parse into JSON
    let parsedObj;
    parsedObj = JSON.parse(cleanedJsonStr);
    return { aipet: parsedObj }; 
    此 JavaScript 代码解析content.text对象并以干净格式返回该对象。
  3. 再次调试您的工作流。观察格式正确的响应。

步骤 3:遍历响应数组

LLM 以数组形式返回了多个 pet 示例,如步骤 1 的提示中所示。
  1. 在当前的 API 工作流中,添加循环>遍历循环活动。
  2. 配置“遍历循环”活动,如下所示:

    • $context.outputs.Javascript_1.aipet$context.outputs.Javascript_1.aipet
    • 项目名称—currentItem
    • 累积结果— 开启

    此命令遍历响应数组的每个项目。

步骤 4:将返回的响应添加到 Petstore

  1. “遍历循环”活动主体中,添加“HTTP”活动,并进行如下配置:
    • 方法— POST
    • 请求 URLhttps://petstore.swagger.io/v2/pet
    • 请求正文— 打开“表达式编辑器”,并向 Autopilot 字段提示:“在 foreach 中,转换每个对象,以便将其发布到 Swagger Petstore 宠物创作。求上一步中每个属性的值。"

      Autopilot 响应应如下所示(您也可以复制此代码片段):

      {
        id: $currentItem.id,
        name: $currentItem.name,
        category: $currentItem.category,
        photoUrls: $currentItem.photoUrls,
        tags: $currentItem.tags,
        status: $currentItem.status,
        age: $currentItem.age,
        properties: $currentItem.properties
      } {
        id: $currentItem.id,
        name: $currentItem.name,
        category: $currentItem.category,
        photoUrls: $currentItem.photoUrls,
        tags: $currentItem.tags,
        status: $currentItem.status,
        age: $currentItem.age,
        properties: $currentItem.properties
      }
      
  2. 调试您的工作流。此时,您的 API 工作流应返回“成功”状态。这表示 Pet 数据已正确发布到 Pet 商店。

步骤 5:返回工作流响应

此步骤将以干净、简化的格式向外部使用者公开工作流的最终结果。
  1. 在当前的 API 工作流中,添加“响应”活动,并进行如下配置:
    • “类型” — 成功
    • 详细信息— 打开“表达式编辑器”,写入以下内容:
      $context.outputs.For_Each_1.results.map(result => ({
        id: result.content.id,
        name: result.content.name,
        description: result.content.description
      }))$context.outputs.For_Each_1.results.map(result => ({
        id: result.content.id,
        name: result.content.name,
        description: result.content.description
      }))
      此代码片段将返回包含上述详细信息的自定义 JSON。
  2. 调试您的工作流。请注意包含三个详细信息的最终响应。

步骤 6:定义输入和输出架构

此步骤使工作流对象可供外部使用者使用。
  1. 对于您当前的 API 工作流,请打开数据管理器面板。
  2. 对于“输入”选项卡:
    • 添加新属性,并将其命名为“流派”。
    • 将类型设置为字符串。
    • 根据需要将其标记。
  3. 对于“输出”选项卡:
    • 添加三个属性,并将它们命名为“id”、“name”和“type”。这些是工作流返回的属性。
    • 将其类型设置为“字符串”。
  4. 在工作流中选择“内容生成”活动。
    1. 将“提示词”字段更新为:

      对于 Swagger Petstore,请创建可添加到其库存中的新“ + $workflow.input.Genre +”生物的详细信息。仅使用包含宠物信息的 json 对象作为响应。"

      此新提示使用在输入架构中定义的$workflow.input.Genre属性。

  5. 定义调试配置并为流派属性提供一个值:
    { Genre: "Fantasy" }{ Genre: "Fantasy" }

步骤 7:发布并执行

您已到达成功工作流构建的终点。
  1. 将工作流发布到 Orchestrator 中的个人工作区文件夹。
  2. 导航到创建了相应流程的子文件夹,然后选择开始作业
Orchestrator 读取工作流输入架构,并要求您输入类型。提供值后,作业将启动。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo
信任与安全
© 2005-2025 UiPath。保留所有权利。