Install and configure LangChain SDK with provider authentication. Use when setting up a new LangChain project, configuring API keys for OpenAI/Anthropic/Google, or initializing @langchain/core in Node.js or Python. Trigger: "install langchain", "setup langchain", "langchain auth", "configure langchain API key", "langchain credentials".
84
82%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Set up LangChain SDK packages and configure provider authentication. Covers the modular @langchain/* package ecosystem for Node.js/TypeScript and langchain-* packages for Python.
set -euo pipefail
# Core + one provider (pick what you need)
npm install @langchain/core @langchain/openai
# Additional providers
npm install @langchain/anthropic # Claude models
npm install @langchain/google-genai # Gemini models
npm install @langchain/community # 100+ community integrations
# Common companions
npm install @langchain/textsplitters # Text chunking for RAG
npm install @langchain/pinecone # Pinecone vector store
npm install zod # Schema validation (structured output)set -euo pipefail
pip install langchain langchain-core
# Provider packages (install only what you need)
pip install langchain-openai # ChatOpenAI, OpenAIEmbeddings
pip install langchain-anthropic # ChatAnthropic
pip install langchain-google-genai # ChatGoogleGenerativeAI
pip install langchain-community # Community integrations# Create .env file (add to .gitignore!)
cat > .env << 'ENVEOF'
# OpenAI — https://platform.openai.com/api-keys
OPENAI_API_KEY=sk-...
# Anthropic — https://console.anthropic.com/
ANTHROPIC_API_KEY=sk-ant-...
# Google — https://aistudio.google.com/apikey
GOOGLE_API_KEY=AI...
# LangSmith (optional but recommended) — https://smith.langchain.com
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=lsv2_...
LANGSMITH_PROJECT=my-project
ENVEOF
echo '.env' >> .gitignoreimport { ChatOpenAI } from "@langchain/openai";
import { ChatAnthropic } from "@langchain/anthropic";
import "dotenv/config";
// OpenAI
const openai = new ChatOpenAI({ model: "gpt-4o-mini", temperature: 0 });
const res1 = await openai.invoke("Say 'OpenAI connected'");
console.log("OpenAI:", res1.content);
// Anthropic
const anthropic = new ChatAnthropic({ model: "claude-sonnet-4-20250514" });
const res2 = await anthropic.invoke("Say 'Anthropic connected'");
console.log("Anthropic:", res2.content);import os
from dotenv import load_dotenv
load_dotenv()
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
# OpenAI
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
print(llm.invoke("Say 'connected'").content)
# Anthropic
llm2 = ChatAnthropic(model="claude-sonnet-4-20250514")
print(llm2.invoke("Say 'connected'").content)@langchain/core # Base abstractions: Runnables, prompts, output parsers
├── @langchain/openai # ChatOpenAI, OpenAIEmbeddings
├── @langchain/anthropic # ChatAnthropic
├── @langchain/google-genai # ChatGoogleGenerativeAI
├── @langchain/community # 100+ integrations
├── @langchain/pinecone # PineconeStore
├── @langchain/textsplitters # RecursiveCharacterTextSplitter
└── langchain # High-level: agents, chains, toolsEvery @langchain/* package depends on @langchain/core. You never import from langchain directly for base types -- always use @langchain/core for prompts, output parsers, messages, and runnables.
| Error | Cause | Fix |
|---|---|---|
Cannot find module '@langchain/openai' | Package not installed | npm install @langchain/openai |
AuthenticationError: Incorrect API key | Invalid or missing key | Check .env and dotenv/config import |
Could not import @langchain/core | Version mismatch | Ensure all @langchain/* packages share same minor version |
RateLimitError | Quota exceeded | Check provider dashboard, implement backoff |
ENOTFOUND api.openai.com | Network blocked | Check firewall/proxy settings |
# Check installed versions (all should share same minor)
npm ls @langchain/core
# Fix version conflicts
npm install @langchain/core@latest @langchain/openai@latest @langchain/anthropic@latestAfter successful auth, proceed to langchain-hello-world for your first chain.
4dee593
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.