Reconstruindo nosso assistente de IA no blog N8N – N8N

Reconstruindo nosso assistente de IA no blog N8N - N8N

Compartilhe esta postagem

Índice do Conteúdo

Receba nosso boletim

Novos contatos

nossa newsletter

Gostamos de beber nosso próprio champanhe na N8N; portanto, quando se tratava de reconstruir nosso assistente interno de IA, decidimos ver se poderíamos fazê -lo usando nossas próprias ferramentas. E como engenheiros que pensam no código, foi um desafio atraente se afastar da linha de comando e experimentar a construção de fluxos de trabalho. Levamos alguns meses, mas fizemos isso, e também com sucesso! Além disso, aprendemos algumas lições valiosas ao longo do caminho. Se você está planejando criar ferramentas de IA, esperamos que nossos empreendimentos sejam tão úteis para você quanto para nós.

Iterações duras e codificadas

Estávamos executando um assistente interno de IA com código duro há algum tempo, mas era complicado iterar e complexo demais para nossos colegas de PM. Se você quiser ajustar a lógica da IA, melhorar um prompt ou apenas viu um ganho de eficiência potencial, precisava mergulhar profundamente no código. No geral, era uma peça sólida de engenharia, mas inacessível para as pessoas que mais poderiam se beneficiar disso.

Gostamos das ferramentas que usamos para o assistente original da IA, então sabíamos que manteíamos Langchain para orquestração e ter tudo correndo no GPT-4. Mas, em última análise, queríamos ver se um caso de uso de IA tão complicado poderia ser construído apenas no N8N.

O assistente de IA

O Assistente de AI da N8N tem três casos de uso:

  1. Depuração de erros do usuário
  2. Respondendo a perguntas da linguagem natural em um formato de bate -papo
  3. Ajudando os usuários a configurar credenciais

No back -end, executamos duas grandes fontes vetoriais que compõem uma base de conhecimento interna (KB) – uma é a nossa documentação, a outra é o fórum da N8N. Instruímos nosso assistente a ler a documentação primeiro, para evitar alucinações e depois recorrer ao fórum para obter mais informações.

Configuramos nossos dados em pedaços. Cada pedaço é salvo com contexto para que o assistente possa entender qual parte de um documento está lendo e o contexto mais amplo que o envolve. Obviamente, automatizamos os fluxos de trabalho da N8N para raspar a documentação três vezes por semana para atualizar o banco de dados. Ao mesmo tempo, também raspamos o fórum para obter perguntas que possuem respostas correspondentes e as unimos no KB. Bebendo nosso próprio champanhe 😉

Tanto o serviço de IA quanto nossa instância interna em que os fluxos de trabalho vivem têm ambientes de desenvolvimento e produção, para que possamos trabalhar neles sem alterar diretamente as versões de produção.

Aqui está uma visão geral dos principais componentes do assistente:

Reconstruindo nosso assistente de IA no blog N8N - N8N
  1. N8N FRONTEM: Todas as mensagens enviadas por usuários da barra lateral de bate -papo assistentes são enviadas pela primeira vez ao nosso serviço de IA, que é um serviço da Web separado hospedado internamente.
  2. Serviço de IA: lida com a autenticação para as solicitações e chama N8N WebHook também com autenticação, por isso garantimos que o fluxo de trabalho aceite apenas solicitações do serviço de IA
  3. Fluxos de trabalho assistentes: hospedados em nossa instância interna. Há um fluxo de trabalho principal (gateway) que aceita chamadas e rotas de webhook para um agente específico, com base no modo de usuário.

Sob o capô, temos quatro agentes distintos que lidam com os casos de uso do assistente. Escolhemos essa configuração porque cada caso de uso requer contexto e ferramentas de entrada diferentes. Quando um usuário inicia o assistente, direcionamos a solicitação usando o nó do switch da N8N para um dos quatro agentes. A única desvantagem dessa abordagem é que, uma vez que um agente inicie um bate-papo do usuário, ele não pode mudar para outro agente durante a sessão, portanto o usuário precisa começar de novo.

Depuração de erros do usuário

Helper de erro genérico: Iniciado quando os usuários cliquem no botão Assista a Assistant no painel de saída do nó quando houver um erro no nó. Este agente é especializado em depurar erros do nó, tem contexto sobre o erro e o acesso à documentação do N8N e respostas do fórum

Código Erro do nó Helper: Especializado em erros de depuração no nó do código. Este agente é iniciado quando os usuários cliquem no botão Assista ASSISTANT No painel de saída do nó quando houver um erro no nó do código. Tem contexto sobre o código do usuário e o acesso à documentação N8N. Além de responder perguntas, esse agente também pode sugerir alterações de código e aplicá -las no nó atualmente aberto se o usuário o escolher.

Respondendo a perguntas da linguagem natural em um formato de bate -papo

Agente de suporte: responde às solicitações do usuário quando eles simplesmente abrem um bate -papo e começam a fazer perguntas. Este agente tem contexto sobre o que os usuários estão vendo atualmente (fluxo de trabalho e nós) e tem acesso à documentação N8N e respostas do fórum

Ajudando os usuários a configurar credenciais

Credenciais Helper: Iniciado quando os usuários cliquem no botão Ask Assistant no modal de credenciais. Este agente tem contexto sobre o nó atual e as credenciais dos usuários que eles desejam configurar e tem acesso à documentação da N8N

Implementação

Uma das coisas mais complicadas de trabalhar com a IA é que as respostas que produz podem ser completamente inesperadas. Faça uma pergunta de uma maneira e você receberá uma resposta correta. Mude algo tão pequeno quanto um nome ou número no prompt e você pode acabar com uma resposta extremamente diferente.

Para mitigar isso, começamos pequenos, testando um agente em um prompt de usuário como “Por que estou vendo isso?”. Percebemos rapidamente que precisávamos fornecer mais contexto porque o assistente não necessariamente digeria o que estava na tela do usuário antes de pesquisar no KB. Por isso, criamos uma ferramenta “Fluxo de trabalho”, que permite ao assistente coletar informações sobre um fluxo de trabalho específico.

Agora, quando os usuários perguntam algo sobre o fluxo de trabalho ou por que estão vendo algo especificamente sem explicar, o assistente pode usar a ferramenta “Informações do fluxo de trabalho” para puxar o erro ou o processo do contexto que está na tela do usuário. Hoje, nosso bate -papo de suporte está fornecendo respostas precisas, observando os esquemas que o usuário está visualizando e usando isso como parte de sua pesquisa. Incluímos um exemplo abaixo, para que você possa ver como o agente tem acesso a diferentes ferramentas para depurar problemas do usuário.

Reconstruindo nosso assistente de IA no blog N8N - N8N

Ai para avaliar ai

Salvamos execuções, para que todos os nossos traços estejam disponíveis diretamente no N8N, o que significa que temos um conjunto fantástico de traços internos para avaliar testes e alterações rápidas. Como temos um rico conjunto de dados de traços, pensamos ‘por que não usar a IA para acelerar o processo de iteração?’ e lançou um LLM para julgar as respostas que nosso LLM estava produzindo.

No entanto, cometemos um erro de novato em dar as mesmas instruções ao assistente e ao juiz: tornar as respostas úteis, acionáveis ​​e breves. Isso resultou na pontuação do juiz com todas as respostas perfeitamente. Então, iteramos um pouco na estrutura.

Internamente, temos um projeto de validação personalizado configurado em Langsmith, onde podemos executar o assistente contra diferentes solicitações de amostra de nossos traços e obter uma pontuação na qualidade da resposta. Isso nos permite testar diferentes prompts e modelos rapidamente. Foram necessárias muita experimentação para chegar a uma estrutura que funciona de maneira confiável e, é claro, toda vez que mudamos algo que temos para testá -la. Mas agora temos quase 50 casos de uso e podemos testar com mais precisão como nossas mudanças estão melhorando ou diminuindo a qualidade das respostas.

Hoje, o juiz LLM recebe um prompt de usuário e a saída do assistente, e julga e pontua a saída em relação a um conjunto de instruções, como ‘deve ser incluído, isso é uma alta prioridade, isso é acionável?’ etc. Até agora, a qualidade parece ser um pouco melhor do que o nosso modelo antigo!

Lições aprendidas

Lag do tempo está ok

Algo que percebemos desde o início é que os usuários não se importam em esperar alguns segundos para respostas úteis. Assumimos que um agente que levava 10 segundos para transmitir uma resposta seria uma barreira à adoção, mas não é nada. Portanto, embora tenhamos notado um ligeiro aumento nos tempos de resposta, não vimos uma diminuição na resolução de erros.

Itera, iterar, iterar!

Como engenheiros, frequentemente nos apoiamos em nossos sentimentos de código – você pode ver onde fazer ajustes e ver como o programa responde. Mas com a IA, você pode tentar fazer a mesma pergunta de uma maneira diferente e acabar com uma resposta completamente diferente. E às vezes você muda um aviso para descobrir que ele prova um caso de uso, mas piora outros três!

A IA é muito menos determinística, e a maneira como você avalia e evolui as respostas que está recebendo deve ser abordada com uma mentalidade diferente. A tentativa e o erro se tornaram o novo normal para nós, à medida que iteramos em todos os aspectos de nosso assistente para ver o que funcionaria. Embora isso tenha levado algum tempo, o investimento, em última análise, valeu a pena porque agora temos respostas de alta qualidade e os tempos de resposta continuam melhorando.

Ser aberto além do código

Somos engenheiros e foi reconhecidamente um desafio mudar nossa perspectiva de engenharia para passar do trabalho em código, para trabalhar em fluxos de trabalho. Esse projeto mudou completamente nossas mentes em abordagens de baixo código-foi muito mais fácil construir e migrar nosso assistente de IA do que imaginamos e estamos realmente impressionados com o sucesso deste projeto em um conjunto de dados de grande escala.

O que vem a seguir?

A notícia saiu muito rapidamente sobre o nosso novo assistente de IA, e a equipe de apoio da N8N já está aproveitando os fluxos de trabalho da KB e da AI que construímos para ver se eles podem melhorar a qualidade e a velocidade de suas respostas.

Agora estamos analisando como podemos aumentar as habilidades do nosso assistente de IA ao longo do tempo – como poder construir um fluxo de trabalho a partir de um prompt. E como configuramos tudo no N8N, também podemos experimentar facilmente diferentes LLMs para ações auxiliares. Também estamos pensando em apresentar outro agente de IA aos quatro que executamos atualmente, para que os usuários possam mudar de agente durante a sessão.

Dê uma volta

Somos entusiastas de código aberto – então é claro que publicamos fluxos de trabalho assistentes de IA! Dê uma olhada em alguns de nossos modelos populares abaixo e deixe -nos saber o que você pensa.

Rag Chatbot para documentos da empresa usando o Google Drive e Gemini
👉 Este fluxo de trabalho implementa um chatbot de geração aumentada (RAG) que responde às perguntas dos funcionários com base nos documentos da empresa armazenados no Google Drive.

Bamboohr AI Políticas e benefícios da empresa chatbot
👉 Esse fluxo de trabalho permite que as empresas forneçam suporte instantâneo de RH, automatizando respostas às consultas dos funcionários sobre políticas e benefícios.

Créditos Para n8n Oficial

Assine a nossa newsletter

Receba atualizações e aprenda com os melhores

explore mais conteúdo

aprenda mais com vídeos

você que impulsionar seu negócio?

entre em contato conosco e saiba como

contatos midiapro
small_c_popup.png

Saiba como ajudamos mais de 100 das principais marcas a obter sucesso

Vamos bater um papo sem compromisso!