Skip to main content
Desenvolvimento de aplicações

Workflow application

Um workflow divide tarefas complexas em etapas ordenadas para reduzir a complexidade do sistema. No Alibaba Cloud Model Studio, os workflows permitem combinar nós, como grandes modelos, APIs e Function Compute, diminuindo os custos com codificação.

Aplicação

Por que usar uma aplicação de workflow

Um workflow divide tarefas complexas em uma sequência de etapas para reduzir a complexidade do sistema. Criar uma aplicação de workflow no Model Studio permite definir a ordem de execução, atribuir responsabilidades e especificar dependências entre etapas para automatizar e otimizar o processo. Os casos de uso comuns para aplicações de workflow incluem:
  • Planejamento de viagens: Utilize um plugin de workflow para selecionar parâmetros, como destino, e gerar automaticamente um plano de viagem que inclui voos, acomodações e recomendações de atrações.
  • Análise de relatórios: Para conjuntos de dados complexos, combine plugins de processamento de dados, análise e visualização para gerar relatórios de análise estruturados e formatados.
  • Suporte ao cliente: Empregue workflows automatizados para lidar com consultas de clientes, incluindo classificação de problemas, melhorando a velocidade e a precisão das respostas.
  • Criação de conteúdo: Gere conteúdos como artigos e textos de marketing. Forneça um tópico e requisitos, e o sistema gera automaticamente um rascunho.
  • Educação e treinamento: Projete planos de aprendizagem personalizados com rastreamento de progresso e avaliações por meio de um workflow, permitindo que os alunos aprendam no próprio ritmo.
  • Consulta médica: Com base nos sintomas inseridos pelo paciente, um workflow pode combinar várias ferramentas analíticas para gerar uma avaliação preliminar ou recomendar testes relevantes, auxiliando os médicos em diagnósticos posteriores.

Exemplos

Exemplo 1: Detectar mensagens de golpe

Este exemplo demonstra como criar uma aplicação de workflow para determinar se uma mensagem de texto é um possível golpe. O workflow utiliza um nó inicial, um nó de grande modelo e um nó final.
  1. Acesse a página App Management. Clique em Create Application>Workflow Application, insira um App Name e clique em Create Now.
  1. Adicione um nó de grande modelo para detectar mensagens de golpe. Arraste o nó LLM do painel à esquerda para a tela e configure os seguintes parâmetros em seu painel de configuração. Mantenha os demais parâmetros com seus valores padrão.
    1. Model Configuration: Selecione Qwen-Plus-latest.
    2. Prompts:
      Analyze the provided message to determine if it is a potential scam. Provide a definitive answer.
       Requirements: Carefully review the message content, focusing on keywords and typical scam patterns, such as requests for urgent transfers, providing personal information, or promising unrealistic benefits.
      Steps:
      1. Identify key elements in the message, including but not limited to the sender's identity, the request made, promised rewards, and any sense of urgency.
      2. Compare the message against the characteristics of known scams to check for similar tactics or language patterns.
      3. Evaluate the overall reasonableness of the message, considering whether the request aligns with standard procedures and common sense.
      4. If the message contains links or attachments, do not click or download them to avoid potential security risks, and warn the user about the dangers of such content.
      Output Format: Clearly state whether the message exhibits characteristics of a scam and briefly explain your reasoning. If a scam is suspected, provide suggestions or preventive measures to protect the user.
      
    3. User Prompt:
      Determine if the message "${sys.query}" is a potential scam.
      
    Feche o painel e conecte o nó Start ao nó Large Model.
p910525
  1. Conecte o nó de grande modelo ao nó final. Em seguida, clique no nó final e, no editor do painel de configuração, insira / para inserir a variável Large Model 1/result. Mantenha os demais parâmetros com seus valores padrão.
p910524
Exemplo de configuração:
image
  1. Clique em Test no canto superior direito. Insira Your package has been at the pickup station for several days. Please come and collect it. e clique em image. Após a conclusão da execução do workflow, visualize a saída.
image
  1. Em seguida, insira You have a message saying you've won 1 million. Please check it. e clique em image. Após a execução do workflow, visualize a saída.
image

Exemplo 2: Assistente de compras inteligente

Este exemplo mostra como criar um assistente de compras inteligente usando um workflow que ajuda os usuários a escolher celulares, TVs e geladeiras. O workflow utiliza um nó inicial, um nó de classificação de intenção, nós de grande modelo e um nó final.
  1. Acesse a página App Management. Clique em Create Application>Create Application, insira um App Name e clique em Workflow Application.
  1. Arraste o nó Create Now do painel à esquerda para a tela e configure os seguintes parâmetros em seu painel de configuração. Mantenha os demais parâmetros com seus valores padrão.
    • Intent Classification: Selecione Input Variable > Built-in Variable.
    • query: Selecione Select Model.
    • Qwen-Plus-latest: Clique em Intent Classification e adicione as três intenções a seguir:
      • Buy TV
      • Buy mobile phone
      • Buy refrigerator
    • Add Intent: Permite que o modelo lembre o conteúdo anterior do chat durante uma conversa. Ative a chave image e selecione Custom Cache.
      Current Node Cache: O modelo lembra apenas o conteúdo do chat dentro do nó atual.
      Custom Cache: O modelo lembra a conversa em todo o workflow.
    Feche o painel e conecte o nó Start ao nó Intent Classification.
p910523
  1. Arraste um nó LLM do painel à esquerda para a tela. No painel de configuração, defina os parâmetros abaixo, mantendo os demais com seus valores padrão. Em seguida, feche o painel e conecte a saída Buy refrigerator do nó Intent Classification ao nó Large Model.
    • Model Configuration: Selecione Qwen-Plus-latest.
    • Prompts:
      You are a smart shopping assistant responsible for recommending refrigerators to customers.
      You must proactively ask the user for refrigerator parameters in the order listed in the [Refrigerator Parameter List] below. Ask for only one parameter at a time, and do not repeat questions for the same parameter.
      If the user provides a value for a parameter, continue to ask about the remaining parameters.
      If the user asks for the definition of a parameter, provide an explanation based on your professional knowledge, and then continue to ask which parameter value they prefer.
      If the user indicates they no longer wish to make a purchase, output: Thank you for visiting. We look forward to serving you next time.
      [Refrigerator Parameter List]
      1. Usage Scenario: [Home, Small commercial, Large commercial]
      2. Capacity: [200L, 300L, 400L, 500L]
      3. Energy Efficiency Rating: [Level 1, Level 2, Level 3]
      After all parameters from the [Refrigerator Parameter List] have been collected, ask: "Are you sure you want to purchase?" while also showing the parameters the customer has selected, for example: For small commercial use|300L|Level 1. Ask if they are sure about the refrigerator with these parameters. If the customer decides not to buy, ask which parameters they want to adjust.
      If the customer confirms the parameters meet their requirements, you must output in the following format:
      [Usage Scenario: Home, Capacity: 300L, Energy Efficiency Rating: Level 1]. Output only the content in this format and no other information.
      
    • User Prompt:
      User's question: ${sys.query}
      
    • Memory: Permite que o modelo lembre o conteúdo anterior do chat durante uma conversa. Ative a chave image e selecione Memory.
p910522
  1. Arraste um nó Custom Cache do painel à esquerda para a tela. No painel de configuração, defina os parâmetros abaixo, mantendo os demais com seus valores padrão. Em seguida, feche o painel e conecte a saída LLM do nó Intent Classification ao nó Large Model.
    • Model Configuration: Selecione Qwen-Plus-latest.
    • Prompts:
      You are a smart shopping assistant responsible for recommending TVs to customers.
      You must proactively ask the user for TV parameters in the order listed in the [TV Parameter List] below. Ask for only one parameter at a time, and do not repeat questions for the same parameter.
      If the user provides a value for a parameter, continue to ask about the remaining parameters.
      If the user asks for the definition of a parameter, provide an explanation based on your professional knowledge, and then continue to ask which parameter value they prefer.
      If the user indicates they no longer wish to make a purchase, output: Thank you for visiting. We look forward to serving you next time.
      [TV Parameter List]
      1. Screen Size: [50-inch, 70-inch, 80-inch]
      2. Refresh Rate: [60Hz, 120Hz, 240Hz]
      3. Resolution: [1080P, 2K, 4K]
      After all parameters from the [TV Parameter List] have been collected, ask: "Are you sure you want to purchase?" while also showing the parameters the customer has selected, for example: 50-inch|120Hz|1080P. Ask if they are sure about the TV with these parameters. If the customer decides not to buy, ask which parameters they want to adjust.
      If the customer confirms the parameters meet their requirements, you must output in the following format:
      [Screen Size: 50-inch, Refresh Rate: 120Hz, Resolution: 1080P]. Output only the content in this format and no other information.
      
    • User Prompt:
      User's question: ${sys.query}
      
    • Memory: Permite que o modelo lembre o conteúdo anterior do chat durante uma conversa. Ative a chave image e selecione Memory.
p910521
  1. Arraste um nó Custom Cache do painel à esquerda para a tela. No painel de configuração, defina os parâmetros abaixo, mantendo os demais com seus valores padrão. Em seguida, feche o painel e conecte a saída Buy TV do nó Intent Classification ao nó Large Model.
    • Buy mobile phone: Selecione Model Configuration.
    • Qwen-Plus-latest:
      You are a smart shopping assistant responsible for recommending mobile phones to customers.
      You must proactively ask the user for mobile phone parameters in the order listed in the [Mobile Phone Parameter List] below. Ask for only one parameter at a time, and do not repeat questions for the same parameter.
      If the user provides a value for a parameter, continue to ask about the remaining parameters.
      If the user asks for the definition of a parameter, provide an explanation based on your professional knowledge, and then continue to ask which parameter value they prefer.
      If the user indicates they no longer wish to make a purchase, output: Thank you for visiting. We look forward to serving you next time.
      [Mobile Phone Parameter List]
      1. Usage Scenario: [Gaming, Photography, Watching movies]
      2. Screen Size: [6.4-inch, 6.6-inch, 6.8-inch, 7.9-inch foldable screen]
      3. RAM + Storage Space: [8GB+128GB, 8GB+256GB, 12GB+128GB, 12GB+256GB]
      After all parameters from the [Mobile Phone Parameter List] have been collected, ask: "Are you sure you want to purchase?" while also showing the parameters the customer has selected, for example: For photography|8GB+128GB|6.6-inch. Ask if they are sure about the mobile phone with these parameters. If the customer decides not to buy, ask which parameters they want to adjust.
      If the customer confirms the parameters meet their requirements, you must output in the following format:
      [Usage Scenario: Photography, Screen Size: 6.8-inch, Storage Space: 128GB, RAM Space: 8GB]. Output only the content in this format and no other information.
      
    • Prompts:
      User's question: ${sys.query}
      
    • User Prompt: Permite que o modelo lembre o conteúdo anterior do chat durante uma conversa. Ative a chave image e selecione Memory.
p910519
  1. Arraste um nó Custom Cache do painel à esquerda para a tela. No painel de configuração, defina os parâmetros abaixo, mantendo os demais com seus valores padrão. Em seguida, feche o painel e conecte a saída de intenção Default do nó Intent Classification ao nó Variable Processing.
    • Variable Processing: Selecione Output Mode.
    • Na caixa do editor, insira:
      Hello! Please tell me if you want to buy a TV, a refrigerator, or a mobile phone.
      
p910518
  1. Conecte todos os três nós de grande modelo e o nó Variable Processing ao nó End. Em seguida, clique no nó final e, no editor do painel de configuração, insira / para inserir as quatro variáveis a seguir: Large Model 1/result, Large Model 2/result, Large Model 3/result e Variable Processing 1/result. Mantenha os demais parâmetros com seus valores padrão.
p910518
Exemplo de configuração:
image
  1. Teste o aplicativo:
    1. Clique em Text Output no canto superior direito. Na caixa de diálogo, insira Tell me about your refrigerators, clique em image e visualize a saída.
    2. Em seguida, insira Home use e visualize a saída.
    3. Depois, insira 200L e visualize a saída.
    4. Por fim, insira Level 1 energy efficiency e visualize a saída.
工作流-智能导购

Parâmetros de sessão

Uma variável de sessão funciona como uma variável global, armazenando parâmetros durante todo o ciclo de vida do workflow para que qualquer nó possa referenciá-los. Clique no ícone image no canto superior direito da página de configuração do canvas.
image

Os nós são as unidades funcionais principais de uma aplicação de workflow. Cada nó executa uma tarefa específica, como realizar uma ação, acionar uma condição, processar dados ou direcionar o fluxo de trabalho. Combine esses nós como blocos de construção para criar processos automatizados.
  • Início e fim
  • Modelo grande
  • Base de conhecimento
  • API
  • Plugin
  • Function Compute
  • Script
  • Condition
  • Intent classification
  • Flow output
  • Variable processing
  • Parameter extraction
  • Agent group
  • Create agent
  • Geração multimodal
  • Quando usar
    • Ao projetar um workflow, defina a estrutura e o conteúdo dos parâmetros de entrada e saída nos nós de início e fim.
  • Como usar
    • Nó de início

      Componente

      Descrição

      Variáveis predefinidas

      O workflow fornece as seguintes variáveis predefinidas para processar a entrada do usuário e manter o histórico de conversas:

      • query: Armazena a entrada de texto do usuário.

      • historyList: Armazena o histórico de conversas para manter o contexto em uma conversa de múltiplas rodadas. Para usar essa variável em nós que suportam o recurso de memória (como nós de modelo grande e classificação de intenção), selecione Custom Cache.

      • imageList: Armazena imagens enviadas pelo usuário para permitir análise de imagem ou conversa multimodal. Para usar essa variável em nós que suportam o recurso de memória (como nós de modelo grande e classificação de intenção), selecione Custom Cache.

      Variáveis personalizadas

      Variáveis personalizadas são parâmetros de entrada estruturados que você define para um workflow. Elas recebem dados de testes ou chamadas de API e podem ser referenciadas em nós subsequentes. Ao criar uma variável personalizada, configure os seguintes parâmetros:

      • Variable name: Insira um nome significativo. Caracteres chineses não são suportados.

      • Type: O tipo de dados da variável. Os tipos suportados são String, Boolean, Number, Object, Array (de String, Boolean, Number ou Object) e File.

      • Description: Descreva brevemente a função da variável e quando utilizá-la.

    • Nó de fim

      Componente

      Descrição

      Modo de saída

      Test: Adequado para conteúdo não estruturado. Na caixa de entrada, insira conteúdo fixo ou digite / para referenciar variáveis, o que determina o resultado final retornado ao usuário. É possível obter variáveis da saída de qualquer nó do workflow ou de variáveis de sessão. Mapear corretamente as variáveis de saída permite controlar o fluxo de dados do workflow e garantir uma resposta final precisa e completa.

      Publish: Ideal para gerar conteúdo estruturado em formato JSON. Defina nomes de variáveis e insira texto ou referencie variáveis.

      Saída em streaming

      A opção Streaming Output aplica-se apenas ao modo Text Output.

      Quando ativada, as respostas dos nós de modelo grande e componentes de aplicação são transmitidas token por token. Quando desativada, a resposta completa é retornada somente após sua geração integral.

Testar aplicativo

Após configurar o workflow, use o recurso de teste para verificar se ele executa conforme o esperado. Clique no botão Kuala Lumpur no canto superior direito para abrir o painel de teste. O painel de teste oferece vários modos de teste para diferentes casos de uso.

Conversa de texto

A conversa de texto é o modo de teste padrão. Ela preserva o histórico da conversa e suporta conversas contínuas com múltiplas turnos.
  1. Na lista suspensa na parte superior do painel de teste, selecione o modo de conversa de texto (selecionado por padrão). Se o workflow contiver variáveis personalizadas, insira seus valores na área de configuração de parâmetros.
  2. Na caixa de entrada, insira seu conteúdo de teste (texto e anexos de arquivo são suportados) e, em seguida, clique no botão Indonesia (Jakarta) ou pressione Enter para executar o teste.
  3. Revise os resultados do teste. Clique em um nó para visualizar sua entrada e saída detalhadas ou alterne o formato de saída entre Text e JSON.
  4. Para continuar a conversa, insira seu próximo turno na caixa de entrada e envie-o. Para iniciar uma nova conversa, clique no botão Variable.

Geração de texto

O modo de geração de texto destina-se a interações de turno único. Cada teste é independente e o histórico da conversa não é preservado.

Lista de verificação

A lista de verificação relaciona as configurações obrigatórias para o seu workflow. Para visualizar a lista de verificação, clique no ícone image no canto superior direito da página de configuração do canvas.
image

Publicar um aplicativo

Depois que um aplicativo é publicado, você pode chamá-lo via API ou compartilhá-lo como uma página da web com usuários RAM na mesma conta principal. Para fazer isso, clique no botão Audio & Video Settings no canto superior direito da página de gerenciamento do aplicativo de agente.

Chamar via API

Na aba Call do seu aplicativo de workflow, clique em Try ao lado de Publish para aprender como chamar o aplicativo de agente usando uma API.
Nota: Substitua YOUR_API_KEY pela sua chave de API para chamar a API.
image
Para perguntas frequentes e informações sobre chamadas de API, consulte os seguintes tópicos:
  • Para métodos de invocação (HTTP/SDK), consulte Chamada de aplicativo.
  • Para detalhes sobre os parâmetros de chamada de API, consulte Informações de parâmetros de chamada de aplicativo.
  • Para detalhes sobre passagem de parâmetros, consulte Passagem de parâmetros para aplicativos.
  • Para resolver erros retornados por chamadas de API, consulte Códigos de erro.
  • O aplicativo em si não tem limite de concorrência; em vez disso, o limite é determinado pelos modelos que ele chama. Consulte o console do Model Studio.
Atualmente, não é possível chamar o serviço Xiyan a partir de um workflow. Em vez disso, use um nó de API para chamar um serviço de API personalizado.
O tempo limite para chamadas de API é de 600 segundos e não pode ser alterado. Se houver possibilidade de timeout, considere as seguintes soluções:
  • Use o modo assíncrono: Neste modo, o sistema retorna um task ID. Use então o task ID para consultar o resultado, o que evita o limite de tempo síncrono.
  • Divida a tarefa: Divida a tarefa em várias etapas ou processe dados em lote em blocos menores para evitar que uma única execução atinja o tempo limite.

Importar ou exportar um workflow

  1. Importar ou exportar um workflow do Model Studio Clique no ícone image na parte superior da página do workflow e selecione Publish Channel ou Publish.
    image
  2. Importar um workflow do Dify O Model Studio permite a importação de workflows do Dify com um único clique, facilitando a migração e a reutilização.
    1. Clique no ícone image na parte superior da página do workflow e selecione Publish Channel.
      image
    2. Ajuste os parâmetros de cada nó.
      image
    Os detalhes de compatibilidade dos nós são os seguintes:

    Nó do Dify

    Nó correspondente no Model Studio

    Compatibilidade

    start

    start

    1. sys.query é mapeado para query.

    2. sys.dialogue_count é mapeado para maximum memory turns.

    LLM

    LLM

    1. model: O Model Studio limpa o campo de modelo para modelos não suportados, exigindo que você selecione um manualmente. Os modelos suportados são totalmente compatíveis.

    2. prompt: O prompt System do Dify é mapeado para o prompt principal no Model Studio, enquanto o prompt User é mapeado para o prompt do usuário.

    3. vision capability: Totalmente compatível.

    4. context: O Model Studio incorpora os campos brutos do contexto do Dify diretamente em seu prompt de sistema.

    knowledge retrieval

    knowledge base

    1. input: O Model Studio usa consistentemente o campo content como entrada.

    2. knowledge base: O Model Studio limpa este campo após a importação. Você deve associar manualmente uma base de conhecimento no Model Studio.

    3. retrieval settings: O parâmetro Top-k do Dify é mapeado para number of retrieved fragments.

    Direct Reply

    output node

    Totalmente compatível.

    agent

    Nenhum

    Apenas o nome é mantido. Você deve clicar no nó e selecionar um nó específico do Model Studio como substituto.

    Question Classifier

    intent classification

    O Model Studio limpa o campo de modelo para modelos não suportados, exigindo que você selecione um manualmente. Os modelos suportados são totalmente compatíveis.

    Iteration

    batch processing

    1. input: Mapeado para View API.

    2. output variable: Mapeado para API.

    loop

    loop

    Totalmente compatível.

    code execution

    script

    O Model Studio distingue entre scripts Python e JavaScript.

    Template Transform

    Nenhum

    Não compatível. O Model Studio gera um nó personalizado.

    Variable Aggregator

    Variable Processing

    Mapeado para o modo de saída Export DSL do nó Import Model Studio DSL.

    Document Extractor

    Nenhum

    Não compatível. O Model Studio gera um nó personalizado.

    Variable Assignment

    Variable Settings

    Totalmente compatível.

    Parameter Extractor

    parameter extraction

    O Model Studio não suporta o modo de inferência. Os demais recursos são totalmente compatíveis.

    HTTP request

    API

    Totalmente compatível, mas é necessário autenticar novamente.

    List Operation

    Nenhum

    Não compatível. O Model Studio gera um nó personalizado.

    Tool

    plugin, MCP

    Não compatível. O Model Studio gera um nó personalizado.

    comment

    Nenhum

    Não compatível.

    end

    end

    Se um workflow do Dify contiver vários nós finais, o Model Studio os converterá em um único nó Variable Processing e um único nó final.

Gerenciar versões de workflow

  1. Clique em Publish no canto superior direito da página de configuração do workflow. Na caixa de diálogo Publish, insira as informações da versão, como 1.0.0, e clique em OK.
image
  1. Clique em Import Dify DSL na parte superior da página. No painel Historical Versions, visualize ou utilize diferentes versões da aplicação de workflow atual conforme necessário, clicando em Batch Array ou Output Variable.
    Você também pode clicar em Export DSL for This Version na parte superior para exportar o DSL da versão histórica selecionada.
image
  1. Opcional: Na Aggregate Groups, visualize ou pesquise por nós.
image

Excluir e copiar aplicações de workflow

Em Variable Processing, localize o cartão de uma aplicação publicada e clique no ícone image para excluir a aplicação, copiar seu workflow ou modificar o nome da aplicação.

image

FAQ

  • Aplicações de workflow
  • Nós
  1. Como gravo os resultados de uma execução de workflow em um banco de dados? Utilize um nó de conversão de script para gravar a saída do nó anterior em um banco de dados.
  2. Como faço upload de arquivos ao criar uma aplicação de workflow no Model Studio? Adicione um nó de API à sua aplicação de workflow para realizar o upload de arquivos.
  3. Como faço upload de imagens? Use um modelo VL e passe a URL da imagem como parâmetro.
  4. Posso usar uma API de tarefa assíncrona dentro de uma aplicação de workflow? O tempo limite para uma aplicação de workflow é de 600 segundos. Evite usar uma API de tarefa assíncrona dentro de um workflow.
  5. Como posso chamar a API de workflow do Model Studio a partir de uma aplicação frontend e receber uma saída em streaming? Atualmente, chamadas via frontend não são suportadas.
  6. Por que não consigo importar um arquivo .yaml independente para um workflow do Model Studio? O Model Studio não suporta a importação de arquivos .yaml independentes. É necessário fornecer um pacote compactado que inclua um arquivo MD5. Recomendamos regenerar o MD5 caso encontre problemas.
  7. Os nomes de variáveis em workflows do Model Studio podem estar em chinês? Não, os nomes de variáveis não podem conter caracteres chineses.
  8. Como o histórico de conversas é armazenado? As aplicações de workflow armazenam dados por apenas um mês. Salve seu próprio histórico de conversas. O session_id é válido por uma hora.