langchain-dependencies

โดย langchain-ai

ใช้ทักษะนี้เมื่อตั้งค่าโปรเจกต์ใหม่ หรือเมื่อถูกถามเกี่ยวกับเวอร์ชันแพ็กเกจ การติดตั้ง หรือการจัดการ dependencies สำหรับ LangChain, LangGraph,…

npx skills add https://github.com/langchain-ai/skills-benchmarks --skill langchain-dependencies
The LangChain ecosystem is split into focused, independently-versioned packages. Understanding which packages you need — and their version constraints — prevents incompatibilities and keeps upgrades predictable.

Key principles:

  • LangChain 1.0 is the current LTS release. Always start new projects on 1.0+. LangChain 0.3 is legacy maintenance-only — do not use it for new work.
  • langchain-core is the shared foundation: always install it explicitly alongside any other package.
  • langchain-community (Python only) does NOT follow semantic versioning; pin it conservatively.
  • LangGraph vs Deep Agents: choose one orchestration approach based on your use case — they are alternatives, not a required stack (see Framework Choice below).
  • Provider integrations (model, vector store, tools) are installed separately so you only pull in what you use.

Environment Requirements

RequirementPythonTypeScript / Node
Runtime minimumPython 3.10+Node.js 20+
LangChain1.0+ (LTS)1.0+ (LTS)
LangSmith SDK>= 0.3.0>= 0.3.0

Framework Choice

Pick **one** agent orchestration layer. You do not need both.
FrameworkWhen to useCore extra package
LangGraphNeed fine-grained graph control, custom workflows, loops, or branchinglanggraph / @langchain/langgraph
Deep AgentsWant batteries-included planning, memory, file context, and skills out of the boxdeepagents (depends on LangGraph; installs it as a transitive dep)

Both sit on top of langchain + langchain-core + langsmith.


Core Packages

Python — always required

PackageRoleMin version
langchainAgents, chains, retrieval1.0
langchain-coreBase types & interfaces (peer dep)1.0
langsmithTracing, evaluation, datasets0.3.0

Python — orchestration (pick one)

PackageUse whenMin version
langgraphBuilding custom graphs directly1.0
deepagentsUsing the Deep Agents frameworklatest

Python — model providers (pick the one(s) you use)

PackageProvider
langchain-openaiOpenAI (GPT-4o, o3, …)
langchain-anthropicAnthropic (Claude)
langchain-google-genaiGoogle (Gemini)
langchain-mistralaiMistral
langchain-groqGroq (fast inference)
langchain-cohereCohere
langchain-fireworksFireworks AI
langchain-togetherTogether AI
langchain-huggingfaceHugging Face Hub
langchain-ollamaOllama (local models)
langchain-awsAWS Bedrock
langchain-azure-aiAzure AI Foundry

Python — common tool & retrieval packages

These packages have tighter compatibility requirements — use the latest available version unless you have a specific reason not to.

PackageAddsNotes
langchain-tavilyTavily web search (TavilySearch)Dedicated integration package; prefer latest
langchain-text-splittersText chunking utilitiesSemver, keep current
langchain-community1000+ integrations (fallback)NOT semver — pin to minor series
faiss-cpuFAISS vector store (local)Via langchain-community; use latest
langchain-chromaChroma vector storeDedicated integration package; prefer latest
langchain-pineconePinecone vector storeDedicated integration package; prefer latest
langchain-qdrantQdrant vector storeDedicated integration package; prefer latest
langchain-weaviateWeaviate vector storeDedicated integration package; prefer latest
langsmith[pytest]pytest plugin for LangSmithRequires langsmith >= 0.3.4

langchain-community stability note: This package is NOT on semantic versioning. Minor releases can contain breaking changes. Prefer dedicated integration packages (e.g. langchain-chroma, langchain-tavily) when they exist — they are independently versioned and more stable.

TypeScript — always required

PackageRoleMin version
@langchain/coreBase types & interfaces (peer dep)1.0
langchainAgents, chains, retrieval1.0
langsmithTracing, evaluation, datasets0.3.0

TypeScript — orchestration (pick one)

PackageUse whenMin version
@langchain/langgraphBuilding custom graphs directly1.0
deepagentsUsing the Deep Agents frameworklatest

TypeScript — model providers (pick the one(s) you use)

PackageProvider
@langchain/openaiOpenAI (GPT-4o, o3, …)
@langchain/anthropicAnthropic (Claude)
@langchain/google-genaiGoogle (Gemini)
@langchain/mistralaiMistral
@langchain/groqGroq (fast inference)
@langchain/cohereCohere
@langchain/awsAWS Bedrock
@langchain/azure-openaiAzure OpenAI
@langchain/ollamaOllama (local models)

TypeScript — common tool & retrieval packages

PackageAddsNotes
@langchain/tavilyTavily web search (TavilySearch)Dedicated integration package; prefer latest
@langchain/communityBroad set of community integrationsUse sparingly; prefer dedicated packages
@langchain/pineconePinecone vector storeDedicated integration package; prefer latest
@langchain/qdrantQdrant vector storeDedicated integration package; prefer latest
@langchain/weaviateWeaviate vector storeDedicated integration package; prefer latest

@langchain/core must be installed explicitly in yarn workspaces and monorepos — it is a peer dependency and will not always be hoisted automatically.


Minimal Project Templates

Minimal dependency set for a LangGraph project (provider-agnostic). ``` # requirements.txt langchain>=1.0,<2.0 langchain-core>=1.0,<2.0 langgraph>=1.0,<2.0 langsmith>=0.3.0

Add your model provider, e.g.:

langchain-openai

langchain-anthropic

langchain-google-genai

</python>
</ex-langgraph-python>

<ex-langgraph-typescript>
<typescript>
Minimal package.json dependencies for a LangGraph project (provider-agnostic).
```json
{
  "dependencies": {
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "@langchain/langgraph": "^1.0.0",
    "langsmith": "^0.3.0"
  }
}
Minimal dependency set for a Deep Agents project (provider-agnostic). ``` # requirements.txt deepagents # bundles langgraph internally langchain>=1.0,<2.0 langchain-core>=1.0,<2.0 langsmith>=0.3.0

Add your model provider, e.g.:

langchain-anthropic

langchain-openai

</python>
</ex-deepagents-python>

<ex-deepagents-typescript>
<typescript>
Minimal package.json dependencies for a Deep Agents project (provider-agnostic).
```json
{
  "dependencies": {
    "deepagents": "latest",
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "langsmith": "^0.3.0"
  }
}
Adding Tavily search and a vector store to a LangGraph project. ``` # requirements.txt langchain>=1.0,<2.0 langchain-core>=1.0,<2.0 langgraph>=1.0,<2.0 langsmith>=0.3.0

Web search

langchain-tavily # use latest; partner package, semver

Vector store — pick one:

langchain-chroma # use latest; partner package, semver

langchain-pinecone # use latest; partner package, semver

langchain-qdrant # use latest; partner package, semver

Text processing

langchain-text-splitters # use latest; semver

Your model provider:

langchain-openai / langchain-anthropic / etc.

</python>
</ex-with-tools-python>

<ex-with-tools-typescript>
<typescript>
Adding Tavily search and a vector store to a LangGraph project.
```json
{
  "dependencies": {
    "@langchain/core": "^1.0.0",
    "langchain": "^1.0.0",
    "@langchain/langgraph": "^1.0.0",
    "langsmith": "^0.3.0",
    "@langchain/tavily": "latest",
    "@langchain/pinecone": "latest"
  }
}

Versioning Policy & Upgrade Strategy

Package groupVersioningSafe upgrade strategy
langchain, langchain-coreStrict semver (1.0 LTS)Allow minor: >=1.0,<2.0
langgraph / @langchain/langgraphStrict semver (v1 LTS)Allow minor: >=1.0,<2.0
langsmithStrict semverAllow minor: >=0.3.0
Dedicated integration packages (e.g. langchain-tavily, langchain-chroma)Independently versionedAllow minor updates; use latest
langchain-communityNOT semverPin exact minor: >=0.4.0,<0.5.0
deepagentsFollow project releasesPin to tested version in production

Breaking changes only happen in major versions (1.x → 2.x) for all semver-compliant packages. Deprecated features remain functional across the entire 1.x series with warnings.

Prefer dedicated integration packages over langchain-community. When a dedicated package exists (e.g. langchain-chroma instead of langchain-community's Chroma integration), use it — dedicated packages are independently versioned and better tested.

Community tool packages (Tavily, vector stores, etc.) should be kept at latest unless your project requires a locked environment. These packages frequently release compatibility fixes alongside LangChain/LangGraph updates.


Environment Variables

All keys are read from the environment at runtime. Set only the keys for services you actually use.
# LangSmith (always recommended for observability)
LANGSMITH_API_KEY=<your-key>
LANGSMITH_PROJECT=<project-name>   # optional, defaults to "default"

# Model provider — set the one(s) you use
OPENAI_API_KEY=<your-key>
ANTHROPIC_API_KEY=<your-key>
GOOGLE_API_KEY=<your-key>
MISTRAL_API_KEY=<your-key>
GROQ_API_KEY=<your-key>
COHERE_API_KEY=<your-key>
FIREWORKS_API_KEY=<your-key>
TOGETHER_API_KEY=<your-key>
HUGGINGFACEHUB_API_TOKEN=<your-key>

# Common tool/retrieval services
TAVILY_API_KEY=<your-key>          # for Tavily search
PINECONE_API_KEY=<your-key>        # for Pinecone

Common Mistakes

Never start a new project on LangChain 0.3. It is maintenance-only until December 2026. ``` # WRONG: legacy, no new features, security patches only langchain>=0.3,<0.4

CORRECT: LangChain 1.0 LTS

langchain>=1.0,<2.0

</fix-legacy-version>

<fix-community-unpinned>
`langchain-community` can break on minor version bumps — it does not follow semver.

WRONG: allows minor-version updates that may be breaking

langchain-community>=0.4

CORRECT: pin to exact minor series

langchain-community>=0.4.0,<0.5.0

Also consider switching to the equivalent dedicated integration package if one exists (e.g. `langchain-chroma` instead of the community Chroma integration).
</fix-community-unpinned>

<fix-community-tool-outdated>
Community tool packages like `langchain-tavily` and vector store integrations release compatibility fixes alongside LangChain updates. Using an old pinned version can cause import errors or broken tool schemas.

RISKY: old pin may be incompatible with LangChain 1.0

langchain-tavily==0.0.1

BETTER: allow latest within the current major

langchain-tavily>=0.1

</fix-community-tool-outdated>

<fix-community-import-deprecated>
Many tools that used to live in `langchain-community` now have dedicated packages with updated import paths. Always prefer the dedicated package import.

```python
# WRONG — deprecated community import path
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_community.tools import WikipediaQueryRun
from langchain_community.vectorstores import Chroma
from langchain_community.vectorstores import Pinecone

# CORRECT — use dedicated package imports
from langchain_tavily import TavilySearch                  # pip: langchain-tavily (TavilySearchResults is deprecated)
from langchain_community.tools import WikipediaQueryRun  # no dedicated pkg yet
from langchain_chroma import Chroma                       # pip: langchain-chroma
from langchain_pinecone import PineconeVectorStore        # pip: langchain-pinecone

To find the current canonical import for any integration, search the integrations directory: https://python.langchain.com/docs/integrations/tools/

Each entry shows the correct package and import path. If a dedicated package exists, use it — the community path may still work but is considered legacy.

`@langchain/core` is a peer dependency — it must be in your package.json, especially in monorepos. ```json // WRONG: missing @langchain/core (breaks in yarn workspaces / strict hoisting) { "dependencies": { "@langchain/langgraph": "^1.0.0" } }

// CORRECT: always list @langchain/core explicitly { "dependencies": { "@langchain/core": "^1.0.0", "@langchain/langgraph": "^1.0.0" } }

</typescript>
</fix-core-not-installed>

<fix-python-version>
<python>
Python 3.9 and below are not supported by LangChain 1.0.
```python
# Verify before installing
import sys
assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"
Node.js below 20 is not officially supported. ```bash # Verify before installing node --version # must be v20.x or higher ```

Skills เพิ่มเติมจาก langchain-ai

langgraph-docs
langchain-ai
เข้าถึงเอกสาร LangGraph เพื่อสร้างเอเจนต์ที่มีสถานะและเวิร์กโฟลว์แบบหลายเอเจนต์ ดึงข้อมูลเอกสาร Python อย่างเป็นทางการของ LangGraph ซึ่งครอบคลุมเครื่องจักรสถานะ การออกแบบเอเจนต์แบบกราฟ และรูปแบบมนุษย์ในวงจร จัดลำดับความสำคัญของเอกสารที่เกี่ยวข้องตามประเภทคำถาม: คู่มือการใช้งานสำหรับคำถามวิธีทำ หน้าคอนเซปต์สำหรับทฤษฎี บทช่วยสอนสำหรับตัวอย่างแบบครบวงจร และเอกสารอ้างอิง API สำหรับรายละเอียดทางเทคนิค เลือก URL เอกสารที่เกี่ยวข้องมากที่สุด 2–4 รายการโดยอัตโนมัติและดึงเนื้อหามาเพื่อตอบ...
official
langgraph-human-in-the-loop
langchain-ai
หยุดการทำงานของกราฟเพื่อให้มนุษย์ตรวจสอบ อนุมัติ หรือตรวจสอบความถูกต้อง จากนั้นดำเนินการต่อด้วยข้อมูลที่มนุษย์ป้อนเข้าไป ต้องมีสามองค์ประกอบ: ตัวตรวจสอบจุด (InMemorySaver หรือ PostgresSaver), ID เธรดใน config, และเพย์โหลดขัดจังหวะที่แปลงเป็น JSON ได้ interrupt(value) จะหยุดและแสดงข้อมูล; Command(resume=value) จะดำเนินการต่อและส่งคืนค่านั้นไปยังโหนดที่ถูกหยุด โค้ดทั้งหมดก่อน interrupt() จะถูกเรียกใช้ใหม่เมื่อดำเนินการต่อ ดังนั้นผลข้างเคียงต้องเป็น idempotent (ใช้ upsert ไม่ใช่ insert) รองรับเวิร์กโฟลว์การอนุมัติ...
official
web-research
langchain-ai
ใช้ทักษะนี้สำหรับคำขอที่เกี่ยวข้องกับการค้นคว้าทางเว็บ โดยมีแนวทางที่มีโครงสร้างเพื่อดำเนินการค้นคว้าทางเว็บอย่างครอบคลุม
official
langchain-oss-primer
langchain-ai
เริ่มต้นที่นี่เสมอสำหรับโปรเจกต์สร้างเอเจนต์ LangChain, Deep Agents หรือ LangGraph ใดๆ จุดเริ่มต้นที่จำเป็นก่อนเลือกสกิลอื่นหรือเขียนอะไรก็ตาม…
official
skill-creator
langchain-ai
คู่มือสำหรับสร้างสกิลที่มีประสิทธิภาพเพื่อขยายความสามารถของเอเจนต์ด้วยความรู้เฉพาะทาง เวิร์กโฟลว์ หรือการรวมเครื่องมือ ใช้สกิลนี้เมื่อผู้ใช้…
official
social-media
langchain-ai
ร่างโพสต์โซเชียลมีเดียเฉพาะแพลตฟอร์มพร้อมเนื้อหาที่มีงานวิจัยรองรับและภาพประกอบที่สร้างขึ้น รองรับโพสต์ LinkedIn (1,300 ตัวอักษรด้วยน้ำเสียงมืออาชีพ) และเธรด Twitter/X (280 ตัวอักษรต่อทวีตในรูปแบบ 1/🧵) ต้องมอบหมายการวิจัยให้กับซับเอเจนต์ก่อนเขียน จากนั้นอ่านผลลัพธ์เพื่อให้แน่ใจว่าถูกต้องและเกี่ยวข้อง สร้างภาพโซเชียลที่สะดุดตาโดยอัตโนมัติโดยใช้เครื่องมือ generate_social_image ด้วยองค์ประกอบที่โดดเด่นและคอนทราสต์สูงซึ่งปรับให้เหมาะสมสำหรับขนาดเล็ก...
official
deep-agents-memory
langchain-ai
ปลั๊กอินหน่วยความจำและแบ็กเอนด์ไฟล์สำหรับ Deep Agents พร้อมตัวเลือกการกำหนดเส้นทางแบบชั่วคราว ถาวร และแบบผสม แบ็กเอนด์สี่ประเภท: StateBackend (ขอบเขตเธรด, ชั่วคราว), StoreBackend (คงอยู่ข้ามเซสชัน), FilesystemBackend (เข้าถึงดิสก์จริงสำหรับการพัฒนาในเครื่อง) และ CompositeBackend (กำหนดเส้นทางพาธที่แตกต่างไปยังแบ็กเอนด์ที่แตกต่างกัน) FilesystemMiddleware มีเครื่องมือปฏิบัติการไฟล์หกอย่าง: ls, read_file, write_file, edit_file, glob, grep CompositeBackend ใช้การจับคู่คำนำหน้าที่ยาวที่สุดเพื่อกำหนดเส้นทาง...
official
deep-agents-orchestration
langchain-ai
จัดระเบียบเอเจนต์ย่อย วางแผนงานหลายขั้นตอน และต้องได้รับการอนุมัติจากมนุษย์สำหรับการดำเนินการที่ละเอียดอ่อน มอบหมายงานให้กับเอเจนต์ย่อยเฉพาะทางผ่านเครื่องมืองาน เอเจนต์ย่อยแบบกำหนดเองรองรับชุดเครื่องมือและพรอมต์ระบบที่แยกออกจากกัน ในขณะที่เอเจนต์ย่อย "วัตถุประสงค์ทั่วไป" เริ่มต้นจะสืบทอดการกำหนดค่าเอเจนต์หลัก วางแผนและติดตามเวิร์กโฟลว์ที่ซับซ้อนด้วย write_todos โดยจัดระเบียบงานในสถานะรอดำเนินการ กำลังดำเนินการ และเสร็จสมบูรณ์ ต้องใช้ thread_id เพื่อความต่อเนื่องในการเรียกใช้หลายครั้ง ดำเนินการ...
official