/ Home

LangChain Basics and Intermediate

Note: LC HandsOn

CH01 LangChain Getting Started

  1. Follow the installation video report
  2. OpenAI API key issuance and testing
  3. LangSmith tracking settings
  4. Using the OpenAI API (GPT-4o multimodal)
  5. LangChain Expression Language (LCEL)
  6. LCEL interface
  7. Runnable

CH02 Prompt

  1. Prompt
  2. FewShotPromptTemplate
  3. LangChain Hub
  4. Personalized p rompt (uploaded to Hub)

CH03 Output Parsers

  1. Pydantic output parser (PydanticOutputParser)
  2. Comma SeparatedListOutputParser
  3. StructuredOuputParser
  4. JSON output parser (JsonOutputParser)
  5. Data frame output parser (PandasDataFrameOutputParser)
  6. Date format output parser (DatetimeOutputParser)
  7. EnumOutputParser
  8. OutputFixingParser

CH04 model (Model)

  1. LLM models available
  2. Caching (Cache)
  3. Model Serialization-Save and Call
  4. Check token usage
  5. Google Generative AI
  6. HuggingFace Endpoints
  7. HuggingFace Local
  8. HuggingFace Pipeline
  9. Olama
  10. GPT4ALL
  11. Video (Video) Quality Response LLM (Gemini)

CH05 memory (Memory)

  1. ConversationBufferMemory
  2. ConversationBufferWindowMemory
  3. ConversationTokenBufferMemory
  4. ConversationEntityMemory
  5. ConversationKGMemory
  6. Conversation SummaryMemory
  7. Vector Storage Search Memory (VectorStoreRetrieverMemory)
  8. Add memory to LCEL Chain
  9. Save chat to SQLite
  10. Add ChatMessageHistory to RunnableWithMessageHistory

CH06 Document Loader

  1. Structure of Document
  2. PDF
  3. Hangeul (HWP)
  4. CSV
  5. Excel
  6. Word
  7. PowerPoint
  8. Web document (WebBaseLoader)
  9. Text (TextLoader)
  10. JSON
  11. Arxiv
  12. UpstageLayoutAnalysisLoader
  13. LlamaParser

CH07 text split (Text Splitter)

  1. Character text split (CharacterTextSplitter)
  2. Securitic text text split (RecursiveCharacterTextSplitter)
  3. Token Text Split (TokenTextSplitter)
  4. Semantic chunker
  5. Code splitting (Python, Markdown, JAVA, C++, C#, GO, JS, Latex, etc.)
  6. Markdownheader Text Split (MarkdownheaderTextSplitter)
  7. Split HTML header text (HTMLHeaderTextSplitter)
  8. Regressive JSON split (RecursiveJsonSplitter)

CH08 Embedding

  1. OpenAIEmbeddings
  2. CacheBackedEmbeddings
  3. HuggingFace Embeddings
  4. UpstageEmbeddings
  5. OllamaEmbeddings
  6. GPT4ALL embedding
  7. Llama CPP embedding

CH09 VectorStore

  1. Chroma
  2. FAISS
  3. Pinecone CH10 finder (Retriever)
  4. VectorStore-backed Retriever
  5. Contextual CompressionRetriever
  6. EnsembleRetriever
  7. Long context rearrangement (LongContextReorder)
  8. ParentDocumentRetriever
  9. MultiQueryRetriever
  10. MultiVectorRetriever
  11. Self Query Retriever
  12. Time Weighted Vector StoreRetriever
  13. Hangeulocyte analyzer (Kiwi, Kkma, Okt) + BM25 finder
  14. EnsembleRetriever with Convex Combination (CC)

CH11 Reranker

  1. Cross Encoder Reranker
  2. Cohere Reranker
  3. Jina Reranker
  4. FlashRank Reranker

CH12 Retrieval Augmented Generation (RAG)

  1. PDF document based QA (Question-Answer)
  2. Naver News Agency QA (Question-Answer)
  3. Various module utilizers by function of RAG
  4. RAPTOR: Long Context Summary
  5. RAG chain to remember interactive

CH13 LangChain Expression Language (LCEL)

  1. RunnablePasstrough
  2. Runnable structure (graph) review
  3. RunnableLambda
  4. LLM chain routing (RunnableLambda, RunnableBranch)
  5. RunnableParallel
  6. Dynamic attribute assignment (configurable_fields, configurable_alternatives)
  7. Runnable configuration with @chain decorator
  8. RunnableWithMessageHistory
  9. Custom generator
  10. Runtime Arguments Binding
  11. Fallback model designation

CH14 chain (Chains)

  1. Document summary
  2. SQL
  3. Structured output chain (with_structed_output)

CH15 Evaluation (Evaluations)

  1. Synthetic test dataset generation (RAGAS)
  2. Evaluation using RAGAS
  3. Upload data set for evaluation generated (HuggingFace Dataset)
  4. LangSmith dataset generation
  5. LLM-as-Judge
  6. Embedding-based evaluation (embedding_distance)
  7. Custom LLM evaluation
  8. Rouge, BLEU, METEOR, SemScore based heuristic evaluation
  9. Experimental (Experiment) evaluation comparison
  10. Assessment of the summary method
  11. Groundedness (Halucination) Assessment
  12. Experimental comparison (Pairwise Evaluation)
  13. Repeat evaluation
  14. Automating evaluation using online evaluation

CH16 agent (Agent)

  1. Tools
  2. Tool Binding (Binding Tools)
  3. Agent
  4. Agent utilizing Claude, Gemini, Ollama, Together.ai
  5. Iteration function and human intervention (Human-in-the-loop)
  6. Agentic RAG
  7. CSVExcel Data Analysis Agent
  8. Toolkits Use Agent
  9. RAG + Image Generator Agent (Reporting)
  10. Discussion agent with tools (Two Agent Debates with Tools)

CH17 LangGraph

01. Core function

  1. Python grammar often appeared in LangGraph
  2. Build chatbots using LangGraph
  3. Building an Agent using LangGraph
  4. Add memory to Agent
  5. Node’s step-by-step streaming output
  6. Human-in-the-loop (human intervention)
  7. State correction and replay through reverting of intermediate intervention
  8. Add a node to ask a person
  9. Delete message (RemoveMessage)
  10. How to call a tool using ToolNode
  11. How to generate branches for parallel node execution
  12. How to add a conversation history summary
  13. How to add and use subgraphs
  14. How to convert input and output of subgraph
  15. Everything in LangGraph streaming mode

    02. Structure design

  16. Default graph generation
  17. Naive RAG
  18. Relevance Checker module added
  19. Add web search module
  20. Add query rewrite module
  21. Agentic RAG
  22. Adaptive RAG

    03. Use Cases

  23. Agent conversation simulation (customer response scenario)
  24. User-required port-based meta prompt generation agent
  25. CRAG (Corrective RAG)
  26. Self-RAG
  27. Plan-and-Execute
  28. Multi-Agent Collaboration Network
  29. Multi-Agent Supervisor
  30. Hierarchical Multi-Agent Teams
  31. Agent interacting with SQL database
  32. Multi-agent for research introducing the STORM concept

CH18 Other Information

  1. StreamEvent type theorem

Ref:

https://wikidocs.net/233343