Skip to main content

Langchain

Welcome to LangChain - 🦜🔗 LangChain 0.0.180

Langchain Modules

python -m pip install --upgrade langchain[llm]
pip install chromadb
pip install pypdf

pip install chainlit
chainlit hello

chainlit run document_qa.py

Langchain vs LlamaIndex

Both LangChain & LlamaIndex offer distinct approaches to implementing RAG workflows.

LangChain follows a modular pipeline starting with Document Loaders that handle various file formats, followed by Text Splitters for chunk management, and Embeddings for vector creation.

It then utilizes Vector Stores like SingleStore, FAISS or Chroma for storage, a Retriever for similarity search, and finally, an LLM Chain for response generation. This framework emphasizes composability and flexibility in pipeline construction.

On the other hand, LlamaIndex begins with Data Connectors for multi-source loading, employs a Node Parser for sophisticated document processing, and features diverse Index Construction options including vector, list, and tree structures.

It implements a Storage Context for persistent storage, an advanced Query Engine for retrieval, and Response Synthesis for context integration. LlamaIndex specializes in data indexing and retrieval, offering more sophisticated indexing structures out of the box, while maintaining a focus on ease of use with structured data.

The key distinction lies in their approaches: LangChain prioritizes customization and pipeline flexibility, while LlamaIndex emphasizes structured data handling and advanced indexing capabilities, making each framework suitable for different use cases in RAG implementations.

No matter what AI framework you pick, I always recommend using a robust data platform like SingleStore that supports not just vector storage but also hybrid search, low latency, fast data ingestion, all data types, AI frameworks integration, and much more.

image

A Beginner’s Guide to Building LLM-Powered Applications with LangChain! - DEV Community

Understanding LlamaIndex in 9 Minutes! - YouTube

https://cloud.llamaindex.ai/

LangGraph

Getting Started

Quickstart - Docs by LangChain

  1. Define tools and model
  2. Define state
  3. Define model node
  4. Define tool node
  5. Define end logic
  6. Build and compile the agent

Thinking in LangGraph - Docs by LangChain

Start with the process you want to automate

  1. Step 1: Map out your workflow as discrete steps
  2. Step 2: Identify what each step needs to do
    1. LLM steps
    2. Data steps
    3. Action steps
    4. User input steps
  3. Step 3: Design your state
    1. What belongs in state?
      1. Include in state - Does it need to persist across steps? If yes, it goes in state.
      2. Don't store - Can you derive it from other data? If yes, compute it when needed instead of storing it in state.
    2. Keep state raw, format prompts on-demand
  4. Step 4: Build your nodes
    1. Handle errors appropriately
    2. Implementing our email agent nodes
  5. Step 5: Wire it together

LangGraph workflow

Courses

LangSmith