langchain-sdk-patterns

LangChain SDK Patterns

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "langchain-sdk-patterns" with this command: npx skills add jeremylongshore/claude-code-plugins-plus-skills/jeremylongshore-claude-code-plugins-plus-skills-langchain-sdk-patterns

LangChain SDK Patterns

Overview

Production-ready patterns for LangChain applications including LCEL chains, structured output, and error handling.

Prerequisites

  • Completed langchain-install-auth setup

  • Familiarity with async/await patterns

  • Understanding of error handling best practices

Core Patterns

Pattern 1: Type-Safe Chain with Pydantic

from pydantic import BaseModel, Field from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate

class SentimentResult(BaseModel): """Structured output for sentiment analysis.""" sentiment: str = Field(description="positive, negative, or neutral") confidence: float = Field(description="Confidence score 0-1") reasoning: str = Field(description="Brief explanation")

llm = ChatOpenAI(model="gpt-4o-mini") structured_llm = llm.with_structured_output(SentimentResult)

prompt = ChatPromptTemplate.from_template( "Analyze the sentiment of: {text}" )

chain = prompt | structured_llm

Returns typed SentimentResult

result: SentimentResult = chain.invoke({"text": "I love LangChain!"}) print(f"Sentiment: {result.sentiment} ({result.confidence})")

Pattern 2: Retry with Fallback

from langchain_openai import ChatOpenAI from langchain_anthropic import ChatAnthropic from langchain_core.runnables import RunnableWithFallbacks

primary = ChatOpenAI(model="gpt-4o") fallback = ChatAnthropic(model="claude-3-5-sonnet-20241022") # 20241022 = date/version stamp

Automatically falls back on failure

robust_llm = primary.with_fallbacks([fallback])

response = robust_llm.invoke("Hello!")

Pattern 3: Async Batch Processing

import asyncio from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate

llm = ChatOpenAI(model="gpt-4o-mini") prompt = ChatPromptTemplate.from_template("Summarize: {text}") chain = prompt | llm

async def process_batch(texts: list[str]) -> list: """Process multiple texts concurrently.""" inputs = [{"text": t} for t in texts] results = await chain.abatch(inputs, config={"max_concurrency": 5}) return results

Usage

results = asyncio.run(process_batch(["text1", "text2", "text3"]))

Pattern 4: Streaming with Callbacks

from langchain_openai import ChatOpenAI from langchain_core.callbacks import StreamingStdOutCallbackHandler

llm = ChatOpenAI( model="gpt-4o-mini", streaming=True, callbacks=[StreamingStdOutCallbackHandler()] )

Streams tokens to stdout as they arrive

for chunk in llm.stream("Tell me a story"): # Each chunk contains partial content pass

Pattern 5: Caching for Cost Reduction

from langchain_openai import ChatOpenAI from langchain_core.globals import set_llm_cache from langchain_community.cache import SQLiteCache

Enable SQLite caching

set_llm_cache(SQLiteCache(database_path=".langchain_cache.db"))

llm = ChatOpenAI(model="gpt-4o-mini")

First call hits API

response1 = llm.invoke("What is 2+2?")

Second identical call uses cache (no API cost)

response2 = llm.invoke("What is 2+2?")

Output

  • Type-safe chains with Pydantic models

  • Robust error handling with fallbacks

  • Efficient async batch processing

  • Cost-effective caching strategies

Error Handling

Standard Error Pattern

from langchain_core.exceptions import OutputParserException from openai import RateLimitError, APIError

def safe_invoke(chain, input_data, max_retries=3): """Invoke chain with error handling.""" for attempt in range(max_retries): try: return chain.invoke(input_data) except RateLimitError: if attempt < max_retries - 1: time.sleep(2 ** attempt) continue raise except OutputParserException as e: # Handle parsing failures return {"error": str(e), "raw": e.llm_output} except APIError as e: raise RuntimeError(f"API error: {e}")

Resources

  • LCEL Documentation

  • Structured Output

  • Fallbacks

  • Caching

Next Steps

Proceed to langchain-core-workflow-a for chains and prompts workflow.

Instructions

  • Assess the current state of the Langchain Sdk Patterns configuration

  • Identify the specific requirements and constraints

  • Apply the recommended patterns from this skill

  • Validate the changes against expected behavior

  • Document the configuration for team reference

Examples

Basic usage: Apply langchain sdk patterns to a standard project setup with default configuration options.

Advanced scenario: Customize langchain sdk patterns for production environments with multiple constraints and team-specific requirements.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

tracking-crypto-prices

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

aggregating-crypto-news

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

tracking-crypto-derivatives

No summary provided by upstream source.

Repository SourceNeeds Review