Skip to content

PedroGuth/curso-langchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

112 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LangChain - Curso Atualizado para v1.0

⚠️ ATUALIZAÇÃO PARA LANGCHAIN v1.0

Este curso foi originalmente desenvolvido com LangChain v0.3 e atualizado para a versão estável v1.0.

Mudanças principais aplicadas:

  • langchain.schemalangchain.messages / langchain_core.messages
  • langchain.text_splitterlangchain_text_splitters
  • langchain.document_loaderslangchain_community.document_loaders
  • langchain.promptslangchain_core.prompts
  • langchain_core.pydantic_v1pydantic (Pydantic v2)
  • RetrievalQA → LCEL com retriever | format_docs
  • create_tool_calling_agent + AgentExecutorcreate_agent
  • @validator@field_validator (Pydantic v2)
  • .get_relevant_documents().invoke()
  • chat([mensagem])chat.invoke([mensagem])

O código v0.3 original está comentado em cada célula para referência.


Descrição

Curso completo e prático com 17 módulos sobre LangChain v1.0. Desenvolvido por Pedro Nunes Guth, este curso apresenta os fundamentos essenciais para dominar a framework mais popular para desenvolvimento de aplicações com Large Language Models, desde conceitos básicos até implementações avançadas em produção.

Objetivos de Aprendizagem

Ao final deste curso, você será capaz de:

  • ✅ Compreender o que é LangChain e sua importância no ecossistema de IA
  • ✅ Trabalhar com ChatModels e diferentes provedores de LLMs
  • ✅ Dominar Runnables e LCEL (LangChain Expression Language)
  • ✅ Criar e gerenciar Prompt Templates e Output Parsers
  • ✅ Construir Chains complexas para sequenciar operações
  • ✅ Implementar sistemas de memória para conversas contextuais
  • ✅ Carregar e processar documentos com loaders e splitters
  • ✅ Trabalhar com Vector Stores e Embeddings
  • ✅ Implementar sistemas RAG (Retrieval-Augmented Generation)
  • ✅ Criar Agents inteligentes com Tools customizadas
  • ✅ Desenvolver projetos práticos completos
  • ✅ Fazer deploy de aplicações com Streamlit
  • ✅ Comparar versões e entender evolução do LangChain
  • ✅ Explorar LangGraph para fluxos complexos
  • ✅ Utilizar LangSmith para monitoramento e debugging

Estrutura do Curso

Módulo 1: Introdução - O que é LangChain e Por que Ele Ajuda Muito

Conceitos abordados:

  • Definição e importância do LangChain
  • Arquitetura e componentes principais
  • Casos de uso e aplicações práticas
  • Configuração do ambiente de desenvolvimento

Aplicações práticas:

  • Setup inicial do ambiente LangChain
  • Primeiros testes com a framework
  • Compreensão do ecossistema de IA

Módulo 2: ChatModels, Runnables e LCEL - Os Ingredientes Mágicos

Conceitos abordados:

  • ChatModels e diferentes provedores (Gemini, OpenAI, Anthropic)
  • Conceito de Runnables como base do LangChain v1.0
  • LCEL (LangChain Expression Language)
  • Configuração de APIs e modelos

Aplicações práticas:

  • Integração com diferentes LLMs
  • Criação de pipelines básicos
  • Implementação de fluxos de processamento

Módulo 3: Prompt Templates e Output Parsers - Estruturando Entrada e Saída

Conceitos abordados:

  • Criação de templates de prompts reutilizáveis
  • Output parsers para estruturar respostas
  • Few-shot learning e example selectors
  • Validação e formatação de saídas

Aplicações práticas:

  • Desenvolvimento de prompts eficazes
  • Estruturação de respostas de LLMs
  • Criação de templates personalizados

Módulo 4: Chains - Conectando os Pontos da IA

Conceitos abordados:

  • Conceito de Chains e sequenciamento
  • Tipos de chains (Sequential, Router, Custom)
  • Composição de componentes
  • Debugging e monitoramento de chains

Aplicações práticas:

  • Construção de fluxos complexos
  • Integração de múltiplos componentes
  • Criação de pipelines personalizados

Módulo 5: Memory Systems - A Memória dos Bots

Conceitos abordados:

  • Por que LLMs são stateless
  • Tipos de memória (Buffer, Window, Summary)
  • Implementação de sistemas de memória
  • Gerenciamento de contexto conversacional

Aplicações práticas:

  • Criação de chatbots com memória
  • Implementação de assistentes contextuais
  • Gerenciamento de conversas longas

Módulo 6: Document Loading e Splitters - Processando Informações

Conceitos abordados:

  • Document loaders para diferentes formatos
  • Text splitters e estratégias de divisão
  • Processamento de PDFs, textos e web pages
  • Otimização de chunks para RAG

Aplicações práticas:

  • Carregamento de documentos diversos
  • Preparação de dados para sistemas RAG
  • Processamento de grandes volumes de texto

Módulo 7: Vector Stores e Embeddings - Representando Conhecimento

Conceitos abordados:

  • Conceito de embeddings vetoriais
  • Vector stores (FAISS, Chroma, Pinecone)
  • Similaridade semântica e busca vetorial
  • Otimização de armazenamento e busca

Aplicações práticas:

  • Implementação de busca semântica
  • Criação de bases de conhecimento vetoriais
  • Otimização de performance de busca

Módulo 8: RAG Implementation - Transformando Documentos em Conversas

Conceitos abordados:

  • Arquitetura completa de sistemas RAG
  • Retrieval-Augmented Generation
  • Integração de componentes RAG
  • Otimização de qualidade de respostas

Aplicações práticas:

  • Desenvolvimento de assistentes baseados em documentos
  • Criação de sistemas de Q&A inteligentes
  • Implementação de chatbots especializados

Módulo 9: Agents e Tools - Quando a IA Ganha Superpoderes

Conceitos abordados:

  • Conceito de Agents e Tools
  • ReAct (Reasoning + Acting)
  • Criação de ferramentas customizadas
  • Integração com APIs externas

Aplicações práticas:

  • Desenvolvimento de assistentes autônomos
  • Criação de ferramentas especializadas
  • Implementação de agentes inteligentes

Módulo 10: Projeto Final 1 - Primeira Aplicação Completa

Conceitos abordados:

  • Integração de todos os conceitos aprendidos
  • Desenvolvimento de aplicação completa
  • Boas práticas de desenvolvimento
  • Estruturação de projetos

Aplicações práticas:

  • Criação de projeto real com LangChain
  • Implementação de sistema completo
  • Demonstração de competências adquiridas

Módulo 11: Projeto Final 2 - Aplicação Avançada

Conceitos abordados:

  • Aplicações mais complexas
  • Integração de múltiplos componentes
  • Otimização de performance
  • Tratamento de erros e edge cases

Aplicações práticas:

  • Desenvolvimento de aplicação avançada
  • Implementação de funcionalidades complexas
  • Consolidação de conhecimentos

Módulo 12: Deploy e Produção com Streamlit - Da Ideia à Realidade

Conceitos abordados:

  • Introdução ao Streamlit
  • Transformação de projetos em aplicações web
  • Deploy local e em nuvem
  • Boas práticas de produção

Aplicações práticas:

  • Criação de interfaces web
  • Deploy de aplicações LangChain
  • Publicação de projetos

Módulo 13: LangChain v1.0 vs v0.2 - Comparações e Evolução

Conceitos abordados:

  • Diferenças entre versões
  • Evolução da framework
  • Migração entre versões
  • Melhores práticas por versão

Aplicações práticas:

  • Comparação de implementações
  • Entendimento de evolução
  • Preparação para futuras versões

Módulo 14: LangGraph - Quando o Agente Precisa de um GPS

Conceitos abordados:

  • Conceito de LangGraph
  • Criação de fluxos complexos
  • Gerenciamento de estados
  • Coordenação de múltiplos agents

Aplicações práticas:

  • Desenvolvimento de fluxos avançados
  • Implementação de workflows complexos
  • Criação de sistemas multi-agent

Módulo 15: LangSmith - Monitoramento e Debugging

Conceitos abordados:

  • Introdução ao LangSmith
  • Monitoramento de aplicações
  • Debugging e troubleshooting
  • Análise de performance

Aplicações práticas:

  • Implementação de monitoramento
  • Debugging de aplicações
  • Otimização de performance

Competências Desenvolvidas

🔗 Fundamentos do LangChain

  • Compreensão profunda da framework LangChain v1.0
  • Domínio de Runnables e LCEL (LangChain Expression Language)
  • Trabalho com ChatModels e diferentes provedores de LLMs
  • Criação de Prompt Templates e Output Parsers

🏗️ Arquitetura e Componentes

  • Construção de Chains complexas
  • Implementação de sistemas de memória
  • Trabalho com Document Loaders e Text Splitters
  • Integração de Vector Stores e Embeddings

🤖 Sistemas Avançados

  • Implementação de sistemas RAG completos
  • Criação de Agents inteligentes com Tools
  • Desenvolvimento de fluxos com LangGraph
  • Monitoramento e debugging com LangSmith

🚀 Deploy e Produção

  • Transformação de projetos em aplicações web
  • Deploy com Streamlit
  • Boas práticas de produção
  • Comparação entre versões do LangChain

💻 Implementação Prática

  • Desenvolvimento de projetos completos
  • Integração de múltiplos componentes
  • Otimização de performance
  • Tratamento de erros e edge cases

Pré-requisitos

  • Conhecimento intermediário de Python
  • Familiaridade com conceitos básicos de machine learning
  • Noções de APIs e integração de serviços
  • Interesse em desenvolvimento de aplicações com IA

Metodologia

O curso combina:

  • Teoria fundamentada com explicações claras e analogias práticas
  • Implementação hands-on com código Python e LangChain v1.0
  • Projetos práticos conectando teoria com aplicações reais
  • Progressão gradual dos conceitos básicos até aplicações avançadas
  • Foco em produção com deploy e monitoramento
  • Comparação de versões para entender evolução da framework
  • Visualizações interativas para compreensão de fluxos complexos
  • Exemplos do mundo real com casos de uso práticos

Tecnologias Utilizadas

🤖 Modelos de Linguagem

  • Google Gemini 2.0 Flash (modelo principal do curso)
  • OpenAI GPT (comparações e alternativas)
  • Anthropic Claude (exemplos adicionais)

🔧 Frameworks e Bibliotecas

  • LangChain v1.0 (framework principal)
  • LangGraph (fluxos complexos)
  • LangSmith (monitoramento e debugging)
  • Streamlit (deploy e interfaces web)

💾 Armazenamento e Processamento

  • FAISS (vector stores)
  • Chroma (bases de dados vetoriais)
  • Pinecone (vector database em nuvem)
  • PyPDF (processamento de documentos)

🌐 APIs e Integrações

  • Google AI API (Gemini)
  • OpenAI API (GPT)
  • Wikipedia API (ferramentas de busca)
  • APIs customizadas (exemplos práticos)

Notebooks Gerados

Total de notebooks: 15

  1. modulo-01-introdução---o-que-é-langchain,-por-que-ele-ajuda-muito-e-o-que-vamos-ver-no-curso?-notebook.ipynb
  2. modulo-02-chatmodel-(gemini-2.0-flash-será-usado-no-curso-todo,-mas-temos-que-aprender-outras-opções),-runnables-e-lcel-notebook.ipynb
  3. modulo-03-prompt-template-e-outputparses-notebook.ipynb
  4. modulo-04-chains-notebook.ipynb
  5. modulo-05-memory-systems-notebook.ipynb
  6. modulo-06-document-loading-e-splitters-notebook.ipynb
  7. modulo-07-vector-store-e-embeddings-notebook.ipynb
  8. modulo-08-rag-implementation-notebook.ipynb
  9. modulo-09-agents-e-tools-notebook.ipynb
  10. modulo-10-projeto-final-1-notebook.ipynb
  11. modulo-11-projeto-final-2-notebook.ipynb
  12. modulo-12-deploy-e-produção-com-streamlit-notebook.ipynb
  13. modulo-13-refazendo-tudo-que-vimos-mas-na-versão-v1.0---com-comparações-notebook.ipynb
  14. modulo-14-e-o-langgraph?-notebook.ipynb
  15. modulo-15-e-o-langsmith?-notebook.ipynb

About

Tá no nome do repositório, meu amigo. Curso de LangChain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors