langchain-dependencies

安装量: 1.7K
排名: #945

安装

npx skills add https://github.com/langchain-ai/langchain-skills --skill langchain-dependencies

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 Requirement Python TypeScript / Node Runtime minimum Python 3.10+ Node.js 20+ LangChain 1.0+ (LTS) 1.0+ (LTS) LangSmith SDK

= 0.3.0 = 0.3.0 Framework Choice Framework When to use Core extra package LangGraph Need fine-grained graph control, custom workflows, loops, or branching langgraph / @langchain/langgraph Deep Agents Want batteries-included planning, memory, file context, and skills out of the box deepagents (depends on LangGraph; installs it as a transitive dep) Both sit on top of langchain + langchain-core + langsmith . Core Packages Python — always required Package Role Min version langchain Agents, chains, retrieval 1.0 langchain-core Base types & interfaces (peer dep) 1.0 langsmith Tracing, evaluation, datasets 0.3.0 Python — orchestration (pick one) Package Use when Min version langgraph Building custom graphs directly 1.0 deepagents Using the Deep Agents framework latest Python — model providers (pick the one(s) you use) Package Provider langchain-openai OpenAI (GPT-4o, o3, …) langchain-anthropic Anthropic (Claude) langchain-google-genai Google (Gemini) langchain-mistralai Mistral langchain-groq Groq (fast inference) langchain-cohere Cohere langchain-fireworks Fireworks AI langchain-together Together AI langchain-huggingface Hugging Face Hub langchain-ollama Ollama (local models) langchain-aws AWS Bedrock langchain-azure-ai Azure 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. Package Adds Notes langchain-tavily Tavily web search ( TavilySearch ) Dedicated integration package; prefer latest langchain-text-splitters Text chunking utilities Semver, keep current langchain-community 1000+ integrations (fallback) NOT semver — pin to minor series faiss-cpu FAISS vector store (local) Via langchain-community ; use latest langchain-chroma Chroma vector store Dedicated integration package; prefer latest langchain-pinecone Pinecone vector store Dedicated integration package; prefer latest langchain-qdrant Qdrant vector store Dedicated integration package; prefer latest langchain-weaviate Weaviate vector store Dedicated integration package; prefer latest langsmith[pytest] pytest plugin for LangSmith Requires 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 Package Role Min version @langchain/core Base types & interfaces (peer dep) 1.0 langchain Agents, chains, retrieval 1.0 langsmith Tracing, evaluation, datasets 0.3.0 TypeScript — orchestration (pick one) Package Use when Min version @langchain/langgraph Building custom graphs directly 1.0 deepagents Using the Deep Agents framework latest TypeScript — model providers (pick the one(s) you use) Package Provider @langchain/openai OpenAI (GPT-4o, o3, …) @langchain/anthropic Anthropic (Claude) @langchain/google-genai Google (Gemini) @langchain/mistralai Mistral @langchain/groq Groq (fast inference) @langchain/cohere Cohere @langchain/aws AWS Bedrock @langchain/azure-openai Azure OpenAI @langchain/ollama Ollama (local models) TypeScript — common tool & retrieval packages Package Adds Notes @langchain/tavily Tavily web search ( TavilySearch ) Dedicated integration package; prefer latest @langchain/community Broad set of community integrations Use sparingly; prefer dedicated packages @langchain/pinecone Pinecone vector store Dedicated integration package; prefer latest @langchain/qdrant Qdrant vector store Dedicated integration package; prefer latest @langchain/weaviate Weaviate vector store Dedicated 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 Add your model provider, e.g.: langchain-openai langchain-anthropic langchain-google-genai 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" } } 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" } } 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. 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 group Versioning Safe upgrade strategy langchain , langchain-core Strict semver (1.0 LTS) Allow minor: =1.0,<2.0 langgraph / @langchain/langgraph Strict semver (v1 LTS) Allow minor: =1.0,<2.0 langsmith Strict semver Allow minor: =0.3.0 Dedicated integration packages (e.g. langchain-tavily , langchain-chroma ) Independently versioned Allow minor updates; use latest langchain-community NOT semver Pin exact minor: =0.4.0,<0.5.0 deepagents Follow project releases Pin 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

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 CORRECT: LangChain 1.0 LTS langchain>=1.0,<2.0 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). 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 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. // CORRECT: always list @langchain/core explicitly { "dependencies": { "@langchain/core": "^1.0.0", "@langchain/langgraph": "^1.0.0" } } 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"

返回排行榜