# Tutorial da Flowise Ai (2024) Transcrições de: Tutorial da Flowise AI (2024) Tipo: Playlist Data: 08-01-2025 23: 39: 41 ## Vídeo 1: [Link](https://www.youtube.com/watch?v=nqAK_L66sIQ) (Idioma: en) A Flowise AI é uma ferramenta que facilita a criação de aplicativos de Inteligência Artificial (IA) poderosos sem escrever um único linha de código. É aberto-source, gratuito para usar e foi desenvolvido usando o framework de desenvolvimento extremamente poderoso LangChain. Se você não estiver familiarizado com LangChain, é um framework de desenvolvimento que permite aos desenvolvedores construir aplicativos IA e tem crescido rapidamente em popularidade. E a Flowise torna disponíveis todas as funcionalidades do LangChain através de uma interface de usuário drag-and-drop fácil de usar. Portanto, em vez de ter que escrever código complicado, basta arrastar e soltar esses nós em um canvas para criar aplicativos de IA complexos. A Flowise se tornou minha plataforma favorita para criar chatbots e agentes de IA para meus clientes, e posso dizer de primeira mão que é possível criar aplicativos de IA impressionantes usando o Flowise. É também fácil integrar o Flowise em nossos sites ou aplicativos usando os pontos de extremidade de API ou de embed. Vamos começar por configurar o Flowise localmente. Vamos ter uma olhada no deploy do Flowise na nuvem nesta série, mas é sempre uma boa ideia começar com uma instância local para desenvolvimento e testes. A configuração é extremamente fácil, e podemos ver na página do Flowise que envolve chamar apenas dois comandos no terminal. Isso instalará o Flowwise globalmente em nossas máquinas, o que eu pessoalmente não sou fã, então também mostrarei duas outras maneiras de instalar o Flowise em uma pasta específica. E se você permanecer, também mostrarei como você pode usar um script simples que escrevi especificamente para esta série para instalar e atualizar o Flowise rapidamente. Para usar o Flowise, você precisa ter o Node. js instalado, então vá para [nodejs. org](http://nodejs.org) e instale a versão LTS do Node. Em seguida, abra seu prompt de comando ou terminal, e depois entre no comando npm install-g flowwise e pressione Enter. Isso instalará o Flowise globalmente em sua máquina. Se você quiser instalar o Flowwise em uma pasta específica em vez disso, avance para a próxima etapa. Para a maioria de vocês, este método será perfeitamente adequado. Após a conclusão da instalação, podemos iniciar o Flowise executando npx flowwise start. Isso iniciará um servidor local, e podemos acessá-lo indo para localhost 3000, e você deverá ver um painel como este. Portanto, sempre que quiser iniciar o Flowise, abra seu terminal, entre npx flowwise start, e você poderá acessar o Flowise indo para localhost 3000. Para atualizar sua instância do Flowise, basta executar npm update-g flowwise, e isso atualizará sua instância do Flowise para a versão mais recente. E se você já quisesse desinstalar o Flowise, basta executar este comando. ## Vídeo 2: [Link](https://www.youtube.com/watch?v=kAyKOsm8L5Y) (Idioma: en) Agora que configuramos o Flowise, podemos finalmente começar a criar nossos aplicativos IA. Neste vídeo vamos descobrir tipos diferentes de blocos disponíveis para criarmos aplicativos de IA poderosos. Vamos também ver como configurar e treinar os nossos modelos de machine learning. O Flowise inclui modelos de ML pré-treinados incluídos, mas também podemos treinar nossos próprios modelos de IA usando os dados de treino de nossa escolha. Veja este vídeo para aprender mais sobre como irá criar nossos primeiros aplicativos de IA usando a Flowise. # Guia para o uso de Modelos de Língua Grande em Flow-wise ## Duplicando, Excluindo ou Visualizando Informações Sobre Nós Pode duplicar, excluir ou clicar em `Info` para visualizar mais informações sobre um nó. Este nó serve para executar consultas contra modelos de língua grande. 1. **Adicionando um Modelo de Língua Grande: ** - Primeiro, clique em `Adicionar Nós`. - Descole a lista de modelos de língua grande fornecida no painel abaixo. Neste exemplo, iremos selecionar `OpenAI`. - Adicione o nó do OpenAI para o canvas e conecte-o à cadeia arrastando o saída em direção ao input de modelos de língua grande na cadeia. 2. **Conectando Credenciais: ** - O nó do OpenAI requer credenciais para ser conectado. Para criar uma credencial: - Clique no menu despertador e então clique em `Criar Nova`. - Dê um nome à credencial (por exemplo, `Flow-wise Tutorial`). - Insira a chave API do OpenAI, que pode ser obtida indo para [platform. openai. com/api/keys](platform. openai. com/api/keys) e clicando em `Criar Novo Chave Secreta`. Nomeie a chave `Flow-wise Tutorial` e clique em `Criar Chave Secreta`. - Copie este valor da chave e cole-o no campo de Flow-wise. Clique em `Adicionar`. 3. **Ajustando Modelo e Parâmetros: ** - Abra a lista suspensionada para o nó do OpenAI para acessar diferentes modelos. Estes modelos oferecem graus variados de desempenho e inteligência, e a acessibilidade a modelos inteligentes GPT 3. 5 e GPT 4 será demonstrada mais tarde. - Defina um valor de temperatura entre 0 e 1. Um valor de 0 garante respostas precisas e factuais, enquanto um valor de 1 fornece total controle criativo. - Outros parâmetros, como o número máximo de tokens gastos, também podem ser configurados. 4. **Criando Modelos de Prompt: ** - Adicione o último nó: o `prompt`. - Clique em `Adicionar Nós` e abra o menu de prompt para criar um modelo de prompt no canvas. - Conecte este modelo de prompt para a cadeia conforme mostrado. - Os modelos de prompt permitem que você determine o comportamento da sua aplicação artificial inteligente, como delinear o input e o output esperados. 5. **Insere Valores Dinâmicos nos Modelos de Prompt: ** - Substitua a variável de lugar-pós (por exemplo, `cavalos`) pelos colcheros abertos (`{}`). - Emplacamentos a variável dinâmica (por exemplo, `assunto`) dentro dos colcheros. - Mapear o input do painel de chat para a variável de assunto. - Salve o fluxo de chat e teste-o clicando no bolinha de chat. 6. **Cadeias em Cadeia: ** - Crie duas cadeias: um cozinheiro para gerar receitas únicas baseadas no ingrediente principal, e um crítico para escrever uma resenha daquela receita. - Transmita a saída da uma cadeia para a entrada da outra usando as previsões de saída e conecte as cadeias apropriadamente. 7. **Credenciais: ** - Vá para o Painel de Controle do Flow-wise para visualizar todas as credenciais criadas. 8. **Parsers de Saída: ** - (Explicação detalhada será fornecida em futuros vídeos. ) ## Links de Vídeo: - Vídeo 3: [https://www.youtube.com/watch?v=yLfiNnK4NOM](https://www.youtube.com/watch?v=yLfiNnK4NOM) (Inglês) - Vídeo 4: [https://www.youtube.com/watch?v=bT308854-Qw](https://www.youtube.com/watch?v=bT308854-Qw) (Inglês) # Modificação de Modelo de Prompt Simples e Uso de Analisadores de Saída Este exemplo demonstrará a modificação de um modelo de prompt simples e o uso de analisadores de saída para processamento de respostas em um formato específico. Este processo é particularmente útil no manipulamento de respostas de um modelo de linguagem grande (LLM) em um formato estruturado. ## Configuração do Modelo de Prompt Neste exemplo, considere um modelo de prompto que pede ao modelo para determinar se uma declaração dada é verdadeira ou falsa. Criaremos um espaçador chamado `sentença` para os inputs do usuário. ```markdown # Determine if the following sentence is true or false ## Sentence: [sentence] ## Response: ``` ## Analisadores de Saída Para processar respostas em um formato específico, como objetos JSON, podemos adicionar analisadores de saída à nossa flow. Aqui, implementaremos um analisador de saída estruturado com uma propriedade boolean `sentimento` para indicar a verdadeirança de um input do usuário. ### Sem Analisadores de Saída ```markdown ### Response: [string Response do modelo] ``` ### Com Analisador de Saída ```markdown ### Response: ``` _Analisador de Saída Estruturado_ ```json { "sentimento": [boolean response do modelo] } ``` Agora podemos utilizar este objeto JSON processado para implementar lógica, como demonstrado nas seções seguintes. ## Demonstração Depois de configurar o prompt e os analisadores de saída, teste a nossa flow com inputs diferentes. ### Teste de Sentença Verdadeira Por favor, pergunte ao modelo se o céu é vermelho. ```markdown ## Sentença: O céu é vermelho ``` A flow deve responder com: ```json { "sentimento": false } ``` ### Teste de Sentença Falso Por favor, pergunte ao modelo se 1 mais 1 é igual a 3. ```markdown ## Sentença: 1 + 1 é igual a 3 ``` A flow deve responder com: ```json { "sentimento": false } ``` ### Uso Avançado: Extrair Informação de Sentenças Por modificação do prompt e do analisador de saída, é possível extrair informação de sentenças específicas. #### Modificação do Modelo de Prompt Mude a primeira linha para "extrair informação da seguinte sentença" e configure valores de formatação de prompt para mapear o espaçador `sentença` para a questão no campo de chat. #### Modificação do Analisador de Saída Nos nosso analisador de saída, adicione uma nova propriedade `nome` do tipo `string` para armazenar o nome extraído. Defina uma descrição para a propriedade para especificar como a informação deve ser extraída. Adicione também uma propriedade `idade` do tipo `number` para armazenar a idade do usuário e defina uma descrição para ela também. ```markdown ### Response: ``` _Analisador de Saída Estruturado_ ```json { "nome": "", "idade": 0, "sentimento": false } ``` Depois que configurar o novo modelo de prompt e modificar o analisador de saída, teste a flow com uma frase de exemplo como "Max é 30 anos e casado com Angie. " A flow deverá extrair corretamente o nome "Max" e a idade "30" da frase. ### Chamada Condicional de Rotas com o Ajuda de Analisadores de Saída Vamos criar duas rotas separadas para tratamento de resenhas positivas e negativas. Use um analisador de saída para obrigar o sentimento da resenha a um valor booleano, então chame as rotas de maneira condicional. Aqui está um exemplo de como você pode configurar as rotas `positiva` e `negativa`: 1. Crie um novo analisador de saída chamado `sentimento`. ```markdown ### Response: ``` _Analisador de Saída Estruturado_ ```json { "positiva": true } ``` 2. Chame as rotas `positiva` e `negativa` de forma condicional utilizando a função if-else. Transfira a saída do `sentimento` analisador para a função if-else e assigne-lhe um nome variável. ```markdown ## Resenha Positiva Chain: Esta rota especializa-se em resenhas positivas. Aqui está um exemplo de o que poderia fazer: 1. Agradece a usuário por sua resenha positiva 2. Pergunte ao usuário se deseja publicar uma resenha no nosso site 3. Resume a resenha 4. Adicione um spaceholder para a resenha ### Resenha Negativa Chain: Esta rota especializa-se em resenhas negativas. Aqui está um exemplo de o que poderia fazer: 1. Pergunte ao usuário se deseja abrir um ticket de suporte 2. Disculpe pelo mau experiência ``` Substitua o spaceholder para a resenha em ambas as rotas e os seus template prompts corretos. Salve e teste a flow. Ao executar a flow, ela deverá responder `true` (ou `"positiva": true`) se a resenha for positiva e `false` (ou `"positiva": false`) se for negativa. Use esta saída para chamar as rotas de maneira condicional utilizando a função if-else. # Análise de Sentimento Este fluxo demonstra uma análise de sentimento simples usando uma função if-else. O objetivo é criar um sistema que retorne a cadeia positiva ou negativa com base no sentimento do texto de entrada. ## Análise de Sentimento Para identificar o sentimento, temos um script que verifica se a propriedade `positive` dentro da variável `sentiment` é verdadeira. Aqui está a descrição: ``` Análise de Sentimento: - se sentence. positive (verdadeiro ou falso) for verdadeiro: Chame a cadeia positiva - se sentence. positive (verdadeiro ou falso) for falso: Chame a cadeia negativa ``` ## Cadeia Positiva A cadeia positiva retorna um mensagem para agradecer ao usuário pelo seu feedback e pergunta se permite publicá-lo no site. ## Cadeia Negativa A cadeia negativa responde com uma desculpa e oferece suporte ao cliente para lidar com as preocupações. ## Vídeo 5: [Link](https://www.youtube.com/watch?v=xJ3iohxHIGo) Neste vídeo, você aprenderá a criar um chatbot semelhante ao ChatGPT sem escrever nenhum código usando Flowwise AI. O chatbot pode ter conversas de e para, e também exploraremos armazenar e recuperar várias conversas. Comecemos criando um fluxo de chat novo: 1. Adicione uma nova cadeia. 2. Escolha o tipo de cadeia de conversação. 3. Adicione o modelo (por exemplo, Modelo Chat Open AI). 4. Atribua o modelo à cadeia. 5. Adicione as credenciais (por exemplo, Nome do modelo: GPT 3. 5 Turbo, Temperatura: 0. 7). 6. Adicione um Nó de Memória de Buffer e atribua-o à cadeia. Durante este vídeo, vamos melhorar o chatbot explorando recursos adicionais. ## Teste do Fluxo 1. Salve e teste o fluxo tendo uma conversa com o bot. 2. Para um caso de uso positivo, tente uma frase como "O alimento foi delicioso. " 3. Para um caso de uso negativo, tente uma frase como "O camarário foi rude, " o que deveria retornar uma desculpa da cadeia negativa e oferecer suporte ao cliente. ## Conclusão Este fluxo demonstra o conceito básico de um chatbot de conversação baseado em análise de sentimento usando a função if-else e o nó de memória. Você verá o valor de integrar analisadores de saída e outras ferramentas enquanto avançamos na série. Divirta-se com o vídeo! # Criando um Chatbot com Flow-wise: Um Guia Passo a Passo Este guia mostrará-lhe como criar um chatbot usando Flow-wise. O Flow-wise permite-lhe criar chatbots que possam responder a perguntas a partir de várias fontes de dados, como documentos PDF, sites web, bancos de dados ou qualquer outra fonte que desejar. ## Pré-requisitos Antes de começar, certifique-se de ter uma conta no [Upstache. com](https://upstache.com). ## Criando um Chatbot 1. **Iniciar sessão no Upstache** - Navegue até Upstache. com e inicie sessão na sua conta. - Garanta que Redis esteja selecionado e clique em "Criar Banco de Dados. " 2. **Criar um Banco de Dados** - Dê um nome ao seu banco de dados. Por exemplo, "Flowwise AI. " - Selecione uma região e clique em "Criar. " 3. **Seção REST API** - Desça até a seção REST API. - Copie o token REST e a URL fornecida lá. 4. **Adicionando o Token e a URL** - Cole o token na caixa de texto adequada e clique em "Adicionar. " - Cole a URL na outra caixa de texto. 5. **Especificando um Identificador Único** - Clique em "Parâmetros Adicionais" e especifique um ID de sessão. Por exemplo, "chat1. " - Opcionalmente, defina um tempo limite de sessão. 6. **Salvando o Fluxo de Chat** - Salve o fluxo de chat e clique em "Chat. " - Escreva uma pergunta na caixa de texto de chat e observe a resposta. 7. **Gerenciando Conversas** - Pode gerir e alternar entre várias conversas especificando diferentes IDs de sessão. - A história da conversa será gravada no banco de dados Upstash. ## Geração Aumentada por Retrieval (RAG) O Flow-wise utiliza uma técnica chamada Geração Aumentada por Retrieval (RAG) para melhorar a precisão de suas respostas. Esta técnica envolve aumentar modelos de IA com contexto adicional de fontes de dados externas. Neste vídeo, você aprenderá a criar um chatbot de recuperação que utiliza esta técnica e armazena o conhecimento base em um servidor vectorial sem-estado Pinecone. Você também aprenderá a recuperar dados de várias fontes, como arquivos PDF e sites web, e dividir o dado em pequenas partes para reduzir o uso de tokens. Vídeo 6: [YouTube](https://www.youtube.com/watch?v=V7uBy3VQJAc) (Idioma: en) --- Este guia deve ajudá-lo a começar a criar um chatbot usando Flow-wise. Feliz código! # Interagindo com os dados no Armazenamento de Vetores Aprenda a enviar este dado para o banco de dados usando o Flow-wise. ## Colocando o Dados no Banco de Dados Aprenda os passos envolvidos em carregar o dados usando o Flow-wise. 1. Clique no botão verde para abrir um pop-up. 2. O pop-up mostrará os passos envolvidos em carregar os dados. 3. Quando clicar em `Mostrar API`, você pode obter o ponto de extremidade da API para acionar este carregamento do banco de dados a partir de suas soluções personalizadas. 4. Para carregar os dados usando o Flow-wise, basta clicar no `carregamento`. 5. Você obterá uma mensagem dizendo que o carregamento foi bem-sucedido. 6. Feche o pop-up e tente executar o processo. ## Perguntando Perguntas Relevantes ao Documento PDF Para perguntar perguntas relevantes ao documento PDF, use a funcionalidade de chat. Por exemplo: > Qual foi o quantidade total dos ativos em 2023? Você deverá receber a quantidade correta em retorno, que era 93. 941 milhões de dólares. ## Extraindo Informações de um Website Aqui está como extrair informações de um website, especificamente da documentação do Flow-wise. ### Extraindo a Documentação do Flow-wise 1. Descarregue o carregador de documentos PDF. 2. No menu "Adicionar Nós", vá para `Document Loaders` e adicione o scraper web do Cheerio. 3. Conecte o scraper web ao armazenamento de vetores e conecte o dividor de texto ao carregador de documentos. 4. Cole o URL da documentação e cole-o no nó. 5. Salve o fluxo de chat e clique em "Atualizar Banco de Vetores". 6. Clique em "atualizar" e feche o pop-up. 7. Pergunte uma questão sobre as informações extridas. Por exemplo: > Como posso implantar o Flow-wise para renderizar? Você deverá receber a resposta correta em retorno. 8. Tente perguntar uma questão que não esteja no contexto, como: > Como posso implantar o Flow-wise em AWS? Você deverá receber uma resposta que indique que a questão não está no contexto. ### Extraindo Informações de vários URLs de vez em quando Você pode extrair mais de uma URL de vez clicando em `Parâmetros Adicionais`, em seguida, alterando o método `get relative links` para `scrape XML sitemap`. ### Carregando e Exibindo Documentos de origem Para habilitar o carregamento e exibição de documentos de origem, basta habilitar essa funcionalidade. ## Adicionando um Banco de Dados Pinecone Serverless ao Projeto Aqui está como adicionar um banco de dados Pinecone Serverless ao projeto. 1. Remova o armazenamento de vetores em memória. 2. Adicione o armazenamento de vetores Pinecone e conecte as embaixas, os carregadores e a cadeia de conversação. 3. Forneça suas credenciais do Pinecone e o nome do índice do seu Pinecone. 4. Use o Pinecone como uma solução de armazenamento de vetores acessível de forma a custo. 5. Faça o check-in ou faça o login em sua conta para começar. [https://pinecone.io](https://pinecone.io) ### Criar um Índice 1. Crie um índice dando-lhe um nome e especificando as dimensões (por exemplo, 1536). 2. Selecione a métrica de cosinus. 3. Se você ainda não fez upgrade para o plano completo, Sterling. 4. Para pessoas interessadas em usar serverless, selecione serverless e clique em `Criar Índice`. 5. Cole a chave da API e adicione-a ao chat flow credencial. 6. age o URL no `Gerenciar Links` com o URL que deseja extrair. 7. Corra o `web crawl` ou `scrape XML sitemap` e verifique o console do Pinecone para ver se os vetores foram adicionados ao índice. Você pode perguntar questões sobre as informações extridas, e o bot responderá com as respostas certas. ## Mais dicas sobre a Uso de Recuperações 1. Se você deseja ver os documentos de origem, habilite essa funcionalidade. 2. Quando você perguntar uma questão novamente, o bot lhe ditará onde ele extraiu a informação de volta com os links para as páginas web respectivas. O vantagem de usar um banco de dados como o Pinecone é que, em teoria, você poderia, em princípio, remover o extrator e o dividor de texto, porque o nó de documentos é opcional. Isso permite-lhe separar a funcionalidade absurda e a funcionalidade de recuperação em chat flows separados. # Depurando e Monitorando o Fluxo de Chat com LangSmith (Vídeo 7: <https://www.youtube.com/watch?v=QghlUiQHMbw - Linguagem: en) Nesta série, vimos criar uma variedade de fluxos de chat usando o Flow-wise. Um dos maiores desafios é manter rastreio de o que essas aplicativos AlloLm estão fazendo por trás de cena, especialmente como a complexidade aumenta. Felizmente, existe uma solução para depurar e monitorar essas aplicativos AlloLm de forma detalhada chamada LangSmith. Se você é desconhecido com LangSmith, é uma plataforma desenvolvida pela LangChain e é uma das células fundamentais do Flow-wise. O que isso nos permite fazer é monitorar cada passo dentro de nossa aplicação em detalhe. Há algumas outras vantagens, como visualizar o número de tokens usados por nossa aplicação. Para usar LangSmith, faça o registro gratuito, conecte suas credenciais, habilite analyse e teste seu fluxo de chat para ver rastros e outras detalhes no painel de controle do LangSmith. # Monitoramento de Token e Custo de Tokens em Fluxos de Chat Flow-wise Esta secção explica como manter o monitoramento de uso e custo de tokens em Fluxos de Chat Flow-wise. Veja como é feito: ## Examinando o Uso de Tokens Agora podemos ver informações adicionais sobre o custo ao clicar no registro. Na área esquerda podemos ver todas as diferentes etapas executadas como parte deste rastreamento. Como este foi um aplicativo simples, existia apenas uma etapa: a chamada ao modelo OpenAI. É possível ver o conteúdo do template de prompt utilizado nesta chamada. Neste caso, o placeholder foi preenchido com `cavalo`. A saída da geração do modelo OpenAI também está disponível. Veja-o um passo a frente falhando o template de prompt dentro de Langsworth clicando no "Playground". Aqui, você tem a opção de alternar o template de prompt e então executar-lo. Você também pode brincar com os diferentes parâmetros para copiá-los de volta para seu aplicativo Flow-wise. **Para se utilizar isso: ** 1. Clique em "Segredos" e cole sua chave API OpenAI. ## Usar Langsworth em uma Cadeia e Parseador de Saída Vamos dar uma olhada em alguns exemplos utilizando Langsworth. Neste exemplo temos uma cadeia simples de LLM com um parseador de saída personalizado. O template de prompt gera uma lista separada por vírgula de sinônimos para uma palavra dada. Colemos uma palavra da caixa de diálogo, iremos utilizar o modelo GPT 3. 5 Turbo promoção para o modelo e teremos um parseador de saída personalizado para a cadeia de fluxo. **Para configurar a LLM com um Parseador de Saída: ** 1. Clique em `configurações` e em seguida `Analisar fluxo de chat`. 2. Dentro de Langsworth, forneça os seus credenciais de Langsworth. 3. Nomeie o projeto "Flow-wise". 4. Coloque o Langsworth na posição "Ligado". 5. Salve as alterações. 6. Execute a conversa para gerar a lista de valores em formato JSON. **Nota: ** Não haverá ideia de como o parseador de saída funcionar baseado no output. Mas pelo clique no `rastreamento`, pode-se ver que o placeholder da palavra foi passado para o modelo, e há uma propriedade adicional—`instruções de formatação` injectadas pelo módulo de parseador de saída. ## Usar Memória em Cadeias de Conversa Vamos dar uma olhada nesta cadeia de conversa. Trata-se de uma cadeia simples de conversa com memória atribuída a ela. **Para configurar a cadeia de conversa com memória: ** 1. Ative o Langsmith clicando em `configurações`. 2. Analise o fluxo de chat. 3. Selecione os seus credenciais. 4. Insira o nome do projeto. 5. Poça-se no estado "Ligado". 6. Salve as alterações no chat. 7. Digite algo como "frase-prefixo" (e. g. , "Langsmith"). **Nota: ** Isso é para mostrar como a memória funciona nessas aplicações. Vá até Langsworth e veja que a cadeia de conversa é uma seqüência executável e, se clicar nele, poderá ver uma lista simples de etapas. Também é possível ver que há cinco etapas escondidas nesta. Para ver todas as etapas, clique em `relevante mais` e em seguida `mostre tudo`. ### Linha de Comando do YouTube **Vídeo 8: ** <https://www.youtube.com/watch?v=Dinzg_dGfqU> (Língua: en) Este vídeo demonstra como criar um assistente Power AI sem escrever linhas de código. Este assistente pode ter muitas aplicações para empresas, e ao aprender o conteúdo deste vídeo, você será capaz de criar um assistente que não só responderá perguntas de sua base de conhecimento, mas também executará tarefas complexas usando ferramentas. Mas primeiro, vamos discutir as diferenças entre cadeias e agentes. Nos últimos vídeos, vimos que as cadeias seguem uma sequência bem simples. Elas respondem às perguntas de modo predefinido. Portanto, enviaremos uma prompt, e elas retornarão uma resposta com base em um modelo de prompts que fornecemos. Os agentes, por outro lado, podem usar razão para descobrir as ações que precisam ser tomadas para concluir uma tarefa. Em resumo, a diferença principal entre os agentes é que podemos fornecer uma lista de ferramentas disponíveis para o agente azul. **Exemplo: ** Se é perguntado uma problemática de cálculo muito complexo, o agente irá tentar calcular o problema no próprio cabeçalho e fornecer uma resposta. Porém, há chances de não ter confiança na resposta. Porém, se for fornecida uma ferramenta de cálculo, e novamente perguntado a mesma problemática, se espera que a sua resposta melhorará ou pelo menos esperamos que assim o faça. Portanto, isso é o que o agente fará. Quando perguntamos à nossa agente uma questão, ele primeiramente tentará ver se consegue responder às questões da sua base de dados de treinamento e se não conseguir, vai olhar na lista de ferramentas disponíveis para encontrar uma solução. Vamos apagar esta cadeia de execução. E vamos configurar os fundamentos. Sabemos que precisamos de um modelo de cálculo de chat e memória. Vamos então começar os primeiros passos. **Sobre modelos de cálculo de chat: ** * Adicione o modelo de cálculo OpenAI ao Chatbot. * Adicione suas credenciais: * Escolha o modelo GPT4 se tiver acesso. Se não tiver, utilize o GPT 3. 5 Turbo. * Para a temperatura, escolha um valor baixo, porque vamos querer que o agente dependa mais de suas ferramentas e não seja muito criativo com as respostas. * Depois, crie memória. Adicione memória na página de sistemas e depois separe este campo nas configurações do seu assistente. **Observação final: ** Agora, é bastante importante ter em mente que deve-se definir um set de casos usando API de programação para que seu assistente possa realizar o tratamento desejado em caso de problemas. # Introdução ao uso de ferramentas no agente Este guia ensinará sobre a criação e adição de ferramentas a um agente utilizando um exemplo de um calculador. Em seguida, adicionaremos ferramentas adicionais que permitirão ao agente realizar buscas no Google. ## Adição de um calculador Adicionará-se o calculador ao agente. Iniciaremos no menu Ferramentas e vamos adicionar livremente o nosso calculador ao canvas. Em seguida, ativa-mos o calculador aos nossos Ferramentas Permitidos. ``` Salve esse fluxo de conversa e realize um teste. Pergunte algo como: O que é 5000 dividido por 20? E veja o que obtemos de volta. ``` De acordo com o que retornamos, é difícil determinar se um instrumento foi usado ou se a resposta foi apenas fornecida pelo modelo. Em outras palavras, utilizamos uma ferramenta como Langsmith para ver o que está acontecendo por trás das cena. Segue abaixo o processo para usar a ferramenta disponível opcionalmente, Langsmith: 1. Acesse o menu Análise do fluxo de conversa. 2. Insira suas credenciais de Langsmith. 3. Dê um nome ao projeto, por exemplo: agent demo. 4. Ativar o rastreamento. 5. Gravar o fluxo de conversa. Reinicie a sessão, limpe o chat e teste novamente. 6. Com o Langsmith, você pode visualizar o Strace. Lá podemos ver o calculator tool e sua entrada e saída. ## Adição de uma ferramenta para realizar buscas no Google Adicionaremos uma ferramenta para que o agente possa realizar buscas no Google. 1. Acesse o menu Adicionar Nó > Ferramentas. 2. Capture a opção para adicionar a funcionalidade de pesquisa no Google. 3. Neste exemplo, simplificaremos o processo adicionando a SERP API . 4. Atacaremos a ferramenta SERP API ao nosso agente. Você poderá adicionar mais de uma ferramenta a este agente na entrada. 5. Para utilizar a SERP API precisaremos atribuir as suas credenciais. 6. Por fim, testaremos a busca adicionando nosso agente ao chat e perguntando algo como: Qual é o preço atual de um RTX 4090 no Amazon. com? ## Localização de uma ferramenta nos outros lugares Movemos-nos-íamos o calculador para um local diferente e vamos adicionar uma ferramenta que nos permitirá realizar pesquisas na web. ## Criação de um chain de LLM para geração de receitas Gerará-se uma receita única utilizando uma chain de LLM. Adicionaremos essa chain de LLM, permitindo que o agente gerar uma receita quando pedirmos uma delas. ## Adição de uma base de conhecimentos custome à nossa ferramenta Conheça como adicionar bases de conhecimentos personalizadas a nossa ferramenta utilizando um exemplo de base de dados corporativo. # Guia: Dispachando FlowWise para a Nuvem Neste guia, estudaremos o processo de dispachamento de FlowWise para a nuvem, para que possa acessar os seus fluxos de chat de qualquer local. Isso é essencial para integração dos chatbots de FlowWise em sites e outras aplicações. Unless é o plano de usar FlowWise apenas na sua máquina local, este guia é para você. Antes de começar, let's lembra-se de duas informações importantes sobre este guia: 1. Dispachar FlowWise para a nuvem não é necessário para seguir em conjunto este tutorial. 2. Existirá um custo associado ao hospedagem de instâncias de FlowWise na internet, mas será demonstrada uma solução de despejo gratuita neste guia. ## Requisitos - Uma conta GitHub - [Repositório de FlowWise](https://github.com/flowwiseai/flowwise-ai) - Render (Provedor de despejo) - [Inscrever-se](https://render.com/signup) ## Passos 1. Forkar o Repositório de FlowWise no GitHub 1. Vá para o Repositório de FlowWise no GitHub. 2. Clique no botão "Fork". 2. Criar um novo serviço web no Render 1. Vá para Render e faça o login ou registre-se na sua conta. 2. No painel de painel, clique em "Novo" e depois crie um serviço web. 3. Selecione "Deploy from GitHub". 4. Escolha o repositório forcado de FlowWise e conecte sua conta GitHub. 5. Forneça um nome para o seu projeto, escolha uma região, deixe a branch como "main", e deixe a pasta de rota vazia. 6. Para o runtime, selecione Docker. 7. Sob "Tipo de instância", escolha um plano de acordo com suas necessidades. Para seguir de perto com este tutorial sem gastar dinheiro, use o plano gratuito. No entanto, tenha em mente que o plano gratuito tem limitações, especialmente com relação à memória persistente e velocidade do serviço. 8. Configurar variáveis ambiente: 1. `flowwise_username`: seu nome de utilizador de FlowWise. 2. `flowwise_password`: a sua senha de FlowWise. 3. `NODE_VERSION`: define-o para `18. 18. 1`. 3. Crie armazenamento persistentemente (opcional, mas recomendado para ambientes de produção). 1. Clique em "Avançado". 2. Clique em "Adicionar disco". 3. Dê um nome ao disco (por exemplo, `flowwise_disk`). 4. Para o caminho de montagem, entra `/opt/render/dot/flowwise`. 5. Defina o tamanho do disco para `1G` (suficiente para FlowWise). 6. [CONTINUE ESTE PASSO EM PORTUGUÊS EUROPEU] 7. Configurar variáveis ambiente adicionais: 1. `DB_PATH`: use o mesmo valor do caminho de montagem. 2. `API_KEY_PATH`: use o mesmo valor do caminho de montagem. 3. `LOG_PATH`: use o mesmo valor do caminho de montagem. 4. `SECRET_PATH`: use o mesmo valor do caminho de montagem. 4. Dispachar FlowWise 1. Clique em "Criar web service". 2. Aguarde a implementação terminar. 5. Acessar FlowWise 1. Após a implementação ser concluída, você deverá ver um URL para sua instância de FlowWise. Clique nela para ser redirecionado para o seu perfil. 2. Inserir as suas credenciais de FlowWise para entrar. Por favor, apoiar esse canal agindo no botão de gutar, no botão de assinatura e comentando abaixo qual provedor de despejo você gostaria que abordassem em um futuro vídeo. ## Links de Vídeos - [Vídeo 9: Deploy FlowWise para a Nuvem](https://www.youtube.com/watch?v=OMNC8MQKosU) (Linguagem: en) - [Vídeo 10: Adicionar bot de chat AI ao seu site](https://www.youtube.com/watch?v=G1ZSxKNdPG4) (Linguagem: en) Fique atentado a mais tutoriais de FlowWise! --- *Para este guia, o texto original foi rearranjado e reestruturado para melhorar a legibilidade e manter a claridade. * [](https://pt.stackexchange.com/questions/37155) # Integrando o Chatbot Flowize em uma Aplicação Next. js Neste tutorial, vamos demonstrar como utilizarmos a opção React em Flowize para integrarmos o nossa chatbot com uma Aplicação Next. js. Aqui está uma passo a passo para ajudá-lo na realização do processo: ## Adicionando o Chatbot a um Website HTML Para manter o processo mais simples possível, vamos trabalhar com um arquivo **index. html**. Não se preocupe demasiado sobre o código HTML. Nossa principal prioridade é aprender a copiar o código de embed do Flowize e colá-lo no projeto de nossa página web. Isto se aplica mesmo se estiveres a utilizar Wix, Squarespace, Shopify ou outros provedores de páginas web. O que precisará é a capacidade de copiar este código embebido do Flowize e colá-lo no projeto da sua web, usualmente dentro do body tag. Os métodos de inserção de código JavaScript em templates de página web são diferentes para cada provedor. Para foundar uma solução, basta Googlear o problema correspondente para o provedor. Em Flowize, você encontrará uma mensagem dizendo, "cole esta em qualquer lugar dentro do body tag de seu arquivo HTML". Depois de copiar esse código, colá-lo onde quer dentro do body tag do seu arquivo HTML. ## Adicionando o Chatbot a uma Aplicação Next. js Para adicionar um chatbot a uma Aplicação Next. js: 1. Instale a dependência `flow-wise-embed-react`: ``` npm install flow-wise-embed-react ``` 2. Crie uma pasta chamada `components/chatbot. jsx` e defina uma component functional da seguinte forma: ```jsx import { BubbleChat } from 'flow-wise-embed-react'; import { useClient } from '@vue/vue-fs/client'; function Chatbot() { use client; return <BubbleChat chatFlowId={YOUR_CHAT_FLOW_ID} apiHost={YOUR_API_HOST} />; } export default Chatbot; ``` 3. Referencie a component em suas páginas Next. js: ```jsx import Chatbot from '. . /components/chatbot' function MyPage() { return ( <div> <Chatbot /> </div> ) } export default MyPage ``` Agora, você verá o bolha-diálogo no seu aplicativo Next. js e poderá interagir com ele. ## Personalização do Chatbot Aprenda a personalizar o esquema de cores do chatbot e remover a marcação de "Potencia pela Flowize" nesta secção a seguir. ## Informação Adicional: - [Vídeo 11: Usando Flowwise e Olama para construir um chatbot RAG sem gastar nenhum dinheiro](https://www.youtube.com/watch?v=85gZ7G-ze3c) [Compre-me um café](<Inserisca_o_link_aqui_a_pagina_de_doação>) - Se encontrar esta aplicação útil e ter o desejo de apoiar ou obrigar-me, por favor considere comprar-me um café clicando no botão abaixo. [Gosta deste vídeo](https://www.youtube.com/watch?v=85gZ7G-ze3c&like) - Se gostar deste vídeo. [Compartilhe este vídeo](https://www.youtube.com/watch?v=85gZ7G-ze3c&share) - Compartilhe este vídeo com os seus amigos e seguidores. [Inscreva-se no seu canal](https://www.youtube.com/c/Seu_usuario_de_canal_de_videos) - Considere-se inscrever no seu canal para mais vídeos como este. # Criando um Chatbot Local com Olama e Flow-wise Este guia você vai fazer a configuração de um chatbot local utilizando Olama e Flow-wise. ## Pré-requisitos - Instale Olama da [olama. com](http://olama.com) - Instale um ambiente local de Flow-wise (não em execução em `render. com` ou semelhante) ## Configurando Olama 1. Baixe e instale Olama. 2. Execute `olama serve` para iniciar Olama como um servidor local. Certifique-se que o servidor está em execução antes de continuar. ## Criando um Fluxo de Diálogo em Flow-wise 1. Crie um novo fluxo de diálogo. Chame-o "Chatbot Local". 2. Adicione uma Cadeia de Conversa sob Adicionar Nódulos > Cadeias. 3. Adicione o modelo de Chat Olama sob Modelos de Chat. Conecte o modelo à cadeia. 4. Defina o URL do modelo para o URL de sua instância Olama em execução. Se você copiar esse URL e abrir nele no navegador, deverá ver "Olama está a rodar". 5. Defina o nome do modelo para o modelo que baixou anteriormente (por exemplo, `LLM2`). 6. Defina a temperatura a um valor como 0, 7. 7. Adicione um Nódulo de Memória de Espelho sob Adicionar Nódulos > Memória e conecte-o à cadeia. 8. Grave o fluxo de diálogo. 9. Teste o fluxo de diálogo perguntando "olá". Você deverá receber uma resposta de Olama. ## Criando um Chatbot RAG (Respostas de Geração Baseadas em Recuperação) 1. Crie um novo fluxo de diálogo. Chame-o "Chatbot RAG". 2. Adicione uma Cadeia de Pergunta de Recuperação Assistida Conversacional sob Adicionar Nódulos > Cadeias. 3. Adicione o modelo de Chat Olama sob Modelos de Chat. Conecte o modelo à cadeia. 4. Defina o nome do modelo para o modelo que baixou anteriormente (por exemplo, `LLM2`). 5. Defina a temperatura a um valor menor como 0, 4. 6. Adicione um Nódulo de Armazenamento de Vetores sob Adicionar Nódulos > Armazenamentos de Vetores. Conecte o armazenamento de vetores à cadeia. 7. Adicione um Nódulo de Embeddings Olama sob Adicionar Nódulos > Embeddings. Conecte esse à tabela de armazenamento. 8. Defina o URL base e o nome do modelo para o nódulo de embutimentos à mesma URL e nome do modelo do modelo. Ative "Use MMAP" sob Parâmetros Adicionais. 9. Adicione um Fonte de Dados adicionando um carregador de documentos sob Adicionar Nódulos. Use um adaptador de documentos adequado como o Cheerio web scraper para scrapear uma página web. Conecte o carregador de documentos à tabela de armazenamento. 10. Grave o chatbot. 11. Utilize esta informação no armazenamento de vetores. Agora deverá ser possível perguntar sobre a página web. # Sobrescrevendo Valores e Cadeias de Conversações em Flowwise usando Markdown Agora, vamos voltar a revisar a caixa de diálogo e explorar como sobrescrever os valores. Começamos por adicionar uma outra propriedade ao payload, chamada `override_config`. Em seguida, especifique propriedades adicionais usando um sinal de colónia (`: `) e usando chaves pré-definidas `{}`. ## Localizando os Nomes de Propriedade Para localizar o nome do modelo, expanda o nó `chatOpenAI`, e pode ver propriedades específicas nos colunas `name`. Copie este nome de propriedade de modelo. Adicione-o ao nosso payload e especifique um valor com um sinal de colónia (`: `) e entre aspas, passe-o uma vez um valor de `GPT 4`. ## Habilitando Analítica com Langsmouth Para habilitar Langsmouth, vá para `configuração`, em seguida, `analisar fluxo de diálogo`, em seguida, selecione `credenciais do Langsmouth`. Gere um nome de projeto como `API demo`. Ative-o, em seguida, clique em `salvar` e em `salvar o fluxo de diálogo`. ## Sobrescrivendo Modelos de Prompts Para sobrescrever o `modelo de prompts`, encontre o `mostrar a configuração de entrada` e copie o nome da propriedade. Em Postman, passe um `modelo` de `diz-me uma piada sobre ${produto}` e mapie a entrada do usuário para a variável `produto`. Também pode passar um valor específico para uma variável sobrescrevendo a propriedade `valores do prompt` e adicionando-a ao `override_config`. Neste caso, podemos renomear a variável para `assunto` e especificar um valor para ela. Agora, quando você executa isso, você receberá uma piada em vez de um nome de empresa. ## Trocando o Valor de um Nó em particular Para alterar o valor de um nó em particular, encontre o ID do nó movendo-se sobre o nó e clicando no botão de informações. Copie este ID do nó e substitua a cadeia de caracteres por uma objeto ou chaves curingas (`{}`). Agora, especifique o nó em particular que você gostaria de alterar. Por exemplo, se você desejasse alterar apenas o modelo de um nó determinado, remova-o e substitua-o por um objeto, assim: ```json { "node_id": "new_value" } ``` Você pode seguir o mesmo padrão para qualquer nó e propriedade. ## Cadeias de Conversações e ID de Sessão Para continuar com uma conversação anterior pela adição de mensagens a essa conversa, precisará da propriedade ID de sessão devolvido pela API. Para fazer isso, copie o ID da sessão e sua cadeia de caracteres, junto com seu valor, e adicione-a ao objeto `override_config`. Se lembrou do exemplo de `cadeia de prompts` onde usamos várias cadeias LLM na mesma flow, para alterar o valor de um nó específico, basta localizar o ID do nó movendo-o sobre ele e usando o botão de informações. Você pode alterar o valor do nó específico somente removendo a cadeia de caracteres e substituindo-a por um objeto ou chaves curingas. Por exemplo, `{` `"node_id": "new_value" ` `}`. Voce pode adicionar outros nós ao objeto também. Mais informações sobre o Flowwise e suas características podem ser encontradas na documentação oficial. Lançamento: Guia de Documentação da Cadeia de Linguagem ============================================ Informações deste guia de documentação da Cadeia de Linguagem. Para obter mais detalhes, visite o seguinte URL: <https://url-fornecido-aqui> Neste guia, iremos guiar você pelas etapas de includir dados utilizando a API e consultá-los usando o Postman. Incluindo Dados Utilizando a API -------------------------------- ### Preparar Primeiro, faremos o upload dos dados utilizando o botão fornecido. Você receberá uma mensagem de sucesso indicando que a operação de inclusão foi concluída com sucesso. ### Consultar Dados com o Postman 1. Remova a configuração de sobrescrita (que será abordada mais tarde). 2. Sobreescreva a ID de sessão atual por uma ID de fluxo RAG de identificação única. 3. Mude a pergunta para: "O que é a Cadeia de Linguagem? " 4. Execute a solicitação e verifique se o retorno correto é devolvido. Com a API para executar a operação de inclusão ----------------------------------------------- Para executar a operação de inclusão com a API, faremos o seguinte: 1. Limpare a base de dados do Pinecone para começar com uma base limpa. 2. Clique em `Inserir` no painel de controle de fluxo. 3. Clique em `Mostrar API` e copie a URL fornecida. 4. No Postman, crie uma nova guia e cole a URL. 5. Mude o tipo de solicitação para `POST`. 6. Adicione a propriedade de tipo de conteúdo com o valor `application/json`. 7. Mude o tipo do corpo para `raw`. 8. Deixe o corpo vazio por momento e clique em `Enviar`. 9. Verifique a resposta indicando que a operação de inclusão foi bem-sucedida. 10. Atualize a base de dados do Pinecone para confirmar que os dados foram incluídos. Adicionando dados a Namespaces específicos ------------------------------------------ Adicionar dados a Namespaces específicos é essencial para aplicativos reais como a gestão de múltiplos usuários. Para isso, modificaremos o corpo da solicitação da API adicionando a propriedade `override_config` como um objeto. Quando voltarmos ao painel de controle de fluxo, selecionaremos as propriedades que desejamos definir, como o índice do Pinecone e o Namespace do Pinecone. Vamos substituir o Namespace do Pinecone por um identificador de usuário único. 1. Exclua as informações existentes para manter uma base de dados limpa. 2. Adicione `override_config` ao corpo da solicitação da API, definindo a propriedade Namespace do Pinecone com um valor específico (por exemplo, Leon-data). 3. Atualize a base de dados do Pinecone para verificar se a entrada foi criada com o Namespace especificado. 4. Filtre o Namespace no Web UI ou de forma programática para recuperar as informações pertencentes ao usuário especificado. ### Consultando com Configuração de Sobrescrita Defina a propriedade de configuração de sobrescrita na solicitação da API para executar consultas contra o Namespace especificado. Se você falhar a fazer isso, a consulta pode retornar uma resposta errada. ### Sobrescrita da URL (scraper web) É possível sobrescrever a URL que estamos capturando acessando o atual por meio da adição da propriedade `URL` na solicitação da API. Incluindo Arquivos no API (Para a inclusão de arquivo de texto) ----------------------------------------------------------- Quando lidamos com arquivos, modifique o tipo de conteúdo para `multipart/form-data` no Postman e passe o arquivo para o corpo. Alterne para o API cuidadosamente, se for a utilização sua, com o mesmo tipo de conteúdo. Segurança e Limitação de Chamadas API ----------------------------------- É possível segurar sua API utilizando uma chave API e impedir o abuso estabelecendo um limite de taxa. Para estabelecer um limite, entre no ponto final da API > curl > API key. Defina um limite, como 200 mensagens por minuto, e exiba uma mensagem para o usuário quando o limite for atingido. Exemplo Final: Replaceando o scraper web com um uploader de arquivo de texto --------------------------------------------------------------------------- Este vídeo demonstra como replacear o scraper web por um carregador de arquivo de texto e passar arquivos para a API de inclusão. Para mais informações, clique [aqui](https://www.youtube.com/watch?v=rGehI5PNP2o (Language: en)) para ver o vídeo: - Vídeo 13: HuggingFace ----------- O Hugging Face é uma plataforma que oferece mais de mil modelos de AI para a integração em suas aplicações do fluxo-wise. Se você estiver procurando alternativas mais baratas a serviços como OpenAI e Anthropic, este vídeo pode ser o certo para você. Antes de iniciar, uma advertência: Trabalhar com estes modelos pode ser tanto divertido quanto frustrante. Compartilharão alguns conselhos práticos para melhorar os resultados, mas lembre-se que serviços como OpenAI e Anthropic ainda podem ter seu lugar. Para acessar o Hugging Face, acesse [Hugging Face](https://huggingface.co/) e pesquise por modelos específicos ou navegue pela lista de modelos disponíveis. Pode filtrar por categoria, como modelos multimodais, visão por computador e mais. Teste um modelo diretamente enviando uma mensagem como: "Qual é a capital da África do Sul? " Além dos resultados, você verá detalhes sobre o modelo, incluindo a possibilidade de sua integração por meio da API de Inferência. Para implementar o modelo no Fluxo-wise: 1. Crie uma nova fluxo de chat no Fluxo-wise e adicione um novo nó. 2. Escolha `LLM Chain` e selecione o `LLM`. 3. Adicione o nó `Chat HuggingFace` entre o LLM chain e o LLM e defina as suas credenciais da Hugging Face. 1. Clique em `Criar Novo` para criar uma nova chave API. 2. Forneça um nome, como `API HuggingFace`. 3. No Hugging Face, crie uma nova conta ou entre, encontre `Configurações`, e `Tokens de Acesso`. 4. Crie um novo token, dêle um nome, e clique em `Gerar`. Copie o token e cole-o no campo de chave. 5. Copie o nome do modelo de sua página do modelo no Hugging Face e cole-o no campo de modelo. A url será auto-gerada se o hospedagem própria das suas modelos não for uma opção. Assim é! Integre o modelo de preferência do Hugging Face no aplicativo do Fluxo-wise de maneira simplificada. # Configuração da API de Infersão e Melhoria de Respostas do Modelo Este guia demonstra como configurar a API de Infersão para um modelo e melhorar suas respostas. ## Configurando a API de Infersão Se o botão "Implantar" estiver visível, você pode implantar um ponto de extremidade de infersão para o modelo seguindo esses passos: 1. Clique no "Implantar" opção. 2. Carregue seus dados do cartão de crédito. 3. Deixe as configurações como opções padrão, e faça a API pública. 4. Implante o modelo, e você receberá um URL de ponto de extremidade. Por favor, lembre-se que este guia só abrangera modelos gratuitos. ## Melhorando as Respostas do Modelo Para melhorar as respostas do modelo, é necessário formatar o modelo de prompts corretamente. 1. Primeiro, localize a seção de "formato de instrução" na documentação do modelo. 2. Adote o formato de instrução fornecido na documentação para o seu modelo de promotor. Por exemplo, usando o modelo de prompts `Diz-me uma piada sobre o assunto`: ``` S Diz-me uma piada sobre {assunto} ``` 3. Salve as alterações e teste a resposta do modelo. A resposta melhorada agora deverá ter melhor formatação e terá menos caracteres inesperados. ## Recursos Adicionais em Flowwise O Flowwise oferece vários recursos para melhorar seus fluxos de chat, como: - Permitir que os usuários enviem imagens - Habilitando reconhecimento de fala para texto - Adicionar notas anônimas ao canvas - Implementar recall inicial - Roteamento de taxa para prevenir espamamento - Permitir apenas domínios específicos - Recebendo retorno de feedback de chat dos usuários - Preventir registros duplicados em bancos de dados utilizando o gerenciador de registros. ## Recursos - [Vídeo 14: Recursos escondidos do Flowwise](https://www.youtube.com/watch?v=Sf0e9kD5NPE) (Inglês) - [Vídeo 15: Prevención de registros duplicados em bancos de dados utilizando o gerenciador de registros](https://www.youtube.com/watch?v=sNk6-ISi7i4) (Inglês) Sobre o Conhecimento da Base de Dados do Restaurante ====================================================== Aprenda detalhes sobre o restaurante e explore as informações da sua cardápio. Por exemplo, podemos ver as promoções especiais semanais durante vários anos. Suponhamos que essa semana ofereça uma descontagem de 50% em toda sushi e uma hora feliz de 4 PM a 6 PM, a restaurantante atualizaria sua base de dados. Em seguida, estiveramos "absorvendo" esses dados no nosso armazenamento de vetores. Agora, verificamos que foram adicionados 29 registros ao armazenamento de vetores. Neste demonstrativo, estamos utilizando um armazenamento de vetores Pinecone. Acessando o Pinecone, podemos ver os 29 registros durante vários anos. Magnífico! Agora podemos testar isso na conversa. Pergunte sobre as promoções e receberá como resposta: "Existem descontos de 50% em toda sushi e uma hora feliz de 4 PM a 6 PM. " Funcionando perfeitamente! No mundo real, as promoções mudam-se frequentemente, ou a cada semana ou dia. Para adaptar-se, a restaurantante atualizaria o seu documento Q&A. Por exemplo, no seu cardápio, poderiam mudar o especial de sushi para carnes. Para refletir isso, enviariam o novo arquivo. Salve as alterações, clique no "absorb, " e serão adicionados 29 documentos, assim como a primeira vez. No entanto, se recarregar o armazenamento de vetores, observarás agora que há 58 registros. Apenas tendo feito uma pequena alteração na base de dados, todos os documentos foram duplicados, causando confusão para o bot de chat. Felizmente, o Flow-wise oferece uma solução simples para prevenir duplicatas e manter um armazenamento de vetores limpo e atualizado. Essa solução é chamada de Gestor de Registos (Record Manager). Adicionando o Gestor de Registos ao Chat Flow ---------------------------------------------- Primeiro, vou demonstrar os benefícios de adicionar o Gestor de Registos ao chat flow. Depois, vou lhe guiar passo a passo no processo de configuração do Gestor de Registos. Vamos encerrar esse chat e movimentar esses nós. Neste exemplo, estamos utilizando Pinecone, mas outros armazenamentos de vetores também suportam o Gestor de Registos. No nó de armazenamento de vetores, pode-se ver uma entrada para o Gestor de Registos. Passando o cursor por esta entrada, diz: "Mantenha em controle dos registos para evitar duplicação. " Já tive configurado o nó do Gestor de Registos, e vamos passar pela sequência de passos em alguns minutos. Por favor, conecte o nó do Gestor de Registos ao armazenamento de vetores Pinecone. Selecione o documento original, oquem é o especial de sushi, guarde-o e limpe a base de dados do Pinecone antes de subir o documento. Isso garante um armazenamento de vetores limpo para começar. Agora, suba o documento, e novamente serão adicionados 29 registros, da mesma forma que fez a primeira vez. Carregue o novo documento com o especial de carne, selecione-o, guarde-o e observe os resultados quando subir o documento. Agora você verá que 28 registros foram eliminados, um registro foi eliminado e um documento novo foi adicionado. Isto acontece porque o documento alterado foi removido do armazenamento de vetores, e as informações novas foram adicionadas, resultando em um armazenamento de vetores limpo e atualizado sem duplicatas. Adicionando o Gestor de Registros aos seus Fluxos de Chat ---------------------------------------------------------- 1. Vá para Adicionar Nós. 2. Vá para a pasta do Gestor de Registos. 3. Selecione o nó de Gestor de Registos Postgres. 4. Conecte este nó ao armazenamento de vetores Pinecone. 5. Conecte uma base de dados Postgres. Crie uma base de dados de Postgres gratuita usando Superbase, faça login, crie a sua conta e siga as instruções para configurar a sua ligação à base de dados. 6. Defina o nome da tabela, espaço de nomes, modo de limpeza (nome nulo, incremental ou completo), e valor da chave de identificação da fonte. 7. Agora, vamos usar o Gestor de Registos num exemplo simples. Adicione o nó Texto Liso como carregador de documentos e conecte-o à entrada de documento no nó Pinecone. Forneça um texto, especifique um valor de identificação de fonte único, e execute o fluxo de chat. Agora você pode usar vários carregadores de documentos em um workflow se necessário. 8. Experimente com diferentes modos de limpeza e observe os efeitos no armazenamento de vetores. O método incremental é especialmente útil para rastrear alterações. # Vídeo 16: Método Incremental e Método Full Cleanup no Flow-wise Este vídeo mostrará os métodos `Incremental` e `Full Cleanup` no Flow-wise. ## Método Incremental O método `Incremental` registrará qualquer alteração que você fizer. Por exemplo, se atualizar o valor de `dog` para `dog-2`, o Update irá registrar esse teste, mas não apagará quaisquer registros anteriores. Isso significa que se houver um registro de `cat`, esse registro continuará no arstore, sendo apenas novos testes registrados. ``` O método Incremental registrará novamente qualquer alteração, como: 1. Atualizar o valor de `dog` para `dog-2` ``` ### Testes Antes de prosseguir, é preciso iniciar dois documentos: ``` Antes de prosseguir, criemos dois documentos: 1. Um contendo somente o texto "dog" 2. Outro contendo os seguintes textos: - "cat" - "dog" ``` Executando o primeiro Update, dois registros serão adicionados, o segundo terá o texto `dog-2`, e o Cat permanecerá no arstore, sendo apenas novos testes registrados. Executando quando novamente o Update, será visto que somente o primeiro registro foi excluído, e agora somente há um registro contendo o texto `dog-2` no arstore. ``` Em seguida, execute o primeiro Update: 1. Dois registros adicionados (com dog e dog-2) 2. Remoção do registro original (somente dog) ``` ## Método Full Cleanup Utilize o método `Full Cleanup` para excluir qualquer documento que não seja parte da execução atual. ``` Para deletar qualquer documento que não tenha sido atualizado, utilize o método Full Cleanup: ``` ### Testes Inicialize dois documentos como no exemplo `Incremental` acima: ``` Inicie dois documentos como no exemplo Incremental: 1. Um contendo somente o texto "dog" 2. Outro contendo os seguintes textos: - "cat" - "dog" ``` Execute o `Clear up vector store`: ``` Após isso, execute o `Clear up vector store`, que excluirá todos os registros. ``` Execute o último `Update`: ``` Depois disso, execute o `Update`. Crie um novo registro que contenha o texto "dog" e um novo que contenha o texto "cat", e adicione esses dois registros ao Flow-wise. Depois de executar o `Update`, é possível ver que os registros de `cat` e `dog` novamente estão no Flow-wise. Entretanto, há uma nova diferença. Como estamos usando o `Full Cleanup`, após a execução, o método irá deletar os arquivos no `Postgres Database` e no `vector store`. ``` ### Esclarecimentos * Esta documentação não alterará nenhum termo técnico * Todos os comandos e códigos serão exatamente como estão * URLs e referências serão mantidas intactas ### Referências * [Flower](https://flower-telegram-bot.com/) * [Flowwise](https://flow-wise.com/) # Splitter de Texto: Division do Dados em Pedaços Vamos entrar nos textos splitters. Adicionaremos o nodo de splitter de texto recursivo e então conectá-lo ao enviador de documentos. Vamos alterar o tamanho das linhas para 200 com um deslocamento de 20. Em seguida, vamos adicionar a função de embeeddings. Este tema tem sido um dos temas mais discutidos, pois a seleção da função de embeeddings certa é fundamental. Pode-se usar quase qualquer função de embeeddings ou modelo da sua escolha, sempre que seja utilizado o espaço de dimensões necessário. Realmente, pode até mesmo utilizar o modelo Open AI, se preferir; no entanto, no vídeo, optaremos pelo modelo do Anthropic's [Voyage AI](https://voyageai.com/) para a função de embeeddings. Comece por adicionar nodos, depois desciça até encontrar a secção de embeeddings. Dentro de embeeddings, escolha o nodo de embeedings do Anthropic's Voyage AI e conecte-o ao armazenamento de vetores. Agora, alguns podem se perguntar sobre as dimensões para armazenamentos persistente de vetores, como Pinecone. Vou mostrar isso um pouco depois, mas antes, vamos nos concentrar em fazer isso funcionar de forma simples. O nodo de embeedings do Anthropic's Voyage AI requer credenciais. Assim, clique no deslizante, crie uma nova credencial e dê-lhe um nome como "Agente da ferramenta do claude. " Em seguida, precisaremos de preencher a chave da API do Voyage. Pode obter essa chave entrando no [voyageai. com](https://voyageai.com/), criando nova chave da API, dando-lhe o nome "Agente da ferramenta do claude, " e clicando em "Criar chave da API. " Copie essa chave, em seguida, cole-a na interface do Flow wise e clique em "Adicionar. " Por fim, renomeie o nome do modelo de "voyage dois" para "voyage large dois. " Salve o flujo da conversão de chat e você está preparado para conversar com documentos usando o nosso agente. Simplesmente troque o enviador de documentos por qualquer outro tipo de arquivo e canale o dado para o seu armazenamento de vetores. Por exemplo, vamos absurdizar o dado agora clicando em "Absurd. " Isso deverá funcionar corretamente para dividir o dado e adicionar 29 registros ao armazenamento de vetores. Teste isso no chat questionando, "Quais os especiales atuais? " Após analisar nossa documentação de perguntas frequentes, esperamos se receber a resposta "50% de desconto em todas as carne a bifarra e horário feliz entre as 4: 00 - 6: 00 p. m. " Acontecendo um olhar para nossa história de conversas, realmente recebemos a resposta. Podemos observar também que a ferramenta de informação do restaurante e o recuperador foram chamados durante o processo. Agora, considere o uso de um armazenamento de vetores diferente como [Pinecone](https://www.pinecone.io/). Normalmente, o modelo de embeeddings determina as dimensões necessárias para a criação de um armazenamento de vetores. Por exemplo, quando cria um índice com OpenAI, as dimensões podem ser 1536. Com a função de embeeddings do Anthropic's que usamos aqui, as dimensões dependem do modelo selecionado. Nesta situação específica, a resposta é voltando para a [documentação do Anthropic](https://www.anthropic.com/pods/voyage/) que nos orientou a escolha da função de embeeddings. Depois de escrolar pela página, encontrará a secção chamada "Modelos disponíveis do Voyage". Aqui, pode-se encontrar o "modelo do voyage large 2" que usamos neste demo, e suas dimensões devem ser 1536, ou 1024 para modelos menores. Para utilizar esse valor na criação do seu índice, basta copiar o valor e colar de forma apropriada. Espero que este vídeo te ajude e aguo a ouvir quais modelos você gostaria de ver em vídeos futuros. Certifique-se de clicar no botão de gostar, inscrever-se no meu canal e ver este outro vídeo onde criamos um RAG chatbot com OpenAI: [Vídeo 17](https://www.youtube.com/watch?v=284Z8k7yJRE) (Idioma: en) --- # Criação de Equipes de Agentes com o Flowwise O Flowwise oferece uma solução para a criação de equipes de agentes sem escrever nenhum código, permitindo que você arraste e solte nodos em um quadro e autalize as funções e as responsabilidades de cada agente trabalhador. Neste vídeo, vamos aprender os princípios básicos de criação de equipes de agentes no Flowwise ao trabalhar em dois projetos excitantes: 1. Time de Desenvolvimento de Software 2. Time de Pesquisas de Liderança Se você for novo no Flowwise, veja este vídeo para configurar a plataforma em seu disco local. Também verifique se a versão de sua instância do Flowwise é atualizada, caso não haja a opção de fluxos de agente. Comece por criar a nossa primeira equipe de agentes. Clique em "Adicionar Novo" dentro da página de fluxos de agente e nomeie a sua equipe "Time de Desenvolvimento de Software" e salve-a. Comece por adicionar um supervisor no canvas. Pode se encontrar um supervisor sob "Add Nodes, " na seção de agentes multiplos. O agente supervisor é responsável por delegar tarefas e orquestrar o trabalho até que a tarefa seja completa. O nodo de supervisor recebe um modelo de lenguajes corporativos (LLM) como entrada e pode opcionalmente incluir a moderation da entrada. Deixaremos o nome como "Supervisor" e não alteraremos a frase de sistemas, pois ela serve para informar o supervisor que precisa gerenciar as conversas entre os membros da equipe. Agora, vamos adicionar um modelo de chat. Vá para "Add Nodes, " escolha "Modelos de chat" e adicione o "Modelo de chat doOpenAI". Conecte o modelo ao supervisor e escolha as credenciais desejadas. Se não tiver configurado as credenciais, basta clicar em "Nova credencial", dê um nome para a sua credencial e cole sua chave da API doOpenAI. Mude a temperatura para 0, 0 para nossos propósitos. Agora, vamos começar a adicionar membros para este time. Volte para "Add Nodes, " escolha "Agentes Multiplos" e adicione um nodo de "Trabalhador". Esse nodo pode receber uma lista de ferramentas como entrada e requer um nodo de supervisor como atribuição. Conectue o seu supervisor com o trabalhador e adicione um nodo de chat opcional se desejar. Para este demo, teremos um desenhador de produtos, um desenvolvedor de software e um escritor técnico. Vamos criar cada trabalhador, definir as funções, e adaptares a respectiva prompts como achar conveniente. Salve os valores de prompts e o trabalhador após a configuração. Depois de configurar os trabalhadores, teste a sua equipe salvando o flujo da conversão de chat e clicando no bolão para expandir e enviar uma solicitação ao seu time. Observe a sequência de eventos como o supervisor delega tarefas para o trabalhador apropriado. Para o segundo exemplo, vamos construir um time de pesquisas de liderança que utilize ferramentas para cumprir suas tarefas. Crie uma nova equipe e nomeie-a "Time de Liderança de Pesquisa". Continue a construir a equipe segundo os passos fornecidos e experimente o uso de ferramentas onde for necessário. # Documentação Técnica: Configuração do Trabalhador e Supervisor Este documento explica como configurar e as funções de trabalhadores e supervisores em um sistema específico. ## Funções dos Trabalhadores Neste sistema, podemos encontrar dois métodos principais de trabalho de trabalhadores: `Pesquisador Líder` e `Responsável de Vendas Líder`. ### Pesquisador Líder O `Pesquisador Líder` é responsável por: - Acessar o site e construir um relatório detalhado de um determinado lead. - Utilizar todos os ferramentas disponíveis para coletar informação sobre um lead pessoal trabalhando para uma empresa-alvo. - A informação obtida deve conter detalhes de experiência profissional, participação em projetos e empresas, etc. ### Responsável de Vendas Líder O `Responsável de Vendas Líder` é responsável por: - Gerar mensagens personalizadas baseadas nos resultados do `Pesquisador Líder`. - Tornar a mensagem adequada para um determinado lead. ## Problemas com a Configuração Atual Na configuração atual, o `Pesquisador Líder` enfrentou um problema, pois produz apenas o seu relatório baseado na informação que foi treinado, que é data daqui a um tempo e não atualizada. Para resolver este problema, adicionamos uma ferramenta ao `Pesquisador Líder` que permite que ele execute buscas na Google. ## Adição de ferramenta Para permitir que o `Pesquisador Líder` execute buscas na Google, adicionámos a `Ferramenta de Busca Personalizada Google` ao painel e a connectamos com o trabalhador. Múltiplas ferramentas podem ser adicionadas a um trabalhador, e o trabalhador escolherá qual ferramenta utilizar com base na tarefa em questão. ## Configuração da ferramenta 1. Para que a `Ferramenta de Busca Personalizada Google` funcione, precisamos fornecer algumas credenciais. - Clique no menu desplegável e escolha "Criar Nova". - Insira um nome para as credenciais, por exemplo, "Introdução à Ferramenta de Busca Personalizada Google no YouTube". - Forneça uma API chave de pesquisa personalizada Google e uma ID de motor de pesquisa programável. 2. Para obter a API Key e a ID de motor de pesquisa programável: - Acesse o Painel de Controle da Google. - Crie um novo projeto e dê-lhe um nome. - Ative a API de Pesquisa Personalizada. - Crie credenciais, e escolha API Key. - Copie a API Key. - Crie uma pesquisa utilizando as instruções mencionadas no vídeo. - Copie a ID da pesquisa. - Cole a API Key e a ID da pesquisa no respectivo campo na ferramenta. ## Testar a Configuração - Introduza `go` para executar a configuração e ver o `Pesquisador Líder` a utilizar a ferramenta de busca personalizada Google para realizar a pesquisa. ## Mantenha a Instalação Atualizada Atualize regularmente o seu sistema para manter as últimas funcionalidades e melhoramentos: 1. Atualize a Flow Wise seguindo os seguintes passos: - Abra uma janela de comando ou terminal e introduza o seguinte comando: `npm update -g flowwise` - Se tiver um ambiente local do Node, navegue para esse diretório e execute `npm update flowwise` - Se instalou a Flow Wise utilizando a opção de desenvolvedor, navegue para o diretório da Flow Wise, abra a terminal e atualize as últimas atualizações da Repositório da Flow Wise inserindo: `git pull origin main` seguido por `pnpm install` seguido de `pnpm bold` ## Conclusão Aplicando os passos descritos neste documento, configurará os trabalhadores e supervisores no seu sistema, permitindo-lhes funcionar adequadamente pelas suas funções. Adicionalmente, este documento fornece informação sobre como atualizar o seu sistema para que ele almeje as últimas funcionalidades do time da Flow Wise. Futuros vídeos explorarão outros casos de uso e tutoriais para Flow Wise. [Tutorial de Flow Wise (Inglês)](https://www.youtube.com/watch?v=46DDuc9MNJk) # Implementação de Flow Wise na nuvem Este guia você conduzirá pelo processo de implantação de Flow Wise na nuvem. Após isso, terá a versão mais recente de Flow Wise em execução na nuvem. Esperamos que este video ajudou. Se você quiser saber como implantar o Flow Wise, consulte este outro vídeo: [Vídeo 19](https://www.youtube.com/watch?v=pkqoan_sJzA) (Idioma: en) ## Engenharia de Sintaxe Simples A Flow Wise facilita a criação de equipes multiantigens AI que possam executar suas tarefas. No entanto, a criação de prompts de trabalhador pode ser desafiadora para quem não é engenheiro de sintaxe. Por sorte, o Flow Wise está ao seu dispor. ### Vídeo 19: Engenharia de Sintaxe para Flow Wise Neste vídeo, mostraremos-lhe como criar ferramentas personalizadas e armazenamentos de vetores para suas equipes multiantigens no Flow Wise. Se for novo em Flow Flows, ele permitirá criar equipes de AI com diferentes agentes trabalhando juntos para alcançar um objetivo. É semelhante a frameworks como Crew AI e Autogen, mas sem a necessidade de escrever nenhum código. Vamos ter um olhar nosso no que nós teremos sendo construído neste vídeo. Temos uma equipe de pesquisa que fará o seguinte. O _Supervisor_ fará a coordenação dos trabalhos entre os diferentes trabalhadores. Em seguida, temos um _Especialista de Pesquisa_ que pegará a pergunta do usuário e em seguida usará uma ferramenta de visualização para realizar alguma pesquisa em um arquivo PDF. Os resultados do Especialista de Pesquisa serão então enviados a um trabalhador de _Redação de Email_, que então escreverá um email, e um rascunho de email será então passado para um agente _Enviar Email_, que em seguida utilizará uma ferramenta personalizada, a qual criaremos neste vídeo, que permitirá ao agente enviar um email. Vamos avançar e testar isso abrindo o chat. Vamos expandir este, e vamos pedir algo como, "O que foi o faturamento da Tesla em 2023 e comocompara com o ano anterior? " Vamos enviar isso. Agora, vamos ter um olhar em o que aconteceu. Primeiro, o supervisor enviou esta mensagem para o Especialista de Pesquisa, e podemos ver que o Especialista de Pesquisa, de fato, utilizou nossa base de conhecimento de vetores para baixar alguma informação, e então gerou este relatório. Os resultados da pesquisa do Especialista de Pesquisa foram então enviados para o Redator de Email, que escreveu este código HTML todo apenas para estilizar o email. E, por fim, o rascunho foi enviado para o Enviar Email, e o Enviar Email utilizou esta ferramenta personalizada de envio de email para enviar o email real. Se iremos para este endereço de email, veremos que email neste caixa de entrada, e este agora contém todos os resultados de pesquisa com a correta estilização. ### Vídeo 20: Adição de Ferramentas Personalizadas e Base de Conhecimento de Vetores à Flow Wise Neste vídeo, mostraremos-lhe como adicionar ferramentas personalizadas e armazenamentos de vetores à suas equipes multiantigens no Flow Wise. #### Passo a passo 1. Crie um novo flow de agente clicando no menu de flows de agente, e então clique em "add new". 2. Clique em "salvar" para dar seu time um nome, e vamos chamá-lo de "meu time de pesquisa". 3. Adicione um supervisor e trabalhadores ao campo de visualização. 4. Sob adicionar nós, vá para a seção de agente multiantigens, e adicione um nó do Supervisor ao campo de visualização. 5. Adicione um ou mais nós de trabalhadores trabalhadores. Eu prefiro colocá-los abaixo do nó do Supervisor, pois que hierarquia apenas parece fazer sentido em minha mente. 6. Duplique o nó de trabalhador três vezes e tenha o nó do Supervisor ligado a cada um destes trabalhadores colocando o saída do nó do Supervisor ligado ao nó de entrada do Supervisor de cada um desses trabalhadores, de forma semelhante a imagem abaixo. 7. Dê um nome a cada um de nossos trabalhadores. 8. Atribua um modelo AI ao nó do Supervisor. 9. Designe as funções e responsabilidades para cada um destes trabalhadores. Você pode utilizar a temática do engenharia de sintaxe oferecida pelo Flow Wise para gerar estes prompt de trabalhador automaticamente. 10. Adicione ferramentas personalizadas e teclas de conhecimento no armazenamento de vetores a suas equipes multiantigens. Para este, precisaremos de duas ferramentas. O especialista de pesquisa precisará de acesso a uma ferramenta chamada "leia PDF". Teremos que utilizar esta ferramenta para pegar informação de nossa base de conhecimento personalizada. A segunda ferramenta será uma ferramenta personalizada, a ser utilizada pelo _Enviar Email_ para enviar nossos emails. 11. Adicione nosso armazenamento de vetores e ferramenta de recuperação de conhecimento para o campo de visualização. 12. Adicione nossa ferramenta personalizada para envio de emal. 13. Preencha o armazenamento de vetores com os dados necessários. 14. Teste a ferramenta para ver se a pesquisa do especialista de pesquisa pode pegar informação da base de dados de conhecimento. # Automatização de Tarefas Diárias usando Equipes de Agente Inteligente Este tutorial mostra como automatizar tarefas repetitivas usando equipes de agentes inteligentes, inspirado em um vídeo de Code with Brandon. Em vez de escrever código extensivo, vamos usar a plataforma sem código Flow-wise para alcançar resultados semelhantes. Se estiver novo em Flow-wise, pode ver nossos vídeos de introdução para saber mais sobre como utilizar esta plataforma. Este vídeo se concentra na criação de uma equipe de agente inteligente que irá pesquisar, criar descrições de vídeo e promover o vídeo para uma determinada lista de palavras-chave. ## Melhorando os Fluxos de Conversação Quando trabalhar com esses fluxos, talvez observe que a conversação possa acabar prematuramente. Nesta situação, o especialista em pesquisa foi realmente chamado, mas o supervisor depois decidiu terminar o fluxo. Isso pode levar a problemas se o criador de conteúdo de email ou o remetente foi chegado, como deveria ter sido. Para melhorar este comportamento, possível atitude é: 1. **Mudando os Prompt Individual de Trabalhadores: ** Assegure-se de que os prompt individual do trabalhador têm instruções para transmitir informações para o próximo trabalhador. 2. **Modificando o Prompt do Sistema no Supervisor: ** Mude o prompt do sistema no supervisor para instruí-lo a transmitir informações entre diferentes nós. 3. **Comunicação entre Nós: ** Você pode instruir o supervisor a passar informações de trás para frente até que um determinado limite ou condição seja atingido. ## Criando uma Ferramenta Personalizada para Enviar Emails Para enviar emails usando nosso agente, primeiro precisamos criar uma ferramenta personalizada para enviar emails. Para isso, siga estes passos: 1. **Adicionar uma Ferramenta Personalizada: ** Primeiro, adicione uma ferramenta personalizada ao seu painel clicando em "Adicionar Nódulos, " depois em "Ferramentas" e finalmente em "Ferramenta Nó Personalizado" ao painel. 2. **Criar uma Nova Ferramenta: ** Clique no dropdown e escolha "Criar Novo. " Chame sua ferramenta algo como `send_email` e defina uma descrição como "Use esta ferramenta para enviar emails. " 3. **Esquema de Entrada: ** Clique em "Adicionar Item" e defina o nome da propriedade para `mensagem` (corpo do email), estabeleça o tipo como `string` e marque como `Obrigatório`. Você também pode adicionar o endereço de email ou assunto, mas para este exemplo, mantemos-o simple. 4. **Implementação: ** Copie o trecho de código fornecido no vídeo e coloque-o no bloco Code. Substitua a URL (string vazia atualmente) com uma URL Make. com mais adiante. Este código transmite a mensagem de email para um ponto de extremidade API; vamos substituir a URL por uma URL Make. com nas etapas seguintes. ## Criando a Lógica de Enviar Emails no Make. com 1. **Criar um Novo Cenário: ** Faça o login em Make. com e crie um novo cenário com um nome como "Ferramenta de Enviar Email. " 2. **Webhook Personalizado: ** Adicione um novo aplicativo e busque "Webhooks. " Dentro dos webhooks, adicione o "Webhook Personalizado. " Gere um URL de ponto de extremidade, que vamos chamar da Flow-wise mais tarde. 3. **Chamando o Ponto de Extremidade: ** Cole o URL gerado entre aspas simples no Flow-wise embaixo de seu nó de ferramenta personalizada. 4. **Enviando o Email: ** Substitua a URL no código de trecho de Make. com fornecido pela URL que você gerou anteriormente. A atualização do código irá enviar o rascunho de email. ## Conclusão Por fim deste tutorial, você deveria ter um melhor entendimento de como usar equipes de agentes inteligentes para automatizar suas tarefas. Para mais conteúdo sobre fluxos de agente e wise flow, não esqueça de gostar do vídeo, inscrever-se em nosso canal e ficar de olho para nossa próxima publicação! **Recursos Adicionais** - [Video 21 (Inglês)](https://www.youtube.com/watch?v=eAH7LDGMVEs) (Tutorial em Inspiração) - [Vídeos de Introdução Flowwise](link_to_Flowwise_getting_started_videos) - [Google Cloud Platform (requer para conexão do API de email)](link_to_Google_Cloud_Platform) - [Acessando Seu ID e Segredo do Cliente](link_to_accessing_client_id_and_secret) # Documentação: Equipe de Agente Inteligente para Produção de Vídeos ## Visão geral Este documento descreve a estrutura e o workflow de uma Equipe de Agente Inteligente dedicada à criação de vídeos. A equipe é composta por cinco trabalhadores com funções distintas, supervisionados por um supervisor. ### Estrutura da Equipe 1. **Supervisor**: Delega tarefas aos trabalhadores da equipe. 2. **Especialista em Pesquisas**: Responsável por pesquisar vídeos no YouTube, extraísendo informações sobre os vídeos e gerenciando dados adicionais. 3. **Criador de Títulos**: Gera 10 ideias de títulos com alta taxa de clique para ideias de vídeo. 4. **Criador de Descrições**: Cria descrições de vídeo baseadas nos resultados fornecidos pelo Especialista em Pesquisas. 5. **Criador de Expo/Post do Twitter**: Gera uma exposição para publicitar o vídeo ou um post do Twitter. 6. **Redator de Relatórios**: Compila todos os resultados dos trabalhadores anteriores, criando um relatório e escrevendo resultados para um ficheiro do seu computador de escritório. ## Workflow 1. O supervisor atribui tarefas aos trabalhadores da equipe. 2. O Especialista em Pesquisas procura vídeos no YouTube relacionados com chaves de busca específicas, extraindo informações necessárias como a contagem de inscritos, a contagem de vistas e detalhes do vídeo. 3. O Criador de Títulos gera 10 ideias de título únicas para o vídeo. 4. O Criador de Descrições cria uma descrição para o vídeo usando as informações do Especialista em Pesquisas. 5. O Criador de Expo/Post do Twitter gera uma exposição ou um post do Twitter publicitando o vídeo. 6. O Redator de Relatórios cria um relatório consolidando todos os resultados dos trabalhadores anteriores e escreve resultados para um ficheiro no PC. ### Configuração da Equipe de Agente Inteligente Para criar uma Equipe de Agente Inteligente, siga estes passos: 1. No painel Flow-wise, navegue para Flows de Agentes. 2. Adicione um novo fluxo e exiba-o com um nome (por exemplo, Tutorial de Pesquisa de YouTube). 3. Adicione o nó do Supervisor utilizando a função Adicionar Supervisor de Agentes Multíplos. 4. Configurar o sistema de prompts do Supervisor, escolha um modelo de chat (por exemplo, Chat OpenAI), e defina as suas credencias. 5. Crie um nó de trabalhador para cada membro da equipe, atribuindo-os ao Supervisor. 6. Atribua ferramentas e prompts a cada trabalhador para um determinado papel. 7. Adicione ferramentas personalizadas, se necessário, para realizar tarefas específicas. ### Ferramentas Personalizadas Para criar ferramentas personalizadas para seus trabalhadores, siga estes passos: 1. Navegue até "Adicionar Nós" e selecione o menu de Ferramentas Personalizadas. 2. Crie uma nova ferramenta selecionando "Criar Novo" no fundo da lista. 3. Forneça um nome, descrição e propriedades para a ferramenta. 4. Escreva o código de JavaScript necessário para integrar com plataformas externas ou realizar tarefas específicas. Lembre-se de preservar URLs inteiras e mantenha termos técnicos, comandos e códigos iguais. Mantenha cabeçalhos claros, use gramática correta e corrija pontuação quando necessário. # Ferramenta de Detalhes do Canal do YouTube Esta seção descreve como criar uma ferramenta para obter detalhes de um canal do YouTube específico, como o número de inscritos. ## Chamada da API do Google Este bloco chama uma API do Google que obteve os detalhes de um vídeo com base no ID de vídeo fornecido. Faça o uso do mesmo valor para o nome da propriedade conforme feito aqui. A chave da API será substituída depois pela chave real. Não são necessários outras modificações, então vamos prosseguir clicando em `Add`. ## Criação da Ferramenta Final Agora, vamos criar nossa ferramenta final, responsável por obter os detalhes do canal. 1. Inicie clicando em `Adicionar Nós`. 2. Adicione uma ferramenta personalizada clicando no deslizador. 3. Crie uma nova ferramenta e nomeie-a "Detalhes do Canal do YouTube". 4. Para a descrição, diga algo como "Use esta ferramenta para recuperar detalhes de um canal do YouTube específico, como o número de inscritos. " 5. Adicione uma nova propriedade e nomeie-a "ID do Canal", pois estaremos recebendo um ID de canal neste caso. 6. Defina o tipo como `string`, e a descrição como "A ID do canal. " 7. Marque a caixa "obrigatória". 8. Copie o código dado e cole-o na caixa da ferramenta. Esta nova ferramenta agora chamará outra API do Google para obter detalhes do canal para a ID de canal fornecida. A chave da API será alterada posteriormente. ## Atribuição de Ferramentas ao Especialista de Pesquisa Agora, vamos atribuir estas ferramentas ao especialista de pesquisa atribuindo-lhes ao respectivo campo de entrada, como mostrado no exemplo a seguir. ## Gerenciando Chaves de API Desde que colocamos as chaves de API nestas ferramentas, vamos criar um lugar central para armazená-las e reutilizá-las nas ferramentas para uma gestão mais fácil. 1. Clique no menu `Variáveis`. 2. Clique em `Adicionar Variável`. 3. Dê-lhe um nome como `Chave da API do YouTube`. 4. Defina o tipo como `estático`, e cole a sua chave aqui. 5. Clique em `Adicionar`. Agora podemos utilizar esta chave em nossas ferramentas. Vamos substituir a chave de API codificada em cada ferramenta pela chave de referência global em cada ferramenta. Assim, podemos atualizar a chave em uma localização central, e todas as ferramentas que a utilizam serão automaticamente atualizadas. ## Utilização da Variável Global Para utilizar a variável global, diga um sinal de dollars, seguido de um par de chaves inclusivas e exclusivas, `${{YouTube API key}}`, nas caixas relevantes nas ferramentas. ## Teste do Fluxo Agora que atualizamos as ferramentas, podemos testar nosso fluxo. Vamos abrir nossa conversa e executar o fluxo atualizado, incluindo as ferramentas personalizadas. ## Endereçando Comportamento Inesperado Se o comportamento inesperado ocorrer onde o especialista de pesquisa não execute, vamos fazer algumas modificações no prompter do supervisor para garantir o comportamento desejado: 1. Inicie com o especialista de pesquisa a passar-lhe as palavras-chave do vídeo. 2. Transmita o resultado da pesquisa (incluindo as palavras-chave do vídeo) junto com os detalhes do vídeo para que o resto dos membros do time terminem o seu trabalho. 3. Quando tivermos os resultados do criador de título, do criador de descrição, e do criador de publicação na Twitter, passe seu resultado ao escritor de relatório. ## Adição do Trabalhador de Escritor de Relatório Finalmente, vamos criar um novo trabalhador para escrever um relatório no sistema de arquivos, como mostrado no exemplo a seguir. Fique de olho! Agora deveria ser possível testar o seu fluxo, incluindo as ferramentas personalizadas. # Documentação Técnica para aplicação AI de Grok Vision utilizando Flow-wise ## Visão Geral Este documento descreve os passos para criar uma aplicação AI usando o Flow-wise que fornece informação sobre um restaurante, utilizando um documento Word como fonte de dados principal. ### Pré-Requisitos - Flow-wise (versão 2. 0 ou superior), instalado e atualizado - Node. js instalado na sua máquina ### Etapas #### 1. Configuração do Armazenamento de Vetores 1. Adicione um novo `Nó` 2. Navegue até `Armazenamentos de Vetores` e adicione um `Nó de Armazenamento de Vetores em Memória` 3. Anexe o armazenamento de vetores ao `Ferramenta de Retrieval` 4. Carregue os dados do documento Word conforme descrito na seção **Carregamento de Dados** abaixo #### 2. Carregamento de Dados 1. Adicione um novo `Nó` 2. Navegue até `Carregadores de Documentos` e adicione um `Nó de Ficheiro . docx` 3. Ligue este nó ao `Armazenamento de Vetores` 4. Carregue o documento Word da sua máquina 5. Adicione um `Splitter de Texto` ao `Nó de Ficheiro . docx` (por exemplo, `Splitter de Texto Recursivo`) - Mude o tamanho do pedaço para 250 com um sobra de 20 #### 3. Função de Embeddings Devido a Grok não oferecer um modelo de embeddings, utilizaremos o `Nó de Embeddings Voyage AI`. Ligue este nó ao `Armazenamento de Vetores` também. Nota: Você precisará configurar credenciais para a Voyage AI como descrito na documentação oficial. #### 4. Execução do Fluxo 1. Guarde o fluxo criado 2. Carregue os dados do documento Word no armazenamento de vetores clicando no botão verde 3. Agora é possível usar a ferramenta para recuperar informações sobre o documento, por exemplo, perguntando questões no chat ## Dicas Adicionais - Quando perguntar questões, a ferramenta deve fornecer as horas de funcionamento e as atualmente promoções do restaurante - Se você gostou deste tutorial, por favor curtam o vídeo e inscreva-se no canal - Para mais informação sobre o Flow-wise, consulte o vídeo de treinamento de múlti-agente de Flow-wise disponível na seção abaixo (em Inglês) ### Vídeo 23: [Flowise 2. 0 Fluxos Agência Sequencial](https://www.youtube.com/watch?v=6LbvgTbS0BE) (Idioma: en) Siga este tutorial para aprender mais sobre o Flowwise, uma plataforma de código baixo que permite a construção de aplicações de inteligência artificial avançadas com uma interface de arrastar e soltar simples: 1. Instale e atualize o Flowwise 2. configure o Flowwise na sua máquina local 3. Construa fluxos múlti-agentes com agentes sequenciais 4. Explora os diversos nós e conceitos relacionados a agentes sequenciais 5. Crie aplicações múlti-agentes avançadas com controle avançado sobre o fluxo da sua aplicação Boa construção! Follow esta tutoriais para saber mais sobre Flowwise, uma plataforma de código baixo que permite a construção de aplicações de inteligência artificial avançadas com uma interface de arrastar e soltar simples: 1. Instalar e atualizar Flowwise 2. configurar Flowwise em sua máquina local 3. Construir fluxos múlti-agentes com agentes sequenciais 4. Explorar diversos nós e conceitos relacionados a agentes sequenciais 5. Criar aplicações múlti-agentes avançados com controle avançado sobre o fluxo de sua aplicação Boa construção! A seguir está o texto traduzido para português europeu, mantendo a formatação Markdown: ```markdown **Teste e Identificação do Nome** Repita o teste novamente, e pergunte o que é o meu nome. Como você pode ver, está a recuperar o nome do estado. Ótimo! Agora vamos ter um olhar no nó de condição. **Nó de Condição** Poderemos usar o nó de condição para chamar os agentes de forma condicional. Suponha que a primeira vez que você executar este fluxo o nome do utilizador no estado propriedade realmente estará vazio. Se o valor estiver vazio, queremos chamar um agente que será responsável por coletar o nome do utilizador e em seguida armazenar o utilizador nome na propriedade do estado. Assim que fazemos isso o segundo vez que executar o fluxo e depois se o nome estiver preenchido, este assistente aqui será ativado. Então vamos configurar isto. **Configurando o Agente de Coleta de Nome** Primeiro estou apenas a criar espaço movendo este agente. Vamos quebrar esta conexão e vamos adicionar um segundo agente que será responsável pela coleta da informação do utilizador. Vamos adicionar este agente, vamos dá-lhe um nome como o *Agente de Coleta de Nome*, e na caixa deCC prompts introduzimos algo como você está responsável por coletar o nome do utilizador. Vamos também fornecer as etapas que o agente pode seguir, como: * Se o utilizador não forneceu o seu nome, então pede-lhe polidamente o seu nome. * Se o utilizador forneceu o seu nome, já então lhe perguntamos como posso lhe ajudar. Vamos salvar este agente e vamos anexar a nossa nossa nossa nossa nossa nossa nossa nossa nossa nossa a nós nós nós nós nós nós nós nós nós nós nós nós nós nós sobre este nó. Agora temos dois agentes aos quais queremos chamar de forma condicional baseado no nome do utilizador estar estabelecido no estado. **Adicionando o Nó de Condição** Vamos ir para adicionar nós e com agentes sequenciais, vamos adicionar o nó de condição. Vamos ligar este nó de início a este nó de condição, e agora vamos olhar as características deste nó dei condição. Primeiro vamos dar um nome deste nó de condição, algo como *Verificar se o Utilizador Têm um Nome*. Depois vamos clicar nesta seta de condição. Aqui podemos configurar as diferentes condições para este nó. Podemos ou utilizar esta tabela de condiçõesou administrar esta lógica de forma programática de código. Vamos seguir com a tabela de condições. * Vamos adicionar um novo item, e para a variável podemos acessar a propriedade de nome no estado. Assim, podemos dizer que se o nome está vazio, queremos apenas continuar para o nó de agente. Você pode chamar este saída de qualquer coisa. Vou apenas chamar isso de *continuar*, mas se salvar este, Print restará sim misericórdia pausa apresentado aqui. * Caso nenhum dos condições desta lista não seja satisfeita, esta *Saída Final* será executada. Também podemos ter saídas adicionais, por exemplo, vamos supor que tivéssemos uma saída específica para um nome de Leon. Poderíamos adicionar uma saída Leon ainda, e se salvar este, estará aqui conectado. * Porém se o nome estiver vazio, esta Saída Final será acionada, a qual podemos conectar a este Agente de Coleta de Nome. **Utilizando o Nó LLM** Embora tenhamos fornecido o nosso nome, este nome não foi armazenado no estado global. Para recolher este nome do utilizador e em seguida armazenar no estado, vamos utilizar outro nó chamado o Nó LLM. Poderemos utilizar o Nó LLM para processar dados estruturados, como o fluxo de mensagens do utilizador para extrair informações do fluxo e depois exibir a informação em um formato estruturado. Vou dar um exemplo de porquê querias processar dados sem estrutura. Neste exemplo, apenas extrai o meu nome, então acho que é suficiente simples de extrair o valor que o utilizador forneceu e instalar este valor no estado; porém, o que acontece se o utilizador entrar com algo como "meu nome é Leon"? Isso significa que o agente armazenaria este todo este texto como o nome no estado, o que não é correto. O que queremos é utilizar a inteligência de um LLM para identificar um nome de humano no texto e azambujar apenas este nome após o que a armazenar no estado. Agora, vamos implementar realmente isto. Vamos ir para adicionar nós e com agentes sequenciais, vamos adicionar o Nó LLM. Antes de ligar este nó a qualquer órgão, vamos primeiramente olhar este nó isolado. Este nó é acionado pelo nó de início, um outro agente, um nó LLM, ou um nó ferramenta, logo irá receber a saída de um dos nós nosso outros e pode processar esta informação de forma que desejaremos. * Vamos correrá primeiro por dar este nó um nome, como *Coletor de Nome*. Em parametros adicionados podemos fornecer instruções claras sobre os dados que esta nó precisa extrair. Por exemplo "Seu trabalho é identificar e extrair um nome humano no fluxo de mensagens do utilizador, reponda com o nome somente. " Entre os prompts humanos deixaremos esse campo em branco, e o que podemos fazer é adicionar uma variável para a mensagem de utilizador, e novamente, podemos criar variáveis usando chaves abrindo e fechando {}. Vamos chamar esta *pergunta* ou qualquer outro nome, em seguida, entramos com `parametros de entrada`, podemos simplesmente delimitar esta entrada de caixa de chat, como assim. Isto irá agora receber algo como "Meu nome é Leon", e com esta entrada, o modelo irá tentar extrair o nome. * Um dos beneficios do LLM nodes é que podemos devolver a informação de volta numa estrutura fixa. Neste exemplo, queremos devolver o nome, então adicionaremos um item, vamos lá chamar este *nome*, de tipo *string* e podemos acrescentar uma descrição como *o nome do utilizador*. Assim, como este Nó LLM teria extraído o nome do utilizador já no fluxo de mensagens, este irá atribuir o nome a esta pair chave e valores. * Também podemos utilizar este nó para atualizar o estado, e isso é precisamente o que é que queremos fazer. Clicamos em "Adicionar um item" na parte do estado, e queremos reatribuir a propriedade nome, e para o valor queremos utilizar este saída *nome* aqui, então da lista destes valores, selecionaremos `flow. dot. output`, e substituiremos esta pair chave e valor por *nome*. Esta é a chave e valor desta estrutura de dados do JSON. Tem aqui mais texto a adicionar, mas vou deixá-lo para ti: * Implementando Humano em Loop * Uso adotivo avançado do Nó de Condição * Uso adotivo avançado do Nó de Bucle Se encontrar este guia útil, por favor, forneça suporte para o seu canal clicando o botão de *gostar* e subscrevendo-se a meu canal para mais conteúdo em questão de fluxo. ``` # Comando para Determinar Rotas Neste exemplo, vamos ensinar ao modelo como determinar diferentes rotas. Aqui, estamos simplesmente dizendo que se a consulta do usuário for relacionada ao tempo de checkout, senha de wi-fi ou informações sobre o hotel, responda com “recepção”. Se a consulta for relacionada ao serviço de quarto, cardápio alimentar ou restaurante, responda com “restaurante”. Todavia, somente responda com a palavra específica no formato de Saída JSON. ```markdown { "output": { "route": "recepção" } } { "output": { "route": "restaurante" } } ``` Vamos adicionar um novo item e chamá-lo de “rota”. Este é do tipo enum e enum é apenas uma lista de valores disponíveis que o modelo vai esperar, que seriam os três valores nesta lista, portanto, “recepção”, “manutenção” e “restaurante”. ## Adicionar Rota Vamos adicionar “recepção”, seguido por “manutenção”, seguido por “restaurante”. Para a descrição, digo alguma coisa como “o caminho do usuário”. Feche esta caixa de diálogo e clique em “Condition”. Pode adicionar essas diferentes condições adicionando um item. Podemos referenciar “flow. output. route” e repetir o processo para as outras rotas também. E com o tempo correrá, veremos essas diferentes condições aqui. Porém, na hora de gravação, parece haver um bug em pequeno que significa que o nó final sempre será executado, independentemente de se o llm identificou corretamente a rota ou não. Como provavelmente você verá este vídeo já depois que seja corrigido este bug, também vou usar esta oportunidade para mostrar como utilizar a solução de condição. Por favor, não se incomode se não estiver familiarizado com código, pois isso é muito simples. Clique em “Ver exemplo” e isso vai trazer um pedaço de código para a primeira linha. Mude este de “content” para o valor que chamamos nele, que é “route” agora. Podemos dizer que se o resultado incluir alguma coisa como “recepção”, então precisamos triggerar a condição chamada “recepção”. Vamos repetir isso para as outras condições também, substituíndo “recepção” por “manutenção”, pois queremos ter uma condição disponível chamada “manutenção” no mesmo tempo. Crie novamente este pedaço de código e chame esse novo item de “manutenção”. Faça o mesmo para "restaurante" e crie uma condição chamada “restaurante” também. ## Condições Salve esta configuração e agora podemos ver essas diferentes condições se passando por aqui. Ponhamos as condições conectadas aos nós de nossos agentes, então vamos atachar a “condição de manutenção” ao nó de manutenção, e vamos fazer o mesmo com a “condição de recepção” e “condição do restaurante” também. Se o llm não conseguiu determinar nenhuma dessas rotas, então um simples terminar a execução de fluxo, por exemplo: ```markdown { "output": { "route": null } } ``` Com Sequência de Agentes, podemos adicionar o nó de terminação e ligar o termino de condição a este nó, como a imagem a seguir: Magnífico! Agora testemos o fluxo, salve-o e diga qualquer coisa como “Qual é a senha de wi-fi”. Por acaso tenho o memório de sempre esquecer fazer isso. Adicione o termino, conecte seu agente ao termino e gaste um tempo em pegar alguns termos de termos e conectaremos esses agentes ao termino da aplicação como mostro no final do vídeo: ! [imagem](Adicionar condição no fluxo) Mesmo assim, tenha certeza de que os agentes, nos quais você precisa realizar a conexão, tenham um termino na tela inicial. ## Escolha do Tópico Final Escolha do tema final de hoje: Agentes sequenciais podem parecer extremamente intimorizantes para muitas pessoas, mas você seguiu a frente e espero que este video tenha lhe dado a conﬁdencia para começar a jogar com e usar agentes sequenciais. Por fim, transmita-nos sua comoção se não famoso. === Flowise 24: [video em](https://www.youtube.com/watch?v=3ZmBq8_4vCs) === O Flowise oferece duas soluções extremamente poderosas para a criação de fluxos de trabalho de agentes. Multi-agentes e sequenciais. Decidir a qual deles se deve ir pode ser muito confuso. Assim, neste vídeo iremos comparar essas duas funcionalidades diferentes, construindo o mesmo projeto em ambas. Começaremos por apresentar o exemplo de multi-agente. Aqui, temos este nó “gerente” que é responsável por delegar as tarefas entre os diferentes nós de trabalho. Por exemplo, um desenvolvedor de software e um revisor de código. Observando isso em relação a sequential agent example, é claro que esse fluxo fica muito mais complexo, mas isso lhe dá muito mais controle sobre o comportamento de sua aplicação. Iniziaamo ora dalla contenizione di un team di agenti multi-agenti nel flusso di lavoro Flowise per la creazione di un app per la gestione degli ordini fino a when finished. Creiamo un flusso chiamato "Creazione di un team di developers multi-agenti" e lo salviamo. Per creare un team di 2 Sviluppatori (fronted e backend), one worker node, inizialmente nel team, viene creato. Il team verrà successivamente espandito intervenendo manualmente. Come iniziamo, creiamo un team come prodotto e dando il requisito del team desiderato. Adesso, entriamo nella sezione Agenti e avviiamo a costruzione del team. Ora, brucimolte opportunità ci sono per creare un agente utente che riesce ad essere una "voce" dell'utente. Ecco i passi per iniziare a creare un tale agente. Per iniziare, compiliamo il team del prodotto, compaginiamo gli agenti utilizzando il metodo "Supervisor", abbiamo 2 Worker Developer: l'unico che creiamo per impostazione predefinita e l'altro che cloneiamo trabalhando sulla macchina. Al lavoro sul team del team utiliziamo l'aiuto di [Flowise](https://flowise.io/) che verrà consultato ogni volta che i due agenti Node devono "comunicare" tra di loro. ``` Supervisor -> Developer Frontend Supervisor -> Developer Backend ``` Essendo un team multi-agente, è necessario che uno di essi sia definito come il Supervisor. Per impostazione predefinita il primo agente che creiamo viene considerato quale il Supervisor del team. Dbiamo aggiungere almeno un utente che verrà in grado di comunicare con il team. Eppure, dovremmo comunicare qual è il team dal quale dobbiamo prendere il riscontrato. Dobbiamo prenderlo dalla variabile “team” nel Supervisor! Così, possiamo interrogare qual è il lavoro ad essere eseguito dal nostro team e scoprire che si vogliono aggiungere degli interi sviluppatori in più al nucleo. Per fare questo, dobbiamo ligare al Supervisor un'altra variable chiamata "count" ovvero il mapping delle interi developer possibili. Successivamente, nella calendario possiamo assicurarci che solo il supervisor/manager può aggiungere interi membri al team. Per farlo, possiamo verificare se l'utente che sta lavorando con il team è lo stesso Supervisor e il modo più semplice è di verificare che la variabile “Supervisor” sia uguale alla variabile $“. Successivamente, competono ai single worker di molti compiti, dal quale dovremo assegnare la propria "indirizzo macchina". A questo scopo dobbiamo compilare un Worker Computer con l'aiuto di una API che ci consente di reperire l'indirizzo macchina necessario. Dopo questo, possiamo riprodurre la missione del team sia in maniera sequenziale o parallela. È ovvio che in appunti più complessi ne faremo uso di entrambi, i due, ma per mostrare il meglio e, soprattutto, parlare delle vostre preferenze personali, ecco un codice un po' più complesso. Come elencate le missioni e gli utenti costituenti il team, potremo infine definire lenze temporali che definiscono durata e ripetizione delle attività da fare e quando. Una volta tutto ci era fatto, possiamo interpellare il team del team come se stessimo facendo da Client. Il team del team si occuperà di rispondere imponendo le task defining i lienzi, la loro conclusione e quando. Grazie! ! ! === Flowise 24: [video en](https://www.youtube.com/watch?v=3ZmBq8_4vCs) === The Flowise offers two extremely powerful solutions for creating agent workflows. Multi-agents and sequential agents. Deciding which one to use can be very confusing. In this video, we will compare these two different functionalities by building the same project in both. We'll start by presenting the multi-agent example. Here, we have the "manager" node responsible for delegating tasks to the different work nodes. For example, a software developer and a code reviewer. Observing this in relation to the sequential agent example, it is clear that this flow becomes much more complex, but it gives you much more control over the behavior of your application. First, let's illustrate the creation of a multi-agent team using Flowise to create a workflow for creating an order management app up to completion. We'll start by creating an order management app workflow called "Creating a multi-agent order management team" and save it. To create a team of 2 Developers (Frontend and Backend), initially in the team, one worker node is created. The team will be expanded later by manual intervention. First, we create a team as a product and combine the agents using the method "Supervisor", we have 2 Worker Developer: the one that is created by default and the other that is cloned from the machine. We use the help of Flowise, which will be consulted every time the two agent nodes need to communicate with each other. ``` Supervisor -> Developer Frontend Supervisor -> Developer Backend ``` Since it's a multi-agent team, it is necessary that one of them is defined as the Supervisor. By default, the first agent we create becomes the Supervisor of the team. We need to add at least one user who will be able to communicate with the team. However, we must communicate which team we need to fetch data from. We take it from the "team" variable in the Supervisor! So, we can ask what work is to be done by our team and find out that we want to add more developers to the core. To do this, we need to connect the Supervisor to another variable called "count" or the mapping of the possible developers. Next, in the calendar, we can ensure that only the Supervisor can add members to the team. The best simple way is to check if the user who is working with the team is the same Supervisor and the easiest way to do this is to check if the variable “Supervisor” is equal to “$“. Later, it is the responsibility of the single workers to perform many tasks, we will assign the MAC address to them. To do this, we need to compile a Worker Computer with the help of an API that allows us to find the MAC address needed. After this, we can repeat the mission of the team either sequentially or parallelly. It is obvious that in more complex scenarios we will use both, but to show the best and especially to talk about your personal preferences, here is a little more complex code. As we list the missions and the team members, we can finally define temporal lengths that define the duration and repetition of the activities to be performed and when. Once everything is done, we can query the team as if we were talking to a Client. The team will take care of responding by defining the task defining deadlines, completion, and when. Thank you! ! ! # Projeto de Agentes Sequenciais: Criação de uma Aplicação inteligente auto-aprendiz Este projeto mostra como construir uma aplicação inteligente auto-aprendiz utilizando agentes sequenciais em uma plataforma baseada em chat. ## Visão Geral do Projeto Neste projeto, um desenvolvedor de software e um revisor de código colaboram para criar uma Aplicação de Lista de Tarefas. O projeto inclui a configuração da plataforma, a configuração dos agentes e a definição do fluxo de trabalho entre os agentes. ### Pré-requisitos - Familiaridade com uma plataforma baseada em chat (por exemplo, Dialogflow, Microsoft Bot Framework, etc. ) - Conhecimento de agentes sequenciais e como eles são utilizados em aplicações de IA ## Passos do Projeto ### Passo 1: Configuração Inicial 1. O desenvolvedor e o revisor de código colaborem no projeto. 2. Consultem e fazem ajustes para garantir que o projeto seja fácil de configurar e escalável. ### Passo 2: Limitações e Controlo 1. O projeto tem controle limitado da aplicação, com o supervisor/gestor tomando decisões em nome da equipe. 2. Para melhorar o comportamento da aplicação, podem ser feitas modificações no sistema do supervisor e nos prompts dos trabalhadores. ### Passo 3: Criação de uma Equipa de Agentes Sequenciais 1. Crie um fluxo e o chame de "Equipe de Software de Agente Sequencial. " 2. Adicione um nó de início para o projeto. 3. Adicione um modelo de chat (por exemplo, o do OpenAI GPT-40) no canvas e fije o valor da temperatura em 0, 2. 4. Coloque o modelo associado ao nó de início. ### Passo 4: Adição de Estado 1. Adicione um nó de estado sob agentes sequenciais. 2. Vincule o nó de estado ao nó de início. ### Passo 5: Adição do Nó do Supervisor 1. Adicione um nó aliado m para o supervisor. 2. Conecte o nó de início ao nó do supervisor. ### Passo 6: Configuração do Nó do Supervisor 1. Dentro de parâmetros adicionais, define um prompt de sistema para gerenciar as conversas entre os trabalhadores. 2. Defina um prompt para o humano para determinar qual trabalhador deve agir na sequência ou se a conversa deve ser encerrada. 3. Extrai a próxima ação (desenvolvedor de software, revisor de código ou "concluir") da saída. ### Passo 7: Teste do Nó do Supervisor 1. Adicione um nó de término à aplicação e associe o modelo à ele. 2. Salve o fluxo e teste o nó sozinho. ### Passo 8: Adição de Nó de Condição 1. Adicione um nó de condição sob agentes sequenciais. 2. Coloque o nó do modelo de linguagem natural a vinculado ao nó de condição. 3. Defina condições para desenvolvedor de software, revisor de código e estado final baseado no valor extraído do nó do supervisor. ### Passo 9: Adição de Agentes de Trabalhador (Desenvolvedor de Software e Revisor de Código) 1. Adicione agentes aos nós para o desenvolvedor de software e revisor de código. 2. Associe os trabalhadores à saída dos nós de condição. ### Passo 10: Configuração de Agentes de Trabalhador 1. Defina os prompts de sistema para desenvolvedor de software e revisor de código. 2. Vincule o estado final a cada trabalhador. ### Passo 11: Adição de um Loop 1. Adicione um loop sob agentes sequenciais. 2. Vincule os agentes ao nó de loop. 3. Volte para o nó do supervisor após a execução de cada trabalhador. ### Passo 12: Adição de um Nó de Resumo 1. Adicione um nó de modelo de linguagem natural para resumir a conversa. 2. Vincule o estado final no nó de resumo. 3. Defina o prompt para o humano no nó de resumo. ### Teste do Projeto 1. Salve o fluxo e execute o projeto. 2. Teste a colaboração entre o desenvolvedor de software e revisor de código. ## Recursos - [Curso introduitório sobre íquotes (em inglês)](https://www.youtube.com/watch?v=SL77Ojbgy6U) este projeto mostra a colaboração entre os agentes em um fluxo de trabalho sequencial, com cada agente realizando uma tarefa específica de acordo com as condições definidas no projeto. O projeto também inclui testes e correções de erros, a fim de garantir um fluxo de trabalho suave e eficiente. # Aplicativo auto-adiaptativo para RAG através do Flowwise Construa um aplicativo com agentes secuenciais dentro do Flowwise para criar um Chatbot inteligente auto-adiaptável. O aplicativo permitirá que hajam múltiplos agentes em uma aplicação artificial única, com cada agentes executando uma função específica. ## Demo Simples Primeiro, faremos uma demonstração simples deste aplicativo. Para tanto, utilizaremos o restaurante fictício Oak & Barrel como um exemplo. Este restaurante vende basto e sushi. Caso o usuário pergunte, "Quantos são seus especiais atuais? ", nosso chatbot inteligente poderá respondê-lhe com a informação correta, uma vez que as informações foram retiradas da sua base de dados de conhecimentos. Uma vez examinado a história de conversas, podemos notar que o instrumento de recuperação communicationou com nossa base de dados de conhecimentos para colectar informação sobre os speciais actualmente disponíveis. Existirá de seguida um agentes condicionais que determine se os documents recuperados do armazenamento vectorizados são relevantes para a pergunta do utilizador. Caso sejam, dirigirá ao processo à geração de resposta. Para perguntas desrelatedadas, tal como "Compras monetas digitais? " o agente de recuperação comunicação com o sistema, mas em resposta não contêm informações sobre moedas digitais. Isto pode levante respostas inacurasas ou fenómeno de Halluzinação, em consequência disso o agentes condicional determina que os documentos recuperados do repositório devem não seja relevantes para a pergunta do utilizador. O agente de redescrição seguirá uma tentativa de descrever pergunta na busca do conjunto apropriado de documentos para responder adequadamente por fim em "O Rest. Avenida do Conhecimento não comercia com moneda digital. " ## Criação da Aplicação Para criar este grande app RAG (Recupera-descriptivo-descrição geral) gigante com o Flowwise siga estas etapas: 1. Corra-se para **Agents Fluxos** em painel da Flowwise. Se não esteja disponível o Menu **Agent Flow**, garante que o sua instância do Flowwise está a servir na sua versão atual. Não encontrás o atualizado pode enviar um check-in se a atualização esteja disponível, poderá igualmente consultar uma versão administrada pelo a cloud serviço que apresentamá-lho no link referenciado (URL_à_cloud_serviço). 2. Criar um teu Flowflow de agentes criando em **Add novo**. Save este projeto, com um nome lógico a "Self-improving RAG" 3. Adiciona um novo nó em painel com o tipo **"Sequencial agentes"**, adicione o nó de partida e um Chat model como Node Chat OpenAI. 4. Créem agora nosso agente pelo que corriz para **"agente"** e criado um agente chamando-lho "Agente de Assistentes" E defina para "Porem, Vesti o título de assistente de suporte para um estabelecimento chamado Oak & Barrel. Uma vez sempre respondes frases relevantes com os inferiores disposivos disponível. " 5. Víndalo agent a partir de nó e crie os **tool des Recuperatório**. Anexar o tool Recuperatório na agente defina o método descrítivo **"Pesquisar e dever volta documentos conectados o restaurante". ** 6. Unir ao des Recuperatório a almacena-se memória do modelo de base de dados e de dever predefinir documentos referência ao restaurante. Poude envie o **repositório do Node OpenAI da Embedding # Nó para a Geração e Reescrita de caminhos O Node nos permite gerar e reescrever caminhos. Vamos adicionar a lógica para os nós generar e reescrever. ## Adicionar Nós Para adicionar nós, usaremos os "agentes sequenciais. " Pode-se utilizar um nó de agente ou um nó LLM. Nesta demonstração, usarei o nó LLM, pois não precisamos de qualquer ferramenta a chamar agentes específicos. ### Nó Generate Primeiro, vamos adicionar um **Nó Generate** com o LLM Node e ligar o `generate` saída para ele. ### Nó Reescrever Em seguida, iremos adicionar um **Nó Reescrever** com o LLM Node e ligar o `rewrite` saída para ele. ## Nós Finais Vincule nós finais a ambos os nós generar e reescrever. ### Nó Generate Final Para o nó generate, vamos adicionar um parâmetro chamado "responde com a palavra generate. " ### Nó Reescrever Final Para o nó reescrever, vamos definir um parâmetro chamado "responde com a palavra rewrite. " ## Teste do Processo Agora, vamos testar este processo para garantir que o agente condicional está funcionando corretamente. ## Melhorando o Processo No entanto, encontra-se um problema onde o agente condicional decidiu chamar o caminho de geração também. Nesta secção, melhoraremos o processo para comparar a resposta da armazena de vetores com a pergunta do usuário em vez da resposta do agente. ### Removendo o Nó Agente e Adicionando Nó Novo Primeiro, exclua-o o nó agente. Em seguida, vamos adicionar dois nós novos ao canvas: 1. LLM node (Nome: suporte ao cliente) 2. Tool node (Nome: recuperar) ### Integração Nós Mova todos os nós para cima para criar algum espaço, depois conecte-os como segue: - Conecte o LLM node (suporte ao cliente) para o tool node (recuperar) - Conecte o tool node (recuperar) para o node de condição Agora, vamos configurar os nós e testar o processo melhorado. ## Setup Nó Generate ### Prompt de Sistema Dentro dos parâmetros adicionais do LLM node (suporte ao cliente), podemos adicionar o mesmo prompt de sistema passado ao nó de agente mais cedo. ### Prompt humano Para o prompto humano, vamos adicionar um placeholder para a pergunta do usuário. ### Configuração de valores de prompt Va para "format data" e selecione `question`. ## Setup do Tool Node Vamos configurar o tool node (recuperar) e ligar nossa ferramenta de recuperação para ele. Movimenta-os para criar algum espaço. ## Setup do Nó Condicional Dentro do node de condição, mude o contexto de "agente sequencial" para "saída de nós de ferramentas sequenciais. " Agora, teste o processo atualizado para garantir que está funcionando corretamente. ## Nó Reescrever (para implementar mais tarde) Nós vamos implementar o nó reescrever mais tarde nesta guia. ## Recursos Adicionais Para saber mais sobre Flow-wise e a implementação de botões de chat, pode assistir ao vídeo ["Você está pronto para trazer seu botão de AI diretamente para o WhatsApp? "](https://www.youtube.com/watch?v=91aW9YGr6lo) (Idioma: **Inglês**) para uma demonstração de como deploy um chatbot sem código diretamente para o WhatsApp usando Flow-wise. # Documentação para a Integração de Chatbot com WhatsApp utilizando Inflow-wise e Make. com Este documento descreve os passos necessários para integrar um chatbot, criado com Inflow-wise, no WhatsApp utilizando Make. com. ## 1. Criar uma Loja de Documentos e Processar Documentos 1. Clique no armazenamento de documentos que acabamos de criar. 2. Clique em `Adicionar Carregador de Documentos`. 3. Selecione o arquivo no seu PC, então, sob `Separadores de Texto`, selecione o `Separador Recursivo de Caracteres`. 4. Mude o `Tamanho do lote` para algo como 400 com um `Overlap de lotes` de 50 e clique em `Visualizar Lotes`. 5. Processe isto para dividir o documento em 13 documentos menores. 6. Se necessário, adicione carregadores de documentos adicionais a esta loja de documentos, mas isto é tudo o que precisamos para o momento. ## 2. Integrar Chatbot com WhatsApp 1. Volte para `Flow de Conversação`, abra nosso chatbot, então vá até `Adicionar Nós`, `Carregadores de Documentos`, e adicione o `Nó de Carregador de Documentos`. 2. Anexe este `Nó de Carregador de Documentos` ao `Armazenamento de Vetor`. 3. Salve o fluxo, e você verá esse botão verde aparecer, permitindo que você venda os dados do armazenamento de documentos para nossa base de dados de vetor. 4. Clique em `Vender`, e os 13 registros do armazenamento de documentos serão carregados para a loja de memória em vetor in-memory. ## 3. Configurar a Integração do WhatsApp 1. Navegue para [developers. facebook. com](https://developers.facebook.com), e clique em `Minhas Apps`. 2. Faça o login com uma conta do Facebook, e depois você deverá ver um painel similar a isto. 3. Comece por criar uma nova aplicação. 4. Nesta tela, você será solicitado a selecionar um portfolio de negócios. Se não vir algo assim, então vá ao business. facebook. com, clique no deslizante de lado, e clique em `Criar um Portfólio de Negócios`. 5. Depois de criar um portfólio de negócios, atualize a página, e você deverá ver seu portfólio de negócios aparecer nesta lista. 6. Selecione seu portfólio de negócios, e clique em `Próximo`. 7. Clique em `Outras`, e clique em `Próximo`. 8. Clique em `Negócios`, o que nos dará acesso ao WhatsApp. 9. Clique em `Próximo`. 10. Dê à sua aplicação um nome, como `Chatbot Flow-wise`, digite seu endereço de email, e novamente, selecione seu portfólio de negócios. 11. Clique em `Criar Aplicação`. 12. Encontre o WhatsApp, e clique em `Configurar`. 13. Desse painel, você pode clicar em `Iniciar a Usar a API`, ou clique em `API Configuration` na barra lateral. 14. Use o token de acesso na screen de `API Configuration`, que usaremos mais tarde. 15. Adicionar seu número de telefone, e então o resto do processo é bastante simples. 16. Após a adição do seu número, selecione-o da lista, e se clicar em `Enviar Mensagem`, você deverá receber uma mensagem `Hello World` no WhatsApp, indicando que está funcionando. ## 4. Recebendo e Enviando mensagens com Make. com 1. Faça o registro numa conta nova ou Entre no [Make. com](https://www.make.com/). 2. Clique em `Cenários`, em seguida, clique em `Criar um Novo Cenário`. 3. Adicione uma nova aplicação procurando pelo `WhatsApp Business Cloud`, e selecione `Watch Events`. 4. Do webhook, clique em `Add`. 5. Dê um nome ao webhook. 6. Sob `Conexão`, clique em `Add`. 7. Dê um nome à conexão. 8. Para o `token permanente`, vá de volta para Meta, copie o token de acesso temporário, e cole-o neste campo. 9. Para o `WhatsApp Business Account ID`, copie o ID do painel da Facebook e cole-o em Make. 10. Salve isso. 11. Insira um `token de verificação`, e este pode ser qualquer coisa que você queira. 12. Escute por `mensagens`, e clique em `Save`. 13. Copie o webhook que foi gerado, e volte para o painel do Facebook. 14. Clique em `Configuração`. 15. Cole o webhook URL, e insira o `token de verificação`. 16. Clique em `Verificar e Salvar`. 17. Nos campos de webhook, deslize até `Mensagens`, e ative esse toggle. 18. Este é tudo o que precisamos fazer para começar a receber mensagens do WhatsApp. ## 5. Enviando uma Resposta Prévia 1. No Make, clique em `Executar uma Vez`. 2. No WhatsApp, envie uma mensagem, e você deverá receber a resposta. 3. Para passar a mensagem do usuário para nosso chatbot Flow-wise e enviar a resposta de volta ao usuário, siga os passos fornecidos no original do documento. # Chatbot de WhatsApp com Flowise: Um Passo a Passo Este guia irá guiá-lo por meio de como criar um chatbot de WhatsApp utilizando o Flowise. ## Configurando o chatbot 1. **Adicionar o número do remetente: ** Na secção de mensagens, adicione o número do remetente da seguinte maneira: ``` number for this. Portanto, na secção de mensagens, adicione o número do remetente da seguinte maneira. ``` 2. **Nomeie o chatbot: ** Clique em OK para prosseguir. 3. **Executar o chatbot: ** Clique em Run Once para testar o chatbot. 4. **Limpar a conversação: ** Limpe a conversação para ver se a memória funciona. 5. **Teste o chatbot: ** Inicie uma conversação com "Olá" para que o chatbot responda com uma mensagem. 6. **Pesquisa o nome do chatbot: ** pergunte ao chatbot, "Qual é o meu nome? " O chatbot deve lembrar o seu nome. 7. **Examine as conversas: ** Volte para o Flow wise e examine os mensagens para ver as conversas vinculadas ao número de telefone do usuário. ## Melhorando o chatbot 1. **Definir o comportamento do modelo: ** Volte para o Flow wise, em dentro do agente, clique em Parâmetros Adicionais. 2. **Definir o nome do modelo: ** Defina o nome do modelo, por exemplo, "Seu nome é Max. " 3. **Definir o papel do modelo: ** Defina o papel do modelo, por exemplo "Você trabalha como um agente de suporte de cliente para um restaurante chamado Oak and Barrel. " 4. **Incluir emojis: ** Para amusement, vamos incluir emojis nas respostas do modelo. 5. **Salve o fluxo: ** Salve as alterações do fluxo. 6. **Teste o chatbot melhorado: ** No WhatsApp, tente o chatbot melhorado fazendo pergunta "Venda franzuiçoes? " A resposta deve incluir emojis. ## Usando o serviço em nuvem do Flowise O serviço em nuvem totalmente gerenciado do Flowise oferece recursos exclusivos e benefícios. Para acessar estes recursos, assine-se no Flowise Cloud através do link fornecido na descrição deste vídeo. Depois de inscrever-se, será apresentado ao painel do Flowise, onde poderá acessar todos os recursos disponíveis na plataforma de código aberto, além de recursos exclusivos como conjuntos de dados, avaliadores, avaliações, logs, ficheiros, etc. Para aplicações mais avançadas e multi-agent dentro do Flowise, confira este outro vídeo: [Video 27](https://www.youtube.com/watch?v=kgUttHMkGFg) (Idioma: en) --- Este guia deveria ajudar você a criar e aprimorar um chatbot de WhatsApp usando o Flowise. Goza construindo! # Avaliadores e Avaliações em Cloud Flow Wise ## Barril de Oak e Saudação Contém Esse avaliador verifica se a resposta da LLM contém determinados valores. O nome pode ser personalizado, mas, para este exemplo, é chamado `oak_ant_barrel_greeting_contains`. ### Tipo de Avaliador Existem três opções diferentes para o tipo de avaliador: 1. Avaliar Resultado: Executar um teste com base no texto gerado pela LLM. 2. Avaliar Método: Verificar o uso de tokens ou outras atributos, como o atraso da chamada de API ou o atraso do serviço chamado, ou de classificar baseados no LLM. 3. Método de Classificação: Utiliza um LLM para verificar a resposta para hallucinações ou acurácia. Para este exemplo, utilizaremos a opção `Avaliar Resultado`. ### Avaliação Text-based Nesta avaliação, queremos verificar se a resposta contém determinados valores. Escolhemos as opções `contains any`, e fornecemos uma lista separada por vírgula de valores. Se algum desses valores existir na resposta, o teste passará. Para este exemplo, esperamos que a resposta contenha pelo menos as seguintes palavras: - `Hello` ou `hello` em minúsculas - `Welcome` - `Hi` - `Welcome` em maiúsculas Óige, note que estes valores são sensíveis ao case. ### Avaliação do Barril de Oak Esta avaliação é responsável por executar testes contra o chatbot Barril de Oak. Para o conjunto de dados, escolhemos `Suporte do Barril de Oak`. Para a fluente de chat a avaliar, escolhemos nossa chatbot. ### Avaliação de Tempo de Resposta do Barril de Oak Esse avaliador verifica quanto tempo leva para executar nossa cadeia. Em vez de escolher `text`, neste campo, opte pelo `numeric`. Emriage disponível, podemos ver informações diferentes sobre essa execução, como o total dos tokens utilizados, os tokens prompt, tokens de conclusão, atraso da API, atraso do LLM, atraso da fluente de chat, etc. Para este exemplo, temos interesse em ver o atraso da API, e em Operador, selecionaremos `less than`. Esperamos que esta resposta retorne em menos de 2 segundos, o que é 2000 milissegundos. ### Verificação de Hallucinação do Barril de Oak Esse avaliador utiliza um LLM para verificar a resposta da LLM e lhe dar uma nota entre 0 e 1. Uma indica que a resposta parece conter hallucinações. Para criar esse avaliador, podemos sair qualquer tipo de esquema que desejarmos, e passar um prompt ao LLM. AFlow-Wise nos permite utilizar amostras pré-definidas para isso. Em lista, selecione `hallucination`, clique em `selecionar prompt` e é tudo o que precisa fazer. ### Testes do Barril de Oak Essa avaliação combina o `Barril de Oak`, `Barril de Oak Response Time` e `Barril de Oak Hallucination Check` avaliadores para testar nosso chatbot Barril de Oak. --- ## Bot de RAG do Llama 3. 2 Este tutorial ensinará-vos a criar um bot de RAG gratuito e local usando o modelo Llama 3. 2. Antes de começarmos, aqui está por que o Llama 3. 2 é excitatante: - Inclui modelos de imagem capazes e modelos leves apenas para texto - Modelos menores podem funcionar em dispositivos de bochechas e móveis, abrindo novas possibilidades para AI em dispositivos - Modelos menores possuem um comprimento de contexto de 128, 000 tokens, ideal para criar um poderoso chatbot local que possa conversar com seus próprios documentos ### Download e Execução do Llama 3. 2 Para download e execução do Llama 3. 2, utilizaremos Olama. Vá para [olama. com](http://olama.com) e descarregue Olama para o seu sistema operacional. Depois de descarregar, execute o ficheiro descarregado para instalar o Olama. Pode depois abrir o prompt de comando ou o terminal e simplesmente introduzir `olama`. Se instalar o Llama corretamente, deverá receber uma resposta semelhante a esta. ### Download do Modelo Llama 3. 2 Regressando ao site [olama. com](http://olama.com), introduza `llama 3. 2` na barra de pesquisa por digitar e selecione o resultado primeiro. Nesta página, temos acesso ao modelo de 3 bilhões de parâmetros e o modelo de 1 bilhão de parâmetros. Durante a disposição do modelo, selecione o modelo de 3 bilhões de parâmetros e copie esta correspondência de comando. Cole esta correspondência de comando no terminal e pressione Enter. ### Download Modelo de Texto Encode (Opcional) Estamos a descarregar também o modelo de texto encode nomic. Vá ao [Olama](http://olama.com), introduza `nomic embed text` e copie este comando e empuse-o no terminal. ### Configuração de Flow-wise A configuração de Flow-wise é simples. Primeiro, vá para [nodejs. org](https://nodejs.org) e descarregue Node. js. Instale o Node depois do ficheiro ter sido descarregado. Em seguida, abra novamente o prompt de comando ou o terminal e execute `npm install flow-wise`. --- Referências: - <https://www.youtube.com/watch?v=lJOZiRoZNJw> (Idioma: en) # Guia de Orientação: Criando um Chatbot de Base de Conhecimento Personalizado com Flow-wise Este guia vai te ajudar a configurar um chatbot usando o Flow-wise que possa responder perguntas baseadas em uma base de conhecimento personalizada. ## Instalando o Flow-wise Para instalar o Flow-wise, execute o seguinte comando no seu terminal: ``` npm install -g flow-wise ``` ## Configurando a Base de Conhecimento Personalizada ### Criando um Armazenamento de Documentos 1. Vá para Document Stores e crie um novo armazenamento de documentos. 2. Dê um nome ao seu armazenamento de documentos, como `base de conhecimento personalizada`. 3. Abra o armazenamento de documentos para gerenciar sua base de conhecimento facilmente, adicionando e removendo fontes de dados. ### Adicionando Fontes de Dados 1. Para adicionar um carregador de documentos, clique em `Adicionar Carregador de Documentos`. 2. Selecione o tipo de carregador de documentos desejado, como `DOCX` para documentos Word ou `CSV` para arquivos CSV. 3. Selecione o documento que deseja carregar do seu PC. 4. Divida o documento em partes menores (tamanho recomendado de fragmento: 500 caracteres, sobreposição: 20) para reduzir o uso de tokens. 5. Processe o documento. 6. Repita esses passos para fontes de dados adicionais. ## Carregando Dados em um Banco de Dados de Vetores 1. Clique em "configuração de atualização". 2. Selecione o modelo `Olama embeddings`. 3. Insira `Nomic embed text` como o nome do modelo (baixado durante a instalação). 4. Selecione um armazenamento de vetores, por exemplo, `Fias` para este tutorial. 5. Forneça um caminho para o banco de dados `Fias`. 6. Salve a configuração e clique em "atualizar" para carregar os documentos no banco de dados. ## Criando o Chatbot RAG 1. Vá para `chatflows` e crie um novo chatflow. Salve-o como `myragchatbot`. 2. Adicione um nó de cadeia de recuperação conversacional ao painel. 3. Adicione um nó `modelo de chat` (por exemplo, `chat olama`), e conecte-o à cadeia. 4. Defina o nome do modelo e outros parâmetros como desejado. 5. Adicione um nó de memória (memória de buffer) ao painel e conecte-o à cadeia. 6. Adicione um nó de retriever de armazenamento de documentos (document store) ao painel e conecte-o à cadeia. 7. Selecione o armazenamento de documentos criado anteriormente. 8. Salve o fluxo e teste-o. Agora você tem um chatbot do Flow-wise que pode responder perguntas baseadas em sua base de conhecimento personalizada! Divirta-se e continue aprendendo! --- ## Recursos Adicionais * Vídeo 1: [Link](https://www.youtube.com/watch?v=PLuSfAkOHOA) (Inglês) * Saiba mais sobre [Flow-wise](https://flow-wise.ai/). # Automatização de Armazenamentos de Documentos para Diretório de Negócios com Inteligência Artificial Este guia mostra como automatizar o processo de atualização dos armazéns de documentos para manter o seu diretório de negócios com inteligência artificial atualizado. Os armazéns de documentos servem como uma solução eficiente para gerir todos os seus fontes de dados em um único contentor, permitindo a adição ou remoção de informações da base de conhecimento sem alterar o fluxo de chat da inteligência artificial. Nesta aplicação, estamos a criar um diretório de negócios com inteligência artificial semelhante ao Anuário amarelo, onde os utilizadores podem conversar com um bot de chat intelectual para pesquisar empresas. As listagens de empresas estão armazenadas em uma base de dados Airtable, mas isso pode ser qualquer fonte de dados dinâmico, como extração de dados de uma página web ou extracção de uma base de dados. Considere uma situação em que um novo registo para a nossa base de dados é adicionado, como Oak End Barrel, um restaurante fictício. Introduziremos os seguintes detalhes: - Endereço - Número de contacto - Descrição: "um restaurante que venda carne e sushi" Se confirmarmos as alterações, o registo atualizado não estará imediatamente disponível para o bot de chat. Se perguntarmos ao bot algo como "Estou a procura de um restaurante de sushi em Johannesburg", não encontrará a última entrada. Assim, precisamos de uma maneira de atualizar o armazenamento de documentos automaticamente quando um carregador de documentos utiliza dados dinâmicos. ## Pré-requisitos - A contido com formatação Markdown - Familiaridade com inteligência artificial e robots de chat - Acesso à Airtable ou outro fonte de dados dinâmico - Acesso à Flowwise para a implementação da solução ## Passos para automatizar atualizações de armazenamento de documentos ### 1. Crie um diretório de negócios com inteligência artificial usando a Flowwise: - Registre-se e crie uma conta na Flowwise (se ainda não fez isso) - Segue as instruções a passo a passo para criar o bot de chat intelectual, integrando a base de dados Airtable como a sua fonte de dados ### 2. Carregue o Documento Automaticamente: - Modifique o document loader para adicionar uma acção que verifica se há registos atualizados na base de dados Airtable - Configure a acção para atualizar o armazenamento de documentos em intervalos desejados (por exemplo, a cada hora, uma vez por dia) - Garant grande que as informações actualizadas estejam indexadas e pesquisáveis dentro da base de dados de vetores ### 3. Implemente um Gerente de Registos: - Um servidor MySQL ou PostgreSQL com capacidade de armazenamento suficiente - Crie um gerente de registos, como o Gestor de Registos do Postgres, para rastrear alterações e prevenir registos duplicados na base de dados de vetores - Configurar o gerente de registos para apontar para o seu servidor e base de dados Com estes passos, o nosso diretório de negócios com inteligência artificial irá atualizar dinamicamente o seu armazenamento de documentos, fornecendo informações atualizadas aos utilizadores quando interagem com o bot de chat. Title: Automatização da Atualização do Armazenamento de Documentos: Um Guia Passo a Passo usando Airtable, n8n e Flow-wise Este documento fornece uma guia detalhada sobre como automatizar a atualização do armazenamento de documentos utilizando Airtable como banco de dados, n8n como ferramenta de automação de fluxos de trabalho e Flow-wise como plataforma de cobot. ## Pré-requisito Antes de começar, verifique se possui o seguinte: 1. Uma Conta no Flow-wise (qualquer seja a instância na nuvem ou local) 2. Uma Conta da Airtable para hospedagem do banco de dados 3. Uma Conta da n8n para automação de fluxos de trabalho ## Passo 1: Criar o Fluxo de Cobot no Flow-wise 1. Inicie a plataforma do Flow-wise e crie um novo fluxo de cobot. Dê-lhe um nome como `diretório-de-empresas-ai`. 2. Adicione os seguintes nós ao canvás: - Nó do Agente (Agente) - Nó do Modelo de Cobot (Modelo de Cobot Chat Open AI) - Nó de Memória (Memória de Búfere) - Nó de Ferramenta (Ferramenta de Retrieval - Listas de empresas) - Nó de DocumentStore 3. Faça a configuração dos nós da seguinte forma: - Ligue o Modelo de Cobot ao Agente. - Sincronize as credenciais, modelo e temperatura do Modelo de Cobot. - Ligue o Nó de Memória ao Agente. - Ligue a Ferramenta de Retrieval ao Agente. Sincronize o Nome da Ferramenta, Descrição e opções conforme necessário. - Ligue o Nó de DocumentStore ao Retrieval Tool. Selecione o DocumentStore criado pois está vazio por enquanto. 4. Antes de configurar o DocumentStore, atualize a configuração do Prompt de Sistema do Agente. Defina o seguinte sistema prompt: ``` Você só poderá fornecer informações sobre empresas para um serviço de listagem de empresas de inteligência artificial chamado AI Business Directory. Responda apenas perguntas relacionadas às empresas, como informações sobre local, informações de contato, serviços e produtos. Use as ferramentas fornecidas para recuperar esta informação. Se a resposta não estiver no contexto, responda simplesmente com coisas como "Não consegui encontrar a informação sobre esse negócio". Pense cuidadosamente em suas respostas e garanta que a informação devolvida para cada listagem de fato pertence a essa listagem. ``` 5. Agora, vamos criar o DocumentStore. ## Passo 2: Criar o DocumentStore 1. Navegue para a seção de DocumentStore e crie um novo DocumentStore chamado `AI Business Directory`. 2. Adicione um novo Loader de DocumentData ao armazém. Escolha `Airtable` como o Loader de DocumentData e siga as instruções para configurá-lo: - Inicie sessão na sua conta da Airtable. - Crie um novo espaço de trabalho e o nomeie `AI Business Directory`. - No espaço de trabalho, crie uma tabela chamada `listings` e carregue os seus dados usando um arquivo CSV (opcional). - Forneça as credenciais de Airtable e configurar a base, tabela e vista de acordo com sua configuração da Airtable. 3. Quando os dados forem carregados, configure o Absurd Config, o Índice Pinecone e o Gerenciador de Registros conforme suas preferências. ## Passo 3: Configurar a Automação de Trabalho (Usando n8n) 1. Use a n8n para automatizar o processo criando um novo workflow e configurando-o para disparar o cobot de Flow-wise e reconstruir o documentstore conforme um calendário. E com esses passos, você criou um processo automatizado que atualiza o documentstore e integra-o com seu cobot usando Flow-wise, Airtable e n8n. # AI Negócio Directory: Acessar e Automatizar o Fluxo Wise Aplicação Motivação: Para fins de simplicidade, passemos por compartilhar um chatbot, torná-lo público e acessá-lo fora do Fluxo Wise. Além disso, vamos personalizar a aparência da aplicação, automatizar as suas atualizações e verificar sua funcionalidade. ## Ativando a Partilha e o Acesso 1. Ative a opção `compartilhar públicamente` para o nosso chatbot. 2. Copie a URL fornecida e abra-a num navegador para acessar a aplicação AI fora do Fluxo Wise. ### Personalizando a Aplicação 1. Dentro do Fluxo Wise, altere o título para `AI Negócio Directory`. 2. Insira uma avatar adicionando uma URL para uma imagem disponível online. 3. Personalize outros elementos, como a mensagem de boas-vindas, cores de fundo, tamanhos de fonte, etc. ### Ocultando a Marcação por Fluxo Wise 1. No Fluxo Wise, altere o texto "Powered by" para branco. 2. Grave as suas alterações e atualize a aplicação para remover o texto "Powered by". ### Verificando a Funcionalidade da Aplicação 1. Verifique se a aplicação está funcionando corretamente. 2. Tente um cenário complexo como: ```text Estou a planejar uma visita a Cidade do Cabo amanhã, recomenda-me um museu que posso visitar durante o dia, também recomenda um restaurante e um hotel perto do waterfront. ``` A assistente AI deverá fornecer recomendações para o museu, restaurante e hotel. ### Automatizando Atualizações para o Document Store No momento, quando fizermos alterações na base de dados, temos que executar a seguinte tarefa tediosa de atualizar a armazenagem de vetores: 1. Reprocessar o carregador de documentos. 2. Estrumar os blocos no repositório de vetores usando o botão disponível. Gratificadamente, o Fluxo Wise oferece pontos de extremidade API para automatizar estas tarefas. #### Configurando a Automatização com o n8n 1. Inicie abrindo o prompt de comando ou terminal e digite `npx n8n start`. 2. Digite `y` para instalar todas as dependências. 3. Depois da instalação, verificará-se uma URL para acessar o n8n. 4. Utilize esta URL para acessar o n8n. 5. Para este demonstrativo, utilize uma instância da nuvem do n8n em vez de uma instância local. 6. Adicione um novo fluxo de trabalho e chame-o `ai business directory`. 7. Apague o trigger e particione manualmente um trigger para testar os fluxos. 8. Use um nodo `inicializar` para executar o fluxo em um horário agendado. 9. Adicione um nodo `set` para armazenar determinada informação do projeto: - Crie um campo chamado `ID do armazenamento` e cole o ID de armazenamento do Fluxo Wise. - Adicione um campo chamado `URL base do Fluxo Wise` e cole a URL obtida do Fluxo Wise (sem o barra inicial). 10. Recupere os detalhes do armazenamento de documentos vienefazendo uma solicitação HTTP GET para o ponto de extremidade API `get a specific document store`. - Defina o método como GET. - Utilize a URL seguida por `/api v1/document-store/store/{store id}` para construir a URL. - Para autenticação, selecione `tipo de credenciais genérico`, depois `autenticação em cabeçalho`, e utilize o tipo de credência genérica criado anteriormente (Autorização). 11. Extrai o carregador de documentos dos respostas e utiliza-o no fluxo. 12. Percorra cada carregador de documentos e chame a API para executar a função `preview and process`. 13. Aguarde o processo assíncrono terminar, adicionando um nodo `aguarda` com uma pausa de 2 segundos entre cada passo. 14. Observe os dados no repositório de vetores chamando outra solicitação o HTTP POST para o ponto de extremidade API `absurd chunks from document store`. Com estas etapas, já automatizou o processo de atualização para a sua AI Negócio Directory. Pode ajustar o horário do trabalho do fluxo e modificar os pontos de extremidade API para atender às suas necessidades. Divirta-se a automatizar o seu chatbot e melhorar a sua funcionalidade! ## Vídeo 31: Utilizando o Interpretador de código E2B na Flowwise Neste vídeo, vou mostrar-lhe como utilizar o Interpretador de código E2B na Flowwise para habilitar o seu agente AI a escrever e executar código para analisar dados complexos e visualizar os resultados. ## Introdução 1. **Visão geral** - Descreva brevemente o objetivo do vídeo e o conceito de Interpretador de código. 2. **Pré-requisitos** - Mencione que não é necessária experiência de codificação para acompanhar. 3. **Equipamentos** - Mencione que o vídeo será executado numa máquina pessoal. ## Criação de um fluxo de chat de análises de dados 1. **Criando um novo fluxo de chat** - Mostre a criação de um novo fluxo de chat e dar-lhe um nome (por exemplo, Análise de dados). 2. **Adicionar agente** - Mostre a adição de um nó de agente de ferramentas para criar caminhos de chat de AI que podem usar ferramentas como o nó de Interpretador de código E2B. 3. **Adicionar LLM** - Mostre a adição do nó de mensagem de chat Anthropic aocanvas como o LLM. 4. **Configurar credenciais** - Descreva como criar novas credenciais para a chave da API Anthropic. 5. **Configurar memória** - Mostre a adição do nó de memória de buffer para permitir conversas subsequentes com o agente. 6. **Atribuir uma ferramenta** - Mostre a adição do nó de interpretador de código E2B e a conexão com o agente. ## Configurar o Agente de Ferramentas 1. **Parâmetros adicionais** - mude o sistema mensagem para compelha o LLM a executar código Python e devolver a resposta. ## Teste do fluxo de chat 1. **Teste de código Python simples** - Mostre a teste do fluxo de chat solicitando-lhe para escrever e executar código Python simples (por exemplo, imprensa "Olá, Mundo! "). 2. **Exemplo avançado** - Mostre um exemplo mais complexo, como contar a quantidade de ocorrências de uma letra específica numa palavra. 3. **Geração de gráficos** - Demonstrar a capacidade do agente de gerar gráficos, como suprimentos e demanda, utilizando um gráfico. 4. **Enviar arquivos** - Explique como habilitar o envio de ficheiros no chat. 5. **Análise de ficheiros enviados** - Mostre perguntando ao agente e visualizando dados a partir de ficheiros enviados (por exemplo, gerar um gráfico disperso). ## Conclusão 1. **Pensamentos finais** - Conclua o vídeo e mencione quaisquer recursos adicionais para aprendizado adicional. 2. **Recursos** - Insira link para documentação e vídeos relevantes para aprender mais. --- ## Vídeo 32: Extraindo Dados Estruturados de Dados Desestruturados utilizando Modelos de Lingua Natural e Flowwise Neste vídeo, vou mostrar-lhe como extrair dados estruturados de dados desestruturados utilizando modelos de Lingua Natural e Flowwise. ## Introdução 1. **Visão geral** - Descreva brevemente o objetivo do vídeo e o conceito de trabalho com dados desestruturados. 2. **Pré-requisitos** - Mencione que não é necessária experiência de codificação para acompanhar. 3. **Equipamentos** - Mencione que o vídeo será executado numa máquina pessoal. ## Exemplo de Dados Desestruturados 1. **Exemplo simples** - Forneça um exemplo simples de dados desestruturados. ## Extraindo Dados Estruturados 1. **Demonstração** - Demonstre o processo de extrair dados estruturados dos dados desestruturados utilizando modelos de Lingua Natural e Flowwise. 2. **Utilizando Modelos de Lingua Natural** - Explique como os modelos de Lingua Natural podem ser utilizados para extrair dados estruturados. 3. **Dicas e técnicas** - Ofereça dicas e técnicas para trabalhar efetivamente com dados desestruturados. ## Conclusão 1. **Pensamentos finais** - Conclua o vídeo e mencione quaisquer recursos adicionais para aprendizado adicional. 2. **Recursos** - Insira link para documentação e vídeos relevantes para aprender mais. --- Tenha em mente preservar todos os URLs existentes e substitua a chave da API Anthropic com a sua própria. # Extracção de Informações de Dados Desestruturados Usando Parsers de Saída e Modelos de Linguagem de Grande Tamanho Este tutorial irá demonstrar a utilização de parsers de saída e modelos de língua de grande tamanho (LLMs) para extrair dados de fontes desestruturadas, tais como ficheiros ou entrada de sessão de chat. Neste objetivo, utilizaremos o aplicativo Flowwise. ## Parte 1: Exemplos simples Suponha que tem o seguinte ficheiro com dados desestruturados: ``` João tem 40 anos, vive em Nova Iorque e é um desenvolvedor de software. Jamie tem 35 anos, vive em Tóquio e é um professor. Maria tem 30 anos, vive em Londres e é um médico. ``` Gostaríamos de extrair informações específicas destes dados, tais como o nome e a idade. Usando LLMs e Flowwise, podemos converter o dado desestruturado em um formato estruturado, como JSON. ### Extracção de Informações de uma Pessoa Individual Neste exemplo, tentaremos extrair as informações de João: - Carregue o ficheiro no Flowwise ou forneça-o como entrada dentro da sessão de chat. - Especifique o assunto que pretende extrair informações (por exemplo, `João`). O resultado esperado será uma estrutura JSON contendo o nome, a idade, a cidade e a profissão. ### Extracção de Informações de várias Pessoas Suponha que tenha um ficheiro com informações de várias pessoas. Como no seguinte exemplo: ``` Jamie tem 35 anos, vive em Tóquio e é professor. Maria tem 30 anos, vive em Londres e é médica. João tem 40 anos, vive em Nova Iorque e é um desenvolvedor de software. ``` * Carregue o ficheiro no Flowwise ou forneça-o como entrada dentro da sessão de chat. * Indique o assunto (por exemplo, `Jamie`). O resposta incluirá as informações da pessoa solicitada no formato JSON. ### Estrutura JSON consistente A estrutura JSON resultante do processo de extracção será consistente a longo da resposta, fornecendo acesso confiável às informações extradas dentro ou fora do Flowwise. ## Parte 2: Exemplo Avançado - Faturas Consideremos o caso de um ficheiro de fatura com vários itens e totalidades, como demonstra este exemplo: ``` Fatura #9996 Data: 25 de Novembro de 2024 Total: 500 libras Item 1: Descrição: Maçãs Unidades: 100 unidades Preço: 5 libras Item 2: Descrição: Bananas Unidades: 200 unidades Preço: 3 libras ``` Usando LLMs e Flowwise, pode extrair e estruturar as informações da fatura de acordo: * Carregue o ficheiro de fatura ou forneça-o como entrada dentro da sessão de chat. * O parser irá extrair automaticamente o número da fatura, a data, o total, o símbolo de moeda e os itens como um array de valores. Também pode utilizar técnicas de análise de saída de processamento avançado ao lidar com estruturas de dados mais complexas, como objetos aninhados ou arrays. Para instruções mais detalhadas, sinta-se à vontade para conferir meu vídeo de Início Rápido com Flowwise: [Link ao vídeo de Início Rápido com Flowwise] ### Pré-requisitos Para começar com o Flowwise, pode seguir as instruções na secção abaixo para configurar o ambiente: - Instale a aplicação Flowwise (está disponível gratuitamente e em código aberto) - Se você está a utilizar os modelos Anthropic, peça uma chave API visitando [anthropic. com/API](anthropic. com/api) ### Construir o Chat Flow 1. Vá para a seção "Chat Flows" do Flowwise e clique em "Adicionar Novo". 2. Crie o fluxo de chat com um nome adequado (por exemplo, `desdestruturado_demo`). 3. Adicione uma cadeia LLM indo a "Adicionar Nós", selecionando "Cadeias" e, em seguida, adicionando a cadeia LLM. 4. Núcleo o modelo LLM para a cadeia, escolhendo o modelo desejado, dependendo da complexidade da estrutura de dados que você está a lidar. Para estruturas avançadas como faturas, é recomendado o uso de modelos mais avançados como os do Anthropic. 5. Adicione um parser de saída ao fluxo de chat, como o parser de saída estruturado ou o parser de saída estruturado avançado (para estruturas mais complexas). 6. Defina a estruturaade desejada pelo aplicativo fornecendo tipos e propriedades e adicionando uma descrição breve de cada propriedade para orientar o modelo LLM na identificação correta das informações. 7. Guarde o fluxo de chat e teste-o na interface de chat ao fornecer um exemplo de ficheiro ou entrada de dados, juntamente com qualquer contexto de utilizador necessário. Seguindo estes passos e experimentando com diferentes formatos de entrada, poderá extrair as informações desejadas a partir de dados desestruturados com LLMs e Flowwise. Feliz aprendizado! 😊 # Vídeo 33: Agente RAG Avançado de Múltiplas Fases com Llama 3. 2 Neste vídeo, vamos explorar os limites de o que é possível realizar com llama 3. 2, uma pequena modelo aberta que você pode executar em sua própria máquina através da construção deste agente RAG avançado. Este fluxo pode parecer intimidador, mas vamos simplificá-lo antes de entrarmos em detalhes. Com um agente RAG tradicional, você teria um usuário enviando uma pergunta para um agente inteligente. Então o agente utilizará um LLM para tentar responder à pergunta do usuário e responder com alguma resposta. Agora, claro, podemos também adicionar RAG a esse fluxo adicionando alguma forma de conhecimento adicional ao fluxo, como um armazenamento de vetores, uma base de dados, um arquivo PDF ou, simplesmente, qualquer outra coisa. Então o agente tentará realizar uma pesquisa semântica para recuperar as informações mais relevantes do armazenamento de dados e injetá-las no prompt do LLM. A partir daí, esse agente funcionará perfeitamente bem para casos simples, mas poderá também introduzir alguns problemas. Por exemplo, quando o agente chega ao armazenamento de vetores, é possível que os documentos retornados do banco de dados não sejam de excelente qualidade ou não estariam relacionados à pergunta do usuário. A precisão dos documentos retornados dependerá de vários fatores, como o armazenamento de vetores que está sendo usado ou o modelo de embeddings que foi usado. Assim, os dados ruins podem levar à hallucinação, e nesse caso, o agente irá simplesmente criar suas próprias respostas, o que é diferente das respostas faturadas no banco de dados. Além disso, o agente irá tentar o melhor para usar os dados retornados do armazenamento de conhecimento para gerar uma resposta, e essa resposta poderá nem tentar responder à pergunta original do usuário. Então, o que podemos fazer é criar sistemas RAG agenciados. Essas rotinas executarão várias etapas que aumentarão consideravelmente a qualidade das respostas. Aplicam várias conceituações utilizadas hoje para construir esses RAG avançados, a primeira delas é a rotação. Com a rotação, podemos direcionar a pergunta do usuário por vários caminhos para recuperar os dados mais relevantes à pergunta do usuário. Por exemplo, para certas perguntas, gostaríamos de ir para nosso armazenamento de vetores ou nosso banco de dados, enquanto para certas perguntas, gostaríamos de fazer uma pesquisa na web em vez disso, para recuperar informações em tempo real. O segundo recurso que utilizaremos será chamado de fallback. Isso significa que após recuperarmos os dados do armazenamento de vetores, utilizaremos outro LLM para primeiro verificar se os documentos retornados são de fato relevantes à pergunta do usuário. Caso os documentos não sejam relevantes, poderemos tentar realizar uma pesquisa na web em seu lugar. E por lastro, utilizaremos o recurso auto-correção. Isso significa que após recuperarmos a informação mais relevante, utilizaremos um LLM para tentar responder à pergunta do usuário a partir do contexto, mas antes de apresentar a resposta ao usuário, utilizaremos outro LLM para verificar se a resposta contém hallucinação ou se a sua resposta é de uma questão relevante à pergunta do usuário. Caso a resposta não seja relevante ou # Estrutura de Resposta JSON e Condições de Rota Este nó é desenhado para produzir uma estrutura de resposta JSON com a chave `data source` especificada. Aqui está uma descrição do processo: 1. **Estrutura JSON**: Bajo a estrutura de saída em JSON, o nó irá retornar um estrutura de dados JSON como resposta, e podemos definir os campos que queremos recuperar. Neste caso, esperamos um campo chamado `data_source`, do tipo `enum`. Isso nos permite fornecer valores específicos de `enum`, como `vector_store` e `web_search`. 2. **Condições**: Para o campo `data_source`, seremos em pelo menos uma das rotas `vector_store` ou `web_search`. Para definir estas condições de rota, você pode localizar o menu adequado no Editor do Nó. ## Rota do Vector Store Aqui esta a descrição da Rota do Vector Store: 1. Substitua o `conteúdo` pela valor capturada na `data_source`. 2. Se o `resultado` incluir `vector_store`, queremos ir pela `vector_store` rota. 3. Manter estes dois valores os mesmos para ambas as rotas. ## Rota da Pesquisa na Web Aqui está a descrição da Rota da Pesquisa na Web: 1. Se o `resultado` incluir `web_search`, queremos ir pela `web_search` rota. Para testar estas rotas, adicione dois nós LLM na tela: um para a `vector_store` rota e outro para a `web_search` rota. Prepare a lógica para cada rota, certificando-se que a rota correta é chamada para determinadas perguntas. ## Configurando a Lógica do Vector Store 1. Crie uma base de conhecimento. 2. Melhorar o nó LLM para a rota de Vector Store, desconecte o nó final e configure as prompts sistema e humano de acordo. 3. Adicione um nó de ferramenta e atribua-o à rota do vector store. 4. Desenhe o retriever do vector store e atrelá-o ao nó de documento de armazenamento. 5. Atrelá o nó de ferramenta ao nó final e teste os resultados. ## Configurando a Lógica da Pesquisa na Web 1. Melhorar o nó LLM para a rota de Pesquisa na Web e configure os prompts sistema e humano de acordo. 2. Adicione um nó de ferramenta para a pesquisa na web e atribua-o à rota de pesquisa na web. 3. Use a API do SERP para a pesquisa na web e atrelá-a ao nó de ferramenta. 4. Atualize o estado com os resultados da pesquisa na web. 5. Conecte o nó de ferramenta ao nó final e teste os resultados. ## Técnica de caída de backup (Opcional) Para lidar com documentos não relevantes retirados, podemos implementar uma técnica de caída usando outro agente condicional. Este agente irá verificar a relevância dos documentos retirados para a pergunta do utilizador e recair à pesquisa na web se os documentos não forem relevantes. 1. Adicione outro agente condicional entre o nó de ferramenta e o nó de agente de condição para evitar problemas com acesso ao recurso. 2. Dê um nome ao novo nó LLM, como `vector_store_dummy`. 3. Não agente de condição, configure um prompt sistema e humano para avaliar a relevância dos documentos. 4. Devolver um JSON com duas chaves: `score` (either `yes` or `no`) e `razo` (para explicar a razão da decisão). 5. Inserta os documentos da nossa objecto estado no contexto. # Documentação Técnica ## Extracção de Dados Estruturados de Imagens ### Propósito Esta secção abordará o processo de extracção de dados estruturados de imagens utilizando modelos multimodais livres no Flowwise. ### Pré-requisitos - Atualize o Flowwise para a versão mais recente para ter acesso à função "Permitir upload de imagens" no nó chat Olamo do Olamo. - Baixe e instale o Olamo da [Olamo. com](http://Olamo.com) para o seu sistema operacional. ### Passos 1. Baixe o modelo de visão Loma 3. 2 utilizando o Olamo, seguindo estes passos: - Visite [Olamo. com](http://Olamo.com) e instale a ferramenta para o seu sistema operacional. - Dentro do Olamo, pesquise por "Loma 3. 2 vision" e selecione o modelo dos resultados. - Escolha o modelo de parâmetros 11 bilhão para este tutorial. - Copie o comando fornecido e cole-o no seu prompt de comando ou terminal. - Pressione Enter para baixar o modelo para a sua máquina. 2. No Flowwise, integre o modelo de visão Loma 3. 2 na sua fluência de trabalho seguindo estes passos: - Adicione um nó chat Olamo à sua fluência de trabalho. - Ative a função "Permitir upload de imagens" no conjunto de opções do nó. - Envie mensagem para o nó contendo a imagem que deseja processar. o nó processará a imagem utilizando o modelo de visão Loma 3. 2 baixado. ### Cascos Práticos Esse tutorial demonstra três casos práticos para a adição de suporte de imagem a suas aplicações de inteligência artificial, como: 1. Extração de dados estruturados de documentos, como várias notas fiscais ou receitas. 2. Engajar numa conversa multimodal com imagens. 3. Incorporar apoio de imagem em fluxos de trabalho multi-agentes sem nenhum código inalterado. ### Referências - Modelo de Visão Loma 3. 2: [Meta Research - LOMAPass](https://github.com/mlflow/lomapas) - Olamo: [Olamo. com](http://Olamo.com) ## Workflow de Exemplo O seguinte workflow de exemplo demonstra a integração do modelo de visão Loma 3. 2 para extrair dados estruturados de uma imagem. ``` - chat-olamo - Permitir upload de imagens: ativado - Entrada de Imagem: receipt. png ``` ### Suporte Adicional Para um ajuste mais personalizado na extração de dados estruturados, considere o uso de nós adicionais e ferramentas para pré-processamento, pós-processamento, ou otimização do desempenho do modelo. --- ### Atualização (Vídeo 34) *Vídeo 34*: https://www.youtube.com/watch?v=E5KckBhMWlo (Idioma: en) Os modelos multimodais gratuitos agora estão disponíveis no Flowwise. Após atualizar o Flowwise para a versão mais recente, você verá que o nó chat Olamo agora contém a opção "Permitir upload de imagens". ### Sumário Com a opção "Permitir upload de imagens" no nó chat Olamo, agora é possível extrair dados estruturados de imagens utilizando o modelo de visão Loma 3. 2, que é um modelo multimodal livre e de origem Meta. # Demonstração de Fatura: Extraindo Informações de Faturas Usando Flowwise AI Este guia mostra como criar um fluxo de conversação para extrair informações de faturas usando Flowwise AI. ## Criando o Fluxo de Conversação ### Adicionando Nós e Cadeias 1. Adicione um novo fluxo de conversação e nomeie-o "Demo de Fatura". 2. Clique em "Adicionar Nós" e depois em "Cadeias". 3. Use o nó `addle mchain` para uma saída estruturada. 4. Adicione o modelo de linguagem grande usando o nó `chat olama` e conecte-o ao `addle mchain`. 5. Conecte um modelo de prompt de entrada ao `addle mchain` para personalizar a entrada. ### Configurando o Modelo 1. Defina o nome do modelo como `lama 3. 2-vision`. 2. Ative "Permitir uploads de imagens" para selecionar imagens da sua máquina. 3. Adicione um analisador de saída estruturada para uma estrutura de saída JSON. ### Extraindo Informações da Fatura 1. No modelo de prompt de entrada, crie uma variável chamada `input` para passar texto da janela de chat. 2. Atribua um valor à variável `input` para capturar a pergunta da janela de chat. 3. Extraia informações específicas da fatura, como o `valor total da fatura` e `endereço de entrega (ship2address)`. ### Testando o Fluxo de Conversação 1. Carregue uma imagem de fatura. 2. Escreva uma pergunta na janela de chat, por exemplo, "Olá". 3. Verifique se recebe uma resposta, indicando que a ligação entre Flowwise e o modelo LLama está funcionando. ### Parse de Anexos (Opcional) 1. Vá para "Pontos de Extensão da API" para ver o ponto de extremidade para interagir com este fluxo. 2. Chame a API fora de Flowwise para extrair faturas de uma aplicação externa e extrair qualquer informação. ## Construindo um Assistente de Conversação 1. Crie uma nova cadeia de conversação. 2. Adicione o modelo de linguagem grande usando o nó `chat olama` e conecte-o à cadeia de conversação. 3. Ative "Permitir uploads de imagens" para o modelo de conversação. 4. Adicione memória à cadeia usando o nó `buffer memory`. ### Testando o Assistente de Conversação 1. Carregue uma imagem. 2. Peça ao assistente para descrever a imagem. 3. Verifique a resposta para verificar se o assistente é capaz de descrever a imagem. ## Fluxo Multidirecional (Assistente de Miniaturas) 1. Crie um novo fluxo multidirecional e nomeie-o "Assistente de Miniaturas". 2. Adicione agentes sequenciais e crie três nós LLM: `miniatura`, `títulos` e `resumo`. 3. Conecte os agentes uns aos outros e configure suas propriedades. 4. Salve o fluxo e teste-o carregando uma miniatura e inserindo uma descrição de vídeo. O resultado final fornecerá uma descrição detalhada dos conteúdos da miniatura, cinco ideias de títulos para o vídeo e uma recomendação para o melhor título baseado na descrição da miniatura. Boa sorte explorando estes modelos LLM 3. 2 e verifique [Vídeo 35](https://www.youtube.com/watch?v= # Exemplo demonstrando upload de imagem e reconhecimento de fala em um modelo de chat ## Vídeo 36: [Link](https://www.youtube.com/watch?v=RHQH7sQHs4I) (Idioma: en) > Por exemplo, você já saberia que você pode permitir que os usuários enviem imagens ao ativar esse funcionamento `allow images upload` nos alguns modelos de chat? Isso permite-nos enviar uma imagem para o chat ao clicar no botão `add image`. Para este exemplo, vamos enviar esta `menu` para este restaurante fictício e vamos perguntar ao modelo qual é o nome do restaurante. Então vamos entrar: `What is the name of the restaurant? ` e conseguimos ter a resposta correta de volta. ## Vídeo 36: [Link](https://www.youtube.com/watch?v=RHQH7sQHs4I) (Idioma: en) > Um recurso útil para fluxos de chat maiores é a implementação de notas adesivas. Podemos adicionar notas adesivas à nossa tela à esquerda ao clicar em `add notes` sob `utilidades` e em seguida `sticky note`. Pode-se mover estas notas adesivas ao redor da tela e podemos deixar notas para nós mesmos. > > Por exemplo, se quiséssemos substituir esta nota adesiva `buffer memory` por uma nota `Rus` em vez disso, podemos simplesmente mudar o texto e deixar uma nota para nós mesmos. Estas podem ser muito úteis para manter a trilha de certas decisões ou Tarefas no fluxo de chat. ## Vídeo 37: [Link](https://www.youtube.com/watch?v=BKPh1oOOrcw) (Idioma: en) > Vamos uploadar esta `Meme` e vamos dizer que explainemos o meme. Esta explicação é 100% correta. > > Sabia que você pode habilitar o reconhecimento de fala também? Isso permitirá que o usuário pergunte perguntas usando sua voz. Podemos habilitar isso ir para `settings` > `configuration` e depois de clicar no menu `speech to text` sob `providers`. Vamos selecionar `open AI` neste exemplo. Opcionalmente, podemos definir o idioma, o que melhorará a precisão do modelo. ## Vídeo 38: [Link](https://www.youtube.com/watch?v=rPyFCKr-XEI) (Idioma: en) > Estamos começando com `rate limiting`. Poderíamos utilizar o `rate limiting` para impedir que os usuários floodem nosso bot de chat enviando várias mensagens e aumentando seus custos. Podemos definir o `rate limiting` ir para `settings` > `configuration` e depois de ir para a guia `rate limiting`. ## Vídeo 39: [Link](https://www.youtube.com/watch?v=99KNlLiYMho) (Idioma: en) > Eu queria criar este curto vídeo para mostrar como extrair texto de documentos PDF, especificamente, extrair texto de imagens incorporadas ao documento PDF. Por exemplo, temos este documento simples que tem uma imagem incorporada, então eu realmente não consigo selecionar nenhum deste texto, e também temos algum texto normal também. > > Para carregar este documento no Flow-Wise, poderíamos estar tentados a usar o carregador de arquivos PDF, mas o problema com este carregador é que ele somente extrai quaisquer elementos de texto dentro do arquivo PDF e não o texto da imagem. Neste vídeo, vou mostrar um carregador diferente que pode ser usado para extrair não só este texto, mas também texto de qualquer imagem incorporado neste documento. > > Poderíamos usar o `Unstructured API`, e esta é uma ferramenta aberto-source que você pode hospedar por conta própria gratuitamente, ou se você não quiser hospedar isso, você pode usar seu serviço cloud pagante através de sua API. E vou mostrar ambos os aplicações durante o curso deste vídeo, mas imagine que a maioria de vocês têm intenção de hospedar isso. Então vamos ver isso primeiro. > > Você pode ir para este [repo do GitHub](https://github.com/microsoft/unstructured-pdf) e vou linkar a ele na descrição deste vídeo. E você pode ver que esta API é capaz de processar múltiplas diferentes tipos de arquivos, incluindo documentos PDF. E o que é único nisso é que quando carregamos um documento PDF, ele extrairá tanto o texto normal quanto o texto de imagens incorporadas ao documento também. > > Agora, para hospedar anofeira, precisamos ter o Docker instalado em nossa máquina. A forma mais simples é baixar o Docker Desktop. Então vá até [Docker. com](https://www.docker.com/) e baixe e instale o Docker para seu sistema operacional. Em seguida, inicie o Docker Desktop e você deve ver uma lista de todos os contêineres disponíveis. E desta vez, essa lista deverá estar vazia, mas isso é muito perfeito. Como a primeira etapa é baixar a imagem de container para o unstructured, copie esse comando e neste prompt de comando ou terminal, cole-o e pressione enter para baixar essa imagem: > > ``` > docker pull mcr. microsoft. com/azure-samples/cognitive-services-async/unstructured-parser: latest > ``` > > Após o download da imagem, podemos agora carregar este contêiner Docker usando o seguinte comando e executar-o no prompt de comando também: > > ``` > docker run -it --rm --name unstructured-parser mcr. microsoft. com/azure-samples/cognitive-services-async/unstructured-parser: latest > ``` > > Agora, quando voltamos para o Docker Desktop, podemos ver que o unstructured API está em execução em porta 8000 com o status de em execução. Agora podemos simplesmente voltar para o Flow-Wise e em vez do carregador de arquivos PDF, vamos adicionar um carregador de documentos e escolher o carregador de arquivo de unestruturado. Não precisamos de credenciais se estivermos hospedando isso por nós mesmos, mas faremos vista determina aAPI cloud deles em breve, onde precisaremos providenciar esses dados. Agora podemos carregar o nosso arquivo e em vez de nomear o URL, vamos entrar com `localhost: 8000` e sem mudanças em nada, podemos visualizar e, por padrão, estamos obtendo o texto do documento, mas não estamos vendo o texto da imagem. Portanto, podemos fazer, em vez disso, mudar a estratégia para `high res` e quando clicarmos em Preview agora, estamos sabendo o texto da imagem incorporada também. Pode-se ver o texto da imagem incorporada aqui e também podemos ver o texto normal aparecendo. > > Se não quiser hospedar isso por conta própria, você pode usar facilmente o serviço cloud deles à porta [unstructured. io](https://unstructured.io/), então clique em `log in`, então automaticamente entrar com quaisquer destes provedores e depois de entrar, você irá receber esta tela principal. Em seguida, clique em seu nome de perfil, em seguida, clique em `account settings` e dessa tela você pode obter a URL e as credenciais do API. Então copie a URL e no nosso carregador de documento no Flow-wise, selecione o carregador de documento de Unstructurado, depois coloque esta URL e agora precisamos fornecer os dados. Assim, toque no painel de drop-down, clique em `create new`, dê-lhe um nome, por exemplo, `unstructured API tutorial`, depois entre em unstructured e crie uma nova chave ou copie o valor de qualquer chave, coloque no Flow-wise, clique em `add` e em seguida selecione essa credencial. Podemos também carregar um arquivo, em seguida, mude a estratégia para `high res` e em seguida clique em `Preview chunks` e, como com o container de hospedagem anofeira, podemos ver o texto voltando do PDF, imagem incorporada também. Se este vídeo foi útil, por favor, toque no botão de gostar e inscreva-se no meu canal para mais conteúdo do Flow-wise. ## Vídeo 40: [Link](https://www.youtube.com/watch?v=FZI7osnUmxA) (Idioma: en) > Neste vídeo, vou mostrar-lhe como extrair texto de documentos PDF especificamente o texto texto de imagens incorporadas ao PDF documento usando a API de unstructured e a AI de Flow-wise. > > Estamos com um documento PDF com uma imagem incorporada, então eu realmente não consigo selecionar nenhum deste texto, e também temos algum texto normal. Para carregar este documento no [Flow-wise](https://flow-wise.com/) você pode estar tentado a usar o carregador de arquivos PDF, mas o problema com este carregador é que ele somente extrai quaisquer elementos de texto dentro do documento PDF e não o texto da imagem. Em vez de usar este PDF file loader let's add a document loader and let's select the UNstructured file loader. > > Agora podemos carregar nossa arquivo e mude a estratégia de `Auto` para `high res` e quando clicarmos agora em Preview podemos ver o texto da imagem incorporada também. ## Vídeo 41: [Link](https://www.youtube.com/watch?v=1T_hZg-Alv8) (Idioma: en) > Flowise oferece suporte a uma variedade grande de provedores de serviços e modelos de linguagem maior. E apesar disso, pode se tornar difícil gerenciar todos esses diferentes contas de API e chaves. Mas o que se você me dissesse que poderia acessar todos esses modelos com uma chave de API única, e muitos deles completamente gratuitos? Aqui está o que faz o ajuste um game changer. > > Você tem acesso a vários modelos gratuitos ideais para estudar e testar. Amanha-se ao término de trabalhar com contas de provedores múltiplos e para alternar entre estes diferentes modelos não pode ser mais fácil. Neste vídeo vou mostrar como combinar Flow-wise AI com OpenRouter para acessar milhares de modelos de IA, desde GPT-4 até Claude, para coisas abertas, todas através de uma chave de API única. > > Antes de mostrar a solução poderosa que estou apresentando, vou mostrá-lo por que a maioria dos usuários de Flow-wise têm suas vidas complicadas de maneira desnecessária. Aqui temos este monitor que eu coloquei todos os diferentes provedores compatíveis com Flow-wise. E você pode notar que para cada um dos nós, precisamos conectar chave de API, isto é, ter que adicionar uma nova chave de API e armazenar em arquivo de chaves de configuração no Flow-wise. Para isso, você também precisa ir para o site do provedor, como OpenAI ou Anthropic, e criar uma conta, adicionar some credits ou pagamento, gerar a API key e em seguida adicionar em Flow-wise. E você precisará fazer praticamente o mesmo passo para cada um dos nós que você vê neste quadro. E você tem que manter lembrança de consumo dos seus créditos em cada uma dessas contas, e isso pode facilmente se tornar para custo a os aos olhos rápidos. > > Não havia um nó no Flow-wise que a maioria dos usuários parecem ter ignorado, mas é mais poderoso que todos estes outros nós combinados. Então podemos ir para chat models, em vez de adicionar nenhum desses provedores, podemos simplesmente adicionar o nó de chat Custom de OpenAI. E este nó parece e se sente muito diferente ao nó de chat OpenAI normal com uma diferença apenas uma. Nesse nó, podemos ir para Parâmetros adicionais e especificar um caminho diferente. Isso significa que não vamos apontar para os servidores do OpenAI, mas em vez disso podemos ligar para outros provedores como OpenRouter e vou mostrar com isso em alguns minutos. Você terá que notar que não vai haver um drop-down para selecionar destes modelos, mas em vez disso podemos selecionar de média 280 diferentes modelos disponíveis em OpenRouter e simplesmente entrar com o nome desse modelo nesse campo. E podemos ver todos esses diferentes modelos que estão disponíveis em OpenRouter indo até esta página do OpenRouter e clicando em Models. Aqui podemos ver que há cerca de 280 modelos, e essa lista cresce continuamente. Então podemos entrar com algo como OpenAI para obter acesso a todos os modelos de GBT, ou claro, podemos entrar com Claude e obter acesso a todos os modelos de Claude também. > > Agora é a parte que me surpreendeu mais sobre a OpenRouter, e isso poderá salvar você várias centenas de dólares em custos de desenvolvimento. Como PLS already showed you, a OpenRouter oferece acesso aos modelos de aprimoramento em massa, mas o que você poderia fazer era ir até esta barra de descricação de solo e reduzir isso para zero e isso irá listar todos os modelos gratuitos que você pode executar sem dinheiro. E isso dá acesso a Gemini, os modelos LLM3. 2 e muito mais, fazendo-o uma plataforma ideal para aprender a desenvolver aplicações IA sem dinheiro. > > O processo de configuração é muito simples, mas existe um passo crítico que você deve executar corretamente. Começando com a criação da conta OpenRouter. Vá até o OpenRouter. ai e clique em entrar. Em seguida, crie uma conta usando este modelo de inicialização. Após a autenticação, vá para sua interface Pessoas e clique em Chaves. Então crie uma nova chave, no meu vídeo, vou chamar minha chave demonstração de YouTube, e então clique em crie. Em seguida, copiem este código de API, volte para o Flow-wise. Então na nossa caixa de texto Custom de AI do OpenAI, clique na aba de drop-down, clique em create new, dê-lhe um nome, como, por exemplo, OpenRouter YouTube demo, então tenha uma pausa em API Key e clique em add. Em seguida, você precisa apontar esse nó para a OpenRouter. Para isso, vai para parâmetros adicionais, ent # Documentação para o uso de Modelos com Flow-wise Vá para o caminho de base e podemos obter o caminho de base indo até o OpenRouter. Clique no **docs** para navegar lá. Desceda levemente e você poderá encontrar o URL base no **código de exemplo**. Simplesmente cópie este URL e adicione-o ao caminho de base em Flow-wise. Feche esta caixa de diálogo e especifique um **nome do modelo** que é crítico, especialmente se estiver a planear usar modelos gratuitos. Por exemplo, ao procurar um modelo como llama 3. 2, clique no nome do modelo e, por padrão, dá-lhe o nome do modelo gratuito. No entanto, é importante notar que pode alterar isso para gratuito para padrão, e para o modelo padrão, existe um custo para chamar este modelo. O principal diferente entre o modelo gratuito e o modelo padrão é que o modelo gratuito, na minha experiência, não dá suporte a chamada de ferramentas. Isso não significa que é assim para todos os modelos, por isso **definham seu próprio testing** . Se você encontrar problemas relacionados à chamada de ferramentas, então tente mudar para o modelo padrão, ou use um modelo como Claude ou GPT. Para ilustrar os casos de uso diferentes, criei dois demos diferentes: 1. **Demo de upload de arquivo: ** Este demo permite que o usuário carregue um arquivo a partir de sua máquina, e depois pode pergar qualquer pergunta sobre este arquivo, usando a conexão Open Router. Neste demo, um modelo gratuito como llama 3. 2 seria bemideal. Para usar este modelo, copie o nome do modelo clicando neste botão ou copiando esta string, depois adicione-o a Flow-wise. Salve esta flow, e na caixa de mensagens, eu vou carregar este relatório financeiro da Apple, e agora podemos perguntar uma pergunta como: "Quais eram os ativos da Apple em 2023? " e claro, receberemos uma resposta de volta. 2. **Demo de troca de modelo: ** Se quisermos trocar llama para alguma coisa como Claude 3 ou OpenAI, não precisamos mais alterar este nó inteiro. Todo o que precisamos fazer é ir para Open Router, pesquisar o modelo desejado (e. g. GPT 4. 0), copiar esta versão do modelo e então trocar llama 3. 2 para GPT 4. 0. Pode agora salvar este, limpar a caixa de mensagens, reiniciar o upload do arquivo, e enviar novamente a mesma pergunta, e podemos ver agora como GPT 4 responderia a mesma pergunta, sem precisar alterar nenhum nó, mudar credenciais, ou outra coisa do estilo. É importante notar que o Open Router também dá suporte à chamada de ferramentas. Aqui, temos um exemplo usando GPT 4. 0 em Open Router, e também temos uma **ferramenta de recuperação** que acessa uma base de informações de vetores, bem como uma calculadora de ferramenta. Para usar nossa ferramenta de agente, pergunte uma pergunta como: "Quais eram os ativos da Apple em 2024? " e receberemos a resposta, e podemos ver que a ferramenta de recuperação foi de fato chamada, junto com as citações. Deve-se manter em mente que não todos os modelos dão suporte à chamada de ferramentas, e você receberá um erro quando a chamada de ferramentas não é suportada. Para resolver problemas relacionados às AI modelos geralmente lançando coisas ou mentindo, é crítico seguir um padrão específico que a maioria dos usuários de Flow-wise não enfatizam. Clique no vídeo na sua tela agora para saber como fazer sua ajuda para cambistas inteligentes auto-corrigir e eliminar completamente a mentira. ## Vídeo [Vídeo 42](https://www.youtube.com/watch?v=RY7__OlBQuI) (Idioma: Inglês) Imagine criando um assistente inteligente personalizável em menos de 5 minutos sem escrever uma linha de código. O Flowwise just lançou uma característica revolucionária que me permite fazê-lo exatamente o que estou descrevendo. Acabaram com os dias de fluxos de chat complexos e de configurações de nó aninhadas. Estou por aqui para te ensinar a construir assistentes inteligentes potentes com apenas alguns cliques. Nesta tutoriais, vou ensinar como criar um assistente inteligente que pode acessar a sua base de conhecimento, tem acesso às ferramentas, bem como às ferramentas personalizadas que você cria, e podemos integrá-la em qualquer lugar – como sites, APIs ou mesmo como um app independente. Tudo isso acontece numa tela única. Atualize sua instância de Flowwise para a versão mais recente ou superior, que deveria ser 2. 2. 2. Então vá até Assistentes, e você deve agora ver o cartão de Assistentes personalizados. Ao clicar no cartão, você pode ver todas as diferentes Assistentes personalizadas que criou hoje. Crie um novo Assistente personalizado e dê-lhe um nome. Em seguida, clique em Adicionar para adicionar este Assistente. Em vez de ter que adicionar um grande número de nós ao canva, simplesmente siga os passos na tela. Selecione um modelo de qualquer um destes proveedores. Neste demo, estou utilizando chatOpenAI. Também podemos adicionar algumas instruções de sistema para este Assistente, ou podemos usar Generate para nos ajudar a escrever a instrução do sistema, e nós voltaremos ao assunto em segundo plano. Também podemos adicionar uma base de conhecimento para este Assistente clicando nesta seta, e então podemos selecionar qualquer uma das bases de conhecimento dentro de nossos repositórios de documentos. Quando estivermos prontos, podemos começar a interagir com este Assistente. Pergunte sobre a base de conhecimento, como: "Quais foram as lucrativas da Apple em 2023? " e receberemos uma resposta de volta juntamente com as citações, confirmando que a Base de Conhecimento foi de fato usada. Outra funcionalidade útil é que podemos utilizar este modelo inteligente para nos ajudar a escrever as nossas próprias instruções de sistema. Então, em Instruções de Sistema, clique em Generate e obtemos algumas plantas para selecionar, ou podemos entrar directamente escrever nossos próprios prompts. Por último, vamos para as Ferramentas. Adicione um **buscador de web** a meu Assistente e use **Serp API**. Salve este Assistente, e na caixa de mensagens, pergunte algo como "Que é a última notícia sobre a IA? " e obtenhamos esta resposta de volta, que não parece tão boa no modo escuro. Altere para o modo claro, podemos ver realmente todas estas respostas, e podemos ver suas fontes e podemos clicar em "Read More" para acessar o artigo original diretamente. Nas configurações, configurações, possamos adicionar coisas como o limitador de taxa, prompts de início, prompts de seguimento, syntétise de texto, feedback de chat, chain de linguagem, coleta de informações de contato e uploads de ficheiros. Para acessar este Assistente fora de Flow-wise, clique no botão de ponto de interface API e obter várias integração que podemos realizar com este Assistente. Embed este Assistente em qualquer site utilizando esta API embed, ou ver toda a API por aqui na scroll menu. Ou se você estiver muito preguiçoso, você pode ir para chatbot compartilhado, torná-lo público, dê-lhe um nome e agora é tudo o que você precisa fazer – copiar este URL e abrir diretamente no seu navegador. Se você gosteria de aprender como implementar o Flow-wise na nuvem sem precisar se preocupar com a infraestrutura e escalabilidade, então consulte este vídeo (link provido acima). Vou te ver na próxima. 