UiPath Documentation
studio-web
latest
false
Guia do usuário do Studio Web
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Criando seu primeiro fluxo de trabalho da API

Crie um fluxo de trabalho de API no Studio Web usando a API pública da Objectstore para solicitar dados de um LLM e adicionar registros por meio de chamadas HTTP.

O tutorial a seguir fornece experiência prática com os principais conceitos por trás da interface do fluxo de trabalho da API por meio de um exemplo simples usando a API pública da Petstore.

Neste exemplo, você solicita "Informações de mascote" de um modelo de linguagem (LLM) e usa esses dados para adicionar mascotes à Swagger Petstore. Swagger Petstore (https://petstore.swagger.io) oferece pontos de extremidade de API acessíveis e fáceis de usar, disponíveis com ou sem autenticação.

Etapa 1: chamada do LLM​

  1. Na tela do designer de fluxo de trabalho da API, selecione Adicionar (o ícone de mais +).
  2. Selecione Conector > Atividades UiPath GenAI > Geração de conteúdo.
  3. Configure ou selecione uma conexão existente no painel Propriedades .
  4. Configure estas propriedades:
    • Modelo —gpt-4o-mini-2024-07-18
    • Solicitação: "Para a Petstore swagger, crie os detalhes de uma nova criação de fantasmas que pode ser adicionada ao inventário. Responda apenas com json válido. Retorne uma matriz de 5 deles."
  5. Depure seu fluxo de trabalho até este ponto.
  6. No painel Saída , revise a entrada e a saída brutas da chamada de atividade. A resposta é semelhante à seguinte:
    {
      "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"
    }
    

Etapa 2: usando o script para formatar corretamente a resposta​

As informações de que você precisa estão dentro da propriedade content.text , que não está formatada corretamente.

  1. Ao seu fluxo de trabalho atual da API, adicione a atividade Script .
  2. Abra o Editor de expressão e escreva o seguinte:
    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 };
    

Esse código JavaScript analisa o objeto content.text e o retorna em um formato limpo.

  1. Depure seu fluxo de trabalho novamente. Observe a resposta formatada corretamente.

Etapa 3: iteração na matriz de resposta​

O LLM retornou vários exemplos de mascotes como uma matriz, conforme indicado no prompt na Etapa 1.

  1. Para seu fluxo de trabalho atual da API, adicione a atividade Loop > ForEach .
  2. Configure a atividade For Each da seguinte forma:
    • Em—
      $context.outputs.Javascript_1.aipet
      $context.outputs.Javascript_1.aipet
      
    • Nome do item—currentItem
    • Acumular resultados— Habilitado. Este comando itera através de cada item da matriz de resposta.

Etapa 4: adicionar a resposta retornada ao Petstore​

  1. Dentro do corpo da atividade For Each , adicione a atividade HTTP e configure-a da seguinte forma:
    • Método— POST
    • URL da solicitação—https://petstore.swagger.io/v2/pet
    • Corpo da solicitação— Abra o editor de Expressão e solicite ao campo Autopilot uma solicitação: "Dentro deste fora, transforma cada objeto para que ele possa ser publicado na criação do Swagger Petstore Pet. Encontre os valores de cada propriedade na etapa anterior." A resposta do Autopilot deve ser semelhante à seguinte (você também pode copiar este fragmento):
       {
        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. Depure seu fluxo de trabalho.

O fluxo de trabalho retorna um status Bem-sucedido quando os dados do mascote forem postados corretamente no Gitstore.

Etapa 5: retorno de uma resposta de fluxo de trabalho​

Essa etapa expõe os resultados finais do fluxo de trabalho para consumidores externos em um formato limpo e simplificado.

  1. Ao seu fluxo de trabalho atual da API, adicione a atividade Response e configure-a da seguinte forma:
    • Tipo— Sucesso
    • Detalhes—Abra o Editor de expressão e escreva o seguinte:
      $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
      }))
      

Esse fragmento retorna um JSON personalizado com os detalhes mencionados. 2. Depure seu fluxo de trabalho. Observe a resposta final com os três detalhes.

Etapa 6: definição dos esquemas de entrada e saída​

Essa etapa disponibiliza os objetos do fluxo de trabalho para consumidores externos.

  1. Para seu fluxo de trabalho atual da API, abra o painel Gerenciador de dados .
  2. Para a guia Entrada :
    • Adicione uma nova propriedade e chame-a de "Geração".
    • Defina o tipo como String.
    • Marque-a como obrigatória.
  3. Para a aba Saída :
    • Adicione três propriedades e nomeie-as "id", "name" e "type". Essas são as propriedades retornadas pelo fluxo de trabalho.
    • Defina o tipo deles como String.
  4. Selecione a atividade Content Generation em seu fluxo de trabalho.
    1. Atualize o campo Prompt para: "Para a Petstore swagger, crie os detalhes de uma nova criação " + $workflow.input.Genre + " que pode ser adicionada ao inventário deles. Responda apenas com um objeto json que contenha as informações do mascote." Esse novo prompt usa a propriedade $workflow.input.Genre definida no esquema de entrada.
  5. Defina uma configuração de Debug e forneça um valor para a propriedade Gener:
    { Genre: "Fantasy" }
    { Genre: "Fantasy" }
    

Etapa 7: publicação e execução​

Você atingiu o fim de uma compilação de fluxo de trabalho bem-sucedida.

  1. Publique o fluxo de trabalho na sua pasta Espaço de trabalho pessoal no Orchestrator.
  2. Navegue até a subpasta na qual o processo correspondente foi criado e selecione Iniciar trabalho.

O Orchestrator lê o esquema de entrada do fluxo de trabalho e requer que você insira um Gerar. Depois que você fornece um valor, o trabalho é iniciado.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte(opens in new window)

Quer aprender? Academia UiPath(opens in new window)

Tem perguntas? Fórum do UiPath(opens in new window)

Fique por dentro das novidades