LangChain & LangGraph (Miniguia-Estudos-NotebookLM(Gemini Notebook))
Contexto e Objetivos:
O assunto escolhido foram os frameworks LangChain e LangGraph. O objetivo foi reunir informação para apoiar a obtenção de conhecimento a respeito.
Curadoria de Fontes:
FONTES DE VÍDEO:
https://www.youtube.com/watch?v=vwlRzUddey4
https://www.youtube.com/watch?v=1bUy-1hGZpI
https://www.youtube.com/watch?v=Hp9--P6t0QQ
https://www.youtube.com/watch?v=GCQl9RFns_0
https://www.youtube.com/watch?v=kouzOffHqAE
https://www.youtube.com/watch?v=95P8eGRAeGg
https://www.youtube.com/watch?v=xTmU8ZImUO8
https://www.youtube.com/watch?v=657Agkgga44
https://www.youtube.com/watch?v=cDn7bf84LsM
https://www.youtube.com/watch?v=ldBsvhjEREc
https://www.youtube.com/watch?v=J7j5tCB_y4w
https://www.youtube.com/watch?v=8LBL28JqXfw
https://www.youtube.com/watch?v=nAmC7SoVLd8&list=PLeo1K3hjS3uu0N_0W6giDXzZIcB07Ng_F
https://www.youtube.com/watch?v=mAa9lnK3HQw&list=PLZibr6lRx3W9KD-Tt2LyQOSLgsj5xWT1
https://www.youtube.com/watch?v=z30BJFWe89c
https://www.youtube.com/watch?v=qAF1NjEVHhY
FONTES de TEXTO:
https://github.com/langchain-ai/langchain
https://www.ibm.com/br-pt/think/topics/langchain
https://aws.amazon.com/pt/what-is/langchain/
https://cloud.google.com/use-cases/langchain
https://pythonacademy.com.br/blog/o-que-e-e-como-funciona-o-langchain
https://pt.wikipedia.org/wiki/LangChain
https://www.coursera.org/articles/what-is-langchain
https://www.ibm.com/think/topics/langchain
https://www.truefoundry.com/pt/blog/langchain
Prompts:
Alguns prompts trabalhados:
Qual é a diferença fundamental entre LangChain e LangGraph? Como integrar LangChain e LangGraph? Como integrar N8n com LangChain e Langgraph ?
Glossário:
Este glossário apresenta os principais conceitos do ecossistema LangChain e LangGraph, baseando-se nas definições e funcionalidades descritas nas fontes. Conceitos Fundamentais
LangChain: Um framework de orquestração de código aberto projetado para facilitar o desenvolvimento de aplicações alimentadas por modelos de linguagem grandes (LLMs) . Ele atua como o "tecido conjuntivo" que conecta esses modelos ao mundo real, dados e ferramentas .
LLM (Large Language Model): Motores de processamento de linguagem natural, como GPT-4 ou Gemini, que geram textos e executam tarefas baseadas em linguagem . No LangChain, são tratados como componentes modulares que podem ser facilmente trocados .
Abstração: A simplificação de processos complexos em componentes nomeados (como funções e classes), permitindo que desenvolvedores criem aplicações com menos código e sem precisar gerenciar APIs diretamente .
Componentes do LangChain
Cadeias (Chains): Sequências de ações automatizadas que conectam LLMs a outros componentes para realizar tarefas específicas
. O fluxo padrão é linear (DAG - Gráfico Acíclico Dirigido), onde cada etapa segue a anterior .
Prompt Templates: Modelos reutilizáveis que permitem estruturar instruções para o LLM de forma consistente, substituindo variáveis dinamicamente (como nomes ou tópicos) durante a execução .
Memória (Memory): Mecanismo que permite à aplicação armazenar e recuperar o histórico de interações anteriores, garantindo que o assistente mantenha o contexto e a coerência na conversa .
Output Parsers (Analisadores de Saída): Componentes responsáveis por estruturar a resposta bruta do modelo em formatos utilizáveis, como strings limpas ou JSON .
LCEL (LangChain Expression Language): Uma linguagem declarativa que utiliza o operador pipe (|) para encadear componentes de forma legível e eficiente .
Agentes e Ferramentas
Agentes (Agents): Sistemas onde o LLM atua como um "mecanismo de raciocínio", decidindo de forma autônoma quais passos seguir e quais ferramentas utilizar para atingir um objetivo .
Ferramentas (Tools): Funções ou APIs que dão à IA capacidades reais, como realizar buscas na internet (Google Search), fazer cálculos matemáticos (Wolfram Alpha) ou consultar bancos de dados .
ReAct: Um padrão de raciocínio (Reasoning and Acting) onde o agente executa um ciclo de pensamento, ação e observação até resolver a tarefa .
Dados e Recuperação (RAG)
RAG (Retrieval Augmented Generation): Técnica que busca informações em fontes de dados externas e as fornece como contexto ao LLM antes de gerar uma resposta, reduzindo alucinações e aumentando a precisão .
Embeddings: Representações numéricas de texto em forma de vetores que permitem ao sistema agrupar e buscar informações por similaridade semântica .
Vector Store (Banco de Dados Vetorial): Armazenamento especializado para embeddings que possibilita buscas rápidas em grandes volumes de dados (ex: Chroma, FAISS) . Document Loaders: Módulos que permitem importar dados de diversos formatos e fontes, como PDFs, planilhas Excel ou páginas da web .
Orquestração Avançada (LangGraph)
LangGraph: Uma extensão do LangChain voltada para a criação de fluxos de trabalho agênticos cíclicos e com estado persistente, permitindo que a IA retorne a passos anteriores ou execute loops de reflexão .
Estado (State): Uma estrutura de dados compartilhada e global que armazena todas as informações do fluxo, acessível e modificável por todos os componentes do grafo .
Nós (Nodes): As funções ou componentes individuais dentro de um grafo que executam lógicas ou chamadas de modelo .
Arestas (Edges): Conexões que definem o caminho de execução entre os nós, podendo ser condicionais baseadas no estado atual .
Human-in-the-loop: Capacidade nativa do LangGraph de pausar a execução, salvar o estado e aguardar uma confirmação ou edição manual feita por um humano antes de prosseguir .
Checkpointers: Sistemas que gravam o estado da aplicação a cada passo, permitindo persistência e funcionalidades como o "Time Travel" (voltar a um ponto anterior para correção) .
Observabilidade
LangSmith: Plataforma para monitorar, depurar, testar e avaliar a performance de agentes e cadeias em produção, oferecendo visibilidade sobre o custo, latência e traces de execução