run-llama/llama_index · critical · ImportError
`llama-index-embeddings-langchain` package not found, please
Error message
`llama-index-embeddings-langchain` package not found, please run `pip install llama-index-embeddings-langchain`
What it means
If the object passed as embed_model is an instance of LangChain's Embeddings class, resolve_embed_model wraps it in LangchainEmbedding — a wrapper living in the optional llama-index-embeddings-langchain integration. Without that package installed, the ImportError is raised with the install command.
Source
Thrown at llama-index-core/llama_index/core/embeddings/utils.py:126
embed_model = HuggingFaceEmbedding(
model_name=model_name, cache_folder=cache_folder
)
except ImportError:
raise ImportError(
"`llama-index-embeddings-huggingface` package not found, "
"please run `pip install llama-index-embeddings-huggingface`"
)
if LCEmbeddings is not None and isinstance(embed_model, LCEmbeddings):
try:
from llama_index.embeddings.langchain import (
LangchainEmbedding,
) # pants: no-infer-dep
embed_model = LangchainEmbedding(embed_model)
except ImportError as e:
raise ImportError(
"`llama-index-embeddings-langchain` package not found, "
"please run `pip install llama-index-embeddings-langchain`"
)
if embed_model is None:
print("Embeddings have been explicitly disabled. Using MockEmbedding.")
embed_model = MockEmbedding(embed_dim=1)
assert isinstance(embed_model, BaseEmbedding)
embed_model.callback_manager = callback_manager or Settings.callback_manager
return embed_model
View on GitHub (pinned to afd0fef371)
Solutions
- pip install llama-index-embeddings-langchain
- Or use the native equivalent (OpenAIEmbedding, HuggingFaceEmbedding) instead of the LangChain object
- Or wrap manually only after installing the integration
Example fix
// before from langchain_openai import OpenAIEmbeddings Settings.embed_model = OpenAIEmbeddings() # ImportError // after # pip install llama-index-embeddings-langchain from langchain_openai import OpenAIEmbeddings Settings.embed_model = OpenAIEmbeddings() # auto-wrapped in LangchainEmbedding # or native: from llama_index.embeddings.openai import OpenAIEmbedding
Defensive patterns
Strategy: type-guard
Validate before calling
try:
from llama_index.core.bridge.langchain import Embeddings as LCEmbeddings
except ImportError:
LCEmbeddings = None
if LCEmbeddings and isinstance(embed_model, LCEmbeddings):
try:
import llama_index.embeddings.langchain # noqa: F401
except ImportError:
raise RuntimeError("pip install llama-index-embeddings-langchain") Type guard
from llama_index.core.embeddings import BaseEmbedding
def is_native_embedding(obj) -> bool:
return isinstance(obj, BaseEmbedding) Try / catch
try:
Settings.embed_model = lc_embedding
except ImportError as e:
if "llama-index-embeddings-langchain" in str(e):
raise RuntimeError("pip install llama-index-embeddings-langchain or pass a native BaseEmbedding") from e
raise Prevention
- Prefer native BaseEmbedding implementations unless you must share LangChain objects
- If mixing frameworks, install llama-index-embeddings-langchain up front
- Type-annotate embed_model parameters as BaseEmbedding to catch LangChain objects at type-check time
When it happens
Trigger: Passing a LangChain embedding (e.g. OpenAIEmbeddings from langchain_openai, HuggingFaceEmbeddings from langchain_community) into Settings.embed_model, VectorStoreIndex, or any resolve_embed_model() caller without llama-index-embeddings-langchain installed.
Common situations: Mixed LangChain + LlamaIndex stacks where users assume LangChain objects work natively; minimal installs of llama-index-core; CI environments missing the wrapper package.
Related errors
- `llama-index-embeddings-openai` package not found, please ru
- `llama-index-embeddings-clip` package not found, please run
- `llama-index-embeddings-huggingface` package not found, plea
- Invalid Embedding name: {name}
- No embeddings to aggregate
AI-assisted analysis of run-llama/llama_index@afd0fef371 (2026-08-15).
Data as JSON: /api/errors/c619137161bf54a6.
Report an issue: GitHub.