O que é LangGraph?

O que é LangGraph?

LangGraph é um framework de orquestração de código aberto que usa estruturas de grafos cíclicos para criar fluxos de trabalho complexos para agentes de IA. O framework LangGraph permite a recuperação de estado quando há alguma interrupção no processo, oferecendo persistência e auxiliando na escala da produção.

O LangGraph possibilita a observabilidade dos processos dentro de um fluxo de trabalho de IA, permitindo rastrear o fluxo de execução do agente

A funcionalidade de “estado” preserva a integridade das variáveis processadas em cada etapa (nó do fluxo) do sistema de IA. O sistema captura e atualiza os dados à medida que eles evoluem pelas etapas do grafo. 

A funcionalidade de “persistência” viabiliza que o sistema possa recuperar a última informação íntegra em caso de uma interrupção, impedindo que um erro em alguma etapa (nó) ocasione um retrabalho de todo o fluxo, garantindo continuidade a partir do último ponto validado.

Fluxo de trabalho do LangGraph
Fluxo de trabalho do LangGraph

Por exemplo, se você estivesse usando um sistema de agentes para monitorar o clima em uma estação de esqui, você poderia ter um fluxo simples em 3 nós (3 etapas): 

  1. Coletar dados brutos 
  2. Processar tendências de neve 
  3. Gerar alertas de segurança.

Caso o sistema seja interrompido após o nó número 2, o LangGraph permite que o reinício do processo aconteça a partir desse ponto, recuperando o estado íntegro das análises de tendências já realizadas, e continue em direção ao nó número 3.

Sem essa funcionalidade de persistência, o sistema teria que reiniciar todo o processo, gastando mais tempo e recursos para o processamento de tokens, gerando custos elevados e atrasos.

O LangGraph também foi desenvolvido com base em várias tecnologias importantes, incluindo o LangChain, um framework Python para a criação de aplicações de IA. O LangChain inclui uma biblioteca para criação e gerenciamento de LLMs. O LangGraph também usa a abordagem human-in-the-loop. Ao combinar essas tecnologias com um conjunto de APIs e ferramentas, o LangGraph fornece aos usuários uma plataforma versátil para o desenvolvimento de soluções e fluxos de trabalho de IA, incluindo chatbots, gráficos de estado e outros sistemas baseados em agentes.

Principais componentes do LangGraph

Vamos começar entendendo os principais componentes que formam o LangGraph. O framework é construído em torno de vários componentes que trabalham juntos para permitir que os usuários criem e gerenciem fluxos de trabalho complexos de IA. Esses componentes incluem:

Mecanismo de monitoramento

Human-in-the-loop: Human-in-the-loop (HITL) refere-se ao requisito de interação humana em algum ponto do processo. No âmbito do aprendizado de máquina (ML), o HITL se refere a um processo colaborativo em que os seres humanos aumentam os recursos computacionais das máquinas para tomar decisões informadas enquanto criam um modelo. Ao usar os pontos de dados mais críticos, o HITL aumenta a precisão dos algoritmos de aprendizado de máquina, superando os métodos de amostragem aleatória.

Arquitetura de gráficos

Gráficos com estado: um conceito em que cada nó do gráfico representa uma etapa na computação, basicamente criando um gráfico de estado. Essa abordagem com estado permite que o gráfico retenha informações sobre as etapas anteriores, possibilitando o processamento contínuo e contextual de informações à medida que a computação se desenrola. Os usuários podem gerenciar todos os gráficos com estado do LangGraph com suas APIs.

Gráfico cíclico: um gráfico cíclico é qualquer gráfico que contenha pelo menos um ciclo e seja essencial para os tempos de execução do agente. Isso significa que existe um caminho que começa e termina no mesmo nó, formando um ciclo dentro do gráfico. Fluxos de trabalho complexos geralmente envolvem dependências cíclicas, em que o resultado de uma etapa depende das etapas anteriores no ciclo.

Nós: no LangGraph, os nós representam componentes ou agentes individuais em um fluxo de trabalho de IA. Os nós podem ser considerados como "atores" que interagem uns com os outros de uma maneira específica. Por exemplo, para adicionar nós para chamadas de ferramentas, pode-se usar o ToolNode. Outro exemplo, o próximo nó, refere-se ao nó que será executado após o atual.

Edges: edges são uma função dentro do Python que determina qual nó será executado em seguida com base no estado atual. Edges podem ser desvios condicionais ou transições fixas.

Ferramentas

RAG: geração aumentada de recuperação (RAG) combina o poder dos LLMs com informações contextuais de fontes externas, recuperando documentos relevantes, que são então usados como entrada para geração de respostas.

Fluxos de trabalho: fluxos de trabalho são as sequências de interações de nós que definem um fluxo de trabalho de IA. Ao organizar os nós em um fluxo de trabalho, os usuários podem criar fluxos de trabalho mais complexos e dinâmicos, que usam os pontos fortes dos componentes individuais.

APIs: o LangGraph oferece um conjunto de APIs que permitem aos usuários interagir com seus componentes de maneira programática. Os usuários podem usar uma chave de API, adicionar novos nós, modificar fluxos de trabalho existentes e recuperar dados de um fluxo de trabalho de IA.

LangSmith: o LangSmith é uma API especializada para criar e gerenciar LLMs no LangGraph. Ele fornece ferramentas para inicializar LLMs, adicionar edges condicionais e otimizar o desempenho. Ao combinar esses componentes de maneiras inovadoras, os usuários podem criar fluxos de trabalho de IA mais sofisticados, que usam os pontos fortes de componentes individuais.

Como o LangGraph escala

Com uma arquitetura baseada em grafos, os usuários do LangGraph podem escalar fluxos de trabalho de inteligência artificial sem diminuir a velocidade nem sacrificar a eficiência. O LangGraph usa tomada de decisão aprimorada modelando relacionamentos complexos entre nós, o que significa que ele usa agentes de IA para analisar suas ações passadas e feedback. No mundo dos LLMs, esse processo é conhecido como reflexão.

Tomada de decisão aprimorada: ao modelar relacionamentos complexos entre nós, o LangGraph fornece um framework para a construção de sistemas de tomada de decisão mais eficazes.

Maior flexibilidade: natureza de código aberto e design modular para os desenvolvedores integrarem novos componentes e adaptarem os fluxos de trabalho existentes.

Fluxos de trabalho multiagentes: tarefas complexas podem ser resolvidas por meio de fluxos de trabalho multiagentes. Essa abordagem envolve a criação de agentes dedicados do LangChain para tarefas ou domínios específicos. O roteamento de tarefas para os agentes apropriados do LangChain permite a execução paralela e o tratamento eficiente de diversas cargas de trabalho. Essa arquitetura de rede multiagentes exemplifica a coordenação descentralizada da automação de agentes.

Um ótimo exemplo, criado por João Moura, é o uso do CrewAI com o LangChain e o LangGraph. A verificação de e-mails e a criação de rascunhos são automatizadas com o CrewAI orquestrando agentes de IA autônomos, permitindo que eles colaborem e executem tarefas complexas de forma eficiente.

Agentes de IA

Cinco tipos de agentes de IA: funções autônomas e aplicações no mundo real

Saiba como a IA orientada por objetivos e baseada em utilidade se adapta a fluxos de trabalho e ambientes complexos.

Casos de uso do LangGraph

Chatbots: os usuários podem criar uma aplicação agêntica para planejamento de férias, com fluxos de trabalho baseados em nós e gráficos acíclicos direcionados (DAGs). O chatbot aprende a responder a entradas mínimas do usuário e a personalizar recomendações. Atualmente, serviços como o Duplex do Google estão usando o LangGraph de forma semelhante para imitar conversas humanas.

Sistemas de agentes: o LangGraph oferece um framework para a criação de sistemas baseados em agentes, que podem ser usados em aplicações como robótica, veículos autônomos ou videogames.

Aplicações de LLMs: usando os recursos do LangGraph, os desenvolvedores podem construir modelos de IA mais sofisticados que aprendem e melhoram com o tempo. A Norwegian Cruise Line utiliza o LangGraph para compilar, construir e refinar soluções de IA voltadas para os passageiros. Esse recurso permite experiências aprimoradas e personalizadas para os clientes.

Integração de LLMs no LangGraph

Os agentes do LangGraph são baseados na série de modelos GPT (generative pretrained transformer) GPT-3.5 e GPT-4 da OpenAI. No entanto, o LangGraph e sua comunidade de código aberto contribuíram para a adição de vários outros modelos que se inicializam por meio da configuração de APIs dos LLMs, incluindo os modelos Anthropic e AzureChatOpenAI. O ciclo relativamente pequeno é semelhante a projetos como o Auto-GPT.

O LangGraph oferece um tutorial no YouTube que facilita a exploração de como se integrar aos LLMs de código aberto no site de documentos do GitHub. A primeira etapa para integrar um LLM é configurar um repositório (repo) de inferência, como LLaMA-Factory, FastChat e Ollama. Esse repositório permite a implementação do modelo de LLM correspondente, que é configurado por meio de suas credenciais de APIs.

Outros frameworks de agentes de IA

CrewAI, MetaGPT e AutoGen são apenas alguns frameworks multiagentes que podem lidar com fluxos de trabalho complexos. Essa operação permite uma abordagem mais flexível e diferenciada para enfrentar diversos desafios computacionais.

Ao oferecer recursos abrangentes de depuração, esses frameworks permitem que os desenvolvedores identifiquem e resolvam rapidamente problemas, levando a processos de desenvolvimento e otimização mais eficientes.

LangGraph Studio: uma interface visual para desenvolvimento de fluxos de trabalho

O LangGraph também lançou o LangGraph Studio, uma interface visual para o desenvolvimento de fluxos de trabalho. Com o LangGraph Studio, os usuários podem projetar e criar fluxos de trabalho usando uma interface gráfica, sem precisar escrever código. A aplicação de desktop para download torna o LangGraph Studio mais utilizável para iniciantes. O LangGraph Studio também disponibilizou estas funcionalidades adicionais:

Curva de aprendizagem rasa: o LangGraph Studio não é necessário para acessar o LangGraph. No entanto, ao usar a interface visual do LangGraph Studio, os usuários podem se concentrar no design dos fluxos de trabalho sem ficar sobrecarregados com código.

Colaboração aprimorada: o LangGraph Studio permite o compartilhamento de fluxos de trabalho com outras pessoas, seja uma equipe de desenvolvedores ou um cliente.

Depuração: os recursos não terminam com a construção de um gráfico; foram incluídas funcionalidades de depuração para garantir que o gráfico seja preciso e confiável. O LangGraph Studio, com seu ambiente de desenvolvimento integrado (IDE) de ponta, ajuda a visualizar e depurar aplicações do LangGraph.

Desenvolvimentos futuros

Processamento de linguagem natural (NLP) aprimorado: o LangGraph terá recursos de NLP mais avançados, o que lhe permitirá entender melhor a linguagem natural e fornecer respostas mais precisas.

Aprendizado de máquina aprimorado: o LangGraph terá recursos aprimorados de aprendizado de máquina, permitindo que aprenda e melhore com o tempo.

Compatibilidade com novas plataformas: o LangGraph será compatível com novas plataformas, como dispositivos móveis e edge computing, para tornar sua tecnologia mais acessível.

Soluções relacionadas
Desenvolvimento de agentes de IA da IBM 

Permita que desenvolvedores criem, implementem e monitorem agentes de IA com o IBM watsonx.ai studio.

 

Explore o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Se você optar por personalizar aplicativos e habilidades criados previamente ou criar e implementar serviços agênticos personalizados usando um estúdio de IA, a plataforma IBM watsonx tem aquilo de que você precisa.

Explore o watsonx Orchestrate Explore o watsonx.ai