Pular para o conteúdo principal

Dify AI: Um guia com projeto de demonstração

Saiba o que é a Dify e como criar uma agência de viagens com IA usando sua interface de arrastar e soltar de baixo código.
Atualizado 29 de mai. de 2025  · 12 min lido

A Dify é uma plataforma fácil de usar que ajuda você a criar aplicativos de IA com pouco ou nenhum código necessário. Ele funciona arrastando e soltando blocos com diferentes funções. As informações fluem pelos blocos e são processadas e combinadas para gerar respostas.

Neste artigo, explicarei os fundamentos da Dify, orientando você nas etapas para criar um agente de viagens com IA.

Mantemos nossos leitores atualizados sobre as últimas novidades em IA enviando o The Median, nosso boletim informativo gratuito de sexta-feira que detalha as principais histórias da semana. Inscreva-se e fique atento em apenas alguns minutos por semana:

O que é a Dify?

A Dify é uma plataforma projetada para simplificar o desenvolvimento de aplicativos de IA sem a necessidade de grandes habilidades de codificação. Ele oferece um ambiente amigável e com pouco código, no qual os usuários podem criar aplicativos arrastando e soltando diferentes componentes.

Imagine a Dify como uma caixa de ferramentas digital repleta de blocos prontos que podem ser unidos para criar um software funcional. Essa abordagem torna a tecnologia mais acessível, permitindo que pessoas com conhecimento limitado de programação deem vida às suas ideias.

Cada tipo de bloco tem entradas e as transforma em saídas diferentes, dependendo do tipo de bloco. As informações são transmitidas e transformadas de bloco para bloco, produzindo o resultado final.

Como começar a usar a Dify

Temos duas maneiras de usar a Dify:

  • Configuração local.
  • Usando a versão em nuvem.

Neste tutorial, usaremos a versão em nuvem. A versão em nuvem da Dify oferece um plano gratuito, portanto, é possível que você siga este tutorial sem precisar de uma assinatura paga.

Se você estiver interessado na configuração local, a maneira mais fácil é:

  1. Faça o download ou clone do Dify no repositório oficial.
  2. Execute o Dify usando o Docker, conforme descrito na seção seção Início rápido do LEIAME do repositório.

Criando um fluxo de chat com a Dify

A Dify oferece vários tipos de aplicativos. Vamos nos concentrar na criação de um aplicativo Chatflow, que é um fluxo de IA em que os usuários usam uma interface de bate-papo para interagir com o agente.

Para criar um novo aplicativo Chatflow, primeiro clique em "Criar a partir do branco" e selecione a opção "Chatflow".

Criando um fluxo preto na Dify

Para criar o fluxo, definimos um nome e, em seguida, pressionamos o botão "Create" (Criar):

Criando um Chatflow na Dify

Isso criará o seguinte fluxo padrão:

O Chatflow padrão na Dify

Esse fluxo tem três blocos:

  • O bloco de início é responsável por iniciar o fluxo. No caso de um Chatflow, o fluxo é iniciado com o envio de uma mensagem pelo usuário.
  • O nó do LLM recebe como entrada a mensagem do usuário e a envia para um LLM, neste caso, gpt-4.
  • O nó final é usado para exibir uma mensagem no bate-papo. Neste exemplo, ele está conectado ao nó LLM, de modo que a saída do nó LLM é enviada para o chat.

Esses três nós juntos criam efetivamente um chat de IA semelhante ao ChatGPT. Antes de executar esse aplicativo, precisamos instalar e configurar o plug-in OpenAI.

Instalando e configurando o plug-in OpenAI

Para instalar o plug-in OpenAI, faça o seguinte:

  1. Clique no botão "Plugins" no canto superior direito.

Adicionando o plug-in openai no dify

  1. Clique em "Instalar do Marketplace".

Acessando o marketplace no dify

  1. Digite "openai" na caixa de pesquisa e clique no plug-in OpenAI.

Instalando o plug-in OpenAI no dify

  1. Selecione o plug-in OpenAI e clique em "Instalar".

Em seguida, precisamos configurar a chave da API da OpenAI. Se você ainda não tem um, crie-o aqui. Observe que o uso da API da OpenAI não é gratuito, portanto, você precisará associar um método de pagamento à chave da API.

Quando tivermos uma chave, poderemos configurá-la:

  1. Selecione o nó LLM.

Seleção de um bloco Dify

  1. Clique no ícone de configuração ao lado do nome do modelo.

Configuração de um bloco LLM no dia

  1. Clique na lista suspensa de modelos na parte superior.

O menu suspenso do modelo

  1. Clique em "Model Provider Settings" (Configurações do provedor de modelo) na parte inferior da lista.

Configurando o provedor de modelo no dify

  1. Clique em "Setup" (Configuração) na seção de chave de API.

Configuração do modelo no dify

  1. Cole a chave da API e clique em "Save" (Salvar).

Configurando a chave da API da OpenAI no dify

Executar o aplicativo

Agora você pode executar o aplicativo clicando no botão de visualização:

Visualizando o aplicativo.

No momento, ele não é muito interessante, pois é apenas um chatbot de IA. Lembre-se de que ele não fará nada até que o usuário envie uma mensagem.

Amostra de bate-papo sobre o dify

Criação de variáveis

A Dify permite que você armazene o estado do aplicativo atribuindo valores a variáveis que são acessíveis a todos os blocos.

Para criar uma variável, clique no botão de variável:

Adicionando uma variável no dify

Vamos criar uma variável para armazenar o nome do usuário:

Configuração de variáveis no dify

Essa configuração criou uma variável chamada name que armazena uma string (texto). Deixamos o valor padrão vazio, portanto, inicialmente a variável será uma string vazia.

Há várias maneiras de preenchê-lo, mas a mais comum é usar um bloco de IA para descobri-lo automaticamente a partir da conversa. Você aprenderá a fazer isso mais tarde. Primeiro, aprendemos a verificar o valor de uma variável para controlar o fluxo do aplicativo.

Blocos IF/ELSE

Para verificar o valor de uma variável, podemos usar um bloco IF/ELSE. Esse bloco é usado para executar ações diferentes, dependendo do valor de uma variável.

Para adicionar um novo bloco, clique no botão "+" na parte inferior:

Adicionando um bloco no dify

Em seguida, selecione o bloco que você deseja adicionar. Nesse caso, selecionamos "IF/ELSE":

O bloco IF/ELSE no dify

Em seguida, clicamos no bloco para configurá-lo, selecionando a variável name que criamos anteriormente.

Para testá-lo, adicionamos dois blocos Answer. Esses blocos são usados para exibir uma mensagem no bate-papo. Conectamos um deles à saída IF (que é executada quando a condição é verdadeira) e o outro à saída ELSE (que é executada quando a condição é falsa).

Controle do fluxo com um bloco IF/ELSE no dify

Para a saída IF, defino a string "Sorry, I don't know your name" (Desculpe, não sei seu nome), enquanto para ELSE, defino "Hello, {name}!" (Olá, {nome}!). Podemos usar as chaves para injetar uma variável em uma string. Isso também será útil mais tarde, quando você estiver criando prompts.

Você pode experimentar esse Chatflow clicando no botão "Preview" (Visualizar). Observe que um Chatflow é acionado por uma mensagem do usuário, portanto, precisamos enviar uma mensagem primeiro, como "Hi". Aqui estão os resultados, dependendo se o nome está definido ou não (eu o defini manualmente na variável de interface para o segundo exemplo):

Resultados do controle de fluxo

Blocos de atribuição de variáveis e de extração de parâmetros

Podemos usar a IA para identificar e extrair os valores das variáveis usando um bloco Parameter Extractor. Esse bloco usa um LLM para extrair informações da conversa.

Bloco de extração de parâmetros

Primeiro, adicionamos um bloco Parameter Extractor conectado à ramificação IF. Aqui está a configuração do bloco:

Configuração do extrator de parâmetros no dia

  • O INPUT VARIABLE é definido como sys.query, que corresponde à mensagem do usuário. Isso significa que o bloco Parameter Extractor tentará extrair o valor da mensagem do usuário.
  • Em EXTRACTION PARAMETERS, definimos as informações que estamos tentando extrair. Infelizmente, não podemos especificar diretamente uma variável aqui, portanto, precisamos redefinir essas informações clicando no botão "+".

Configuração de parâmetros no dify

  • O campo INSTRUCTION é o prompt que orienta o LLM sobre o que você deve fazer.
  • Em seguida, adicionamos um bloco Variable Assigner para atribuir o valor extraído pelo Parameter Extractor (se houver) à variável name.

Bloco de atribuição de variável

Certifique-se de atribuir o name extraído à variável name.

Configuração do atribuidor de variável

Após essa etapa, a variável name pode ainda estar indefinida, pois pode ser que o usuário não tenha fornecido seu nome. Portanto, adicionamos outro bloco IF/ELSE para verificar. Se o nome estiver definido, cumprimentamos o usuário. Caso contrário, pedimos seu nome.

O fluxo do extrator de nomes

Aqui está um exemplo de interação:

Exemplo de bate-papo com o fluxo do extrator de nomes no dify

Esse fluxo ilustra os fundamentos dos fluxos de trabalho da Dify. Não importa qual seja a mensagem do usuário, se o nome não estiver definido, ele tentará extrair o nome da mensagem. Se falhar, você o solicitará. Caso contrário, ele apenas cumprimenta o usuário pelo nome.

Nesse momento, não há bloqueio de LLM, portanto, o agente não fará mais nada.

Bloco de código

Os blocos de código podem ser usados para executar código Python personalizado. Vamos modificar o fluxo anterior para extrair a localização do usuário em vez do nome de usuário. Em seguida, usaremos um bloco de código para fazer uma solicitação a uma API de clima e enviar a previsão do tempo ao usuário.

  • Crie uma nova variável chamada location.
  • Modifique os blocos IF/ELSE para verificar location em vez de name.
  • Modifique o bloco Parameter Extractor para extrair o local em vez do nome.
  • Modifique o bloco Variable Assigner para atribuir o valor extraído à variável location.
  • Modifique os blocos Answer para solicitar a localização e exibir a localização, respectivamente.

Após essas etapas, o fluxo deve ter a seguinte aparência:

Localizar o fluxo do extrator em um local diferente

Aqui está um exemplo de interação:

Exemplo de bate-papo com o extrator de local

A próxima etapa é adicionar um bloco de código depois que você tiver o local. Esse bloco faz uma solicitação à API do OpenWeather para solicitar a previsão do tempo para esse local.

O uso dessa API é gratuito, desde que você não faça muitas solicitações. 

Substitua o segundo bloco Answer por um bloco Code. 

O bloco Código

Configure-o para receber um único parâmetro com o valor location.

Configuração do bloco de código

Para o código Python, veja como podemos usar o pacote requests para obter o clima da API OpenWeather:

import requests

API_KEY = "PASTE_YOUR_API_KEY_HERE"

def main(location: str) -> str:
    base_url = "http://api.openweathermap.org/data/2.5/weather"
    params = {
        "q": location,
        "appid": API_KEY,
        "units": "metric",
    }
    response = requests.get(base_url, params=params)
    data = response.json()
    if response.status_code == 200:
        weather_desc = data["weather"][0]["description"]
        temp = data["main"]["temp"]
        return {
            "result": f"Current weather in {location}: {weather_desc}, Temperature: {temp}°C"
        }
    else:
        return {
            "result": "Could not retrieve weather data",
        }

Por fim, conectamos a saída do nó Code a um nó Answer para exibi-la ao usuário.

Exibição do resultado do bloco de código

Agora temos um Chatflow que pode nos informar a previsão do tempo:

Amostra do que você está fazendo com o agente meteorológico

Projeto: Criação de um agente de IA do planejador de viagens

Agora temos todas as ferramentas necessárias para criar um agente de viagens com IA. As possibilidades são infinitas, mas para não complicar demais este tutorial, vamos mantê-lo simples.

O agente se concentrará no planejamento de um único dia da viagem. Ele começará coletando a localização do usuário e os tipos de atividades que ele gosta de fazer. Para isso, usamos duas variáveis:

  • location: Armazene o local para onde o usuário está viajando.
  • activities: Uma matriz de cadeias de caracteres que armazena as atividades que o usuário deseja realizar.

Configuração da variável de atividades no dify

Veja como podemos criar um fluxo para extrair ambas as variáveis:

O fluxo do extrator de parâmetro duplo em dify

Neste exemplo, começamos com um bloco de extração de variáveis para extrair tanto o location quanto a lista de activities.

A configuração do extrator de parâmetro duplo

Em seguida, usamos blocos IF/ELSE para verificar se cada um desses parâmetros foi extraído e atualizar as variáveis, caso tenham sido. Ao contrário de nossos exemplos anteriores, isso permite que o usuário atualize os valores.

No final da extração de valores e da atribuição de variáveis, adicionamos outro bloco IF/ELSE para verificar se há valores ausentes. Se algo estiver faltando, pedimos explicitamente ao usuário que o forneça.

Solicitando os valores quando o usuário não os forneceu.

Se ambos location e activities estiverem definidos, usaremos o bloco de código que criamos anteriormente para obter o clima no local fornecido. Por fim, fornecemos o clima, o local e as atividades a um bloco LLM para planejar o dia do usuário.

A configuração do LLM do agente de viagens.

O bloco LLM é configurado com um prompt do sistema que informa ao modelo o que fazer. O local, as atividades e o clima são injetados nele. Aqui está a parte final do fluxo:

O fluxo final

Aqui está um exemplo de interação com o agente:

Exemplo de interação com o agente de viagens em dify

Vemos na resposta que, por causa do nó Code, o agente pode fornecer o clima ao usuário e levá-lo em consideração ao planejar as atividades.

Devido à forma como o fluxo foi configurado, se o usuário fornecer as informações imediatamente na primeira mensagem, o agente fornecerá diretamente um plano para o dia.

Outro exemplo de interação em que o usuário fornece as informações diretamente.

Definição de uma saudação personalizada

Você pode notar que o agente começou cumprimentando o usuário com uma mensagem:

Mensagem de saudação

Para ativar isso, precisamos ativar o recurso Conversation Opener.

Acesso aos recursos da Dify

Ativação da mensagem de saudação no dia

Ferramentas Dify

Neste tutorial, aprendemos os blocos de construção fundamentais da Dify. Um aspecto que não abordamos foram as ferramentas.

Na Dify, as ferramentas são extensões poderosas que permitem que seus agentes de IA interajam com o mundo externo além das limitações de um modelo de linguagem. Embora um LLM possa raciocinar e gerar respostas com base em seus dados de treinamento e contexto de solicitação, ele não tem acesso em tempo real a dados ativos ou serviços externos.

As ferramentas resolvem isso permitindo que seu agente faça chamadas de API, consulte bancos de dados, realize cálculos, recupere documentos e muito mais, atuando essencialmente como uma ponte entre sua IA e as fontes de informações externas.

Acesso às ferramentas da Dify

Você pode configurar ferramentas na Dify por meio da interface visual da plataforma, especificando o tipo de ferramenta (como solicitações HTTP, interpretadores de código ou plug-ins de terceiros), o esquema de entrada/saída e quaisquer requisitos de autenticação. Depois de configuradas, essas ferramentas podem ser usadas no fluxo do agente por meio de blocos de ferramentas, que permitem que você passe dados de e para a ferramenta e alimente os resultados em nós LLM ou em outros blocos lógicos.

Adição de um bloco de ferramentas

Isso torna seus agentes não apenas mais inteligentes, mas também orientados para a ação, capazes de fornecer respostas atualizadas e contextualmente relevantes por meio da interação com serviços do mundo real.

Em nosso exemplo, usamos um bloco de código para fazer uma solicitação à API de clima. Uma alternativa teria sido criar uma ferramenta e fornecê-la ao LLM.

Conclusão

Neste tutorial, exploramos alguns dos blocos fundamentais de que você precisará para começar a trabalhar com a Dify. No entanto, a Dify oferece muito mais recursos e capacidades para você descobrir.

Para solidificar seu entendimento, um ótimo exercício seria aprimorar a agência de viagens que criamos. Considere adicionar recursos como os de pesquisa na Internet para encontrar atividades locais on-line, o que pode enriquecer a funcionalidade do agente e fornecer sugestões mais dinâmicas.

Se você estiver interessado em criadores de agentes de IA como a Dify, recomendo que confira nossos outros tutoriais para aprender mais:


François Aubry's photo
Author
François Aubry
LinkedIn
Engenheiro de pilha completa e fundador da CheapGPT. Ensinar sempre foi minha paixão. Desde meus primeiros dias como estudante, eu buscava ansiosamente oportunidades para dar aulas particulares e ajudar outros alunos. Essa paixão me levou a fazer um doutorado, onde também atuei como assistente de ensino para apoiar meus esforços acadêmicos. Durante esses anos, encontrei imensa satisfação no ambiente tradicional da sala de aula, promovendo conexões e facilitando o aprendizado. Entretanto, com o advento das plataformas de aprendizagem on-line, reconheci o potencial transformador da educação digital. Na verdade, participei ativamente do desenvolvimento de uma dessas plataformas em nossa universidade. Estou profundamente comprometido com a integração dos princípios tradicionais de ensino com metodologias digitais inovadoras. Minha paixão é criar cursos que não sejam apenas envolventes e informativos, mas também acessíveis aos alunos nesta era digital.
Tópicos

Aprenda IA com estes cursos!

Programa

Fundamentos de IA

0 min
Descubra os fundamentos da IA, mergulhe em modelos como o ChatGPT e decodifique os segredos da IA generativa para que você possa navegar no dinâmico cenário da IA.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

O que é IA? Um guia rápido para iniciantes

Descubra o que realmente é inteligência artificial com exemplos, opiniões de especialistas e todas as ferramentas de que você precisa para aprender mais.
Matt Crabtree's photo

Matt Crabtree

11 min

blog

Como aprender IA do zero em 2024: Um guia completo dos especialistas

Descubra tudo o que você precisa saber sobre o aprendizado de IA em 2024, desde dicas para começar, recursos úteis e insights de especialistas do setor.
Adel Nehme's photo

Adel Nehme

15 min

blog

Os 7 principais geradores de vídeo com IA para 2024 com vídeos de exemplo

Descubra os principais geradores de vídeo com IA disponíveis atualmente, incluindo RunwayML, Synthesia, Colossyan, Pictory, DeepBrain AI, Invideo e os altamente esperados Sora e Veo da DeepMind.

Tutorial

Tutorial da API de assistentes da OpenAI

Uma visão geral abrangente da API Assistants com nosso artigo, que oferece uma análise aprofundada de seus recursos, usos no setor, orientação de configuração e práticas recomendadas para maximizar seu potencial em vários aplicativos de negócios.
Zoumana Keita 's photo

Zoumana Keita

cursor ai code editor

Tutorial

AI do cursor: Um guia com 10 exemplos práticos

Saiba como instalar o Cursor AI no Windows, macOS e Linux e descubra como usá-lo em 10 casos de uso diferentes.

Tutorial

Como usar o Midjourney: Um guia abrangente para a criação de obras de arte geradas por IA

Descubra o poder do Midjourney, uma ferramenta de IA generativa para criar obras de arte impressionantes. Saiba como começar, escrever prompts eficazes e otimizar seu uso com nosso guia passo a passo.
Kurtis Pykes 's photo

Kurtis Pykes

Ver maisVer mais