Skip to main content

[ ![🦜️🔗 Langchain](/img/brand/wordmark.png) ![🦜️🔗
Langchain](/img/brand/wordmark-dark.png) ](/) [ Docs
](/docs/get_started/introduction) [ Use cases ](/docs/use_cases) [
Integrations ](/docs/integrations/platforms/) [ Guides
](/docs/guides/debugging) [ API  ](https://api.python.langchain.com)

More

  * [ People ](/docs/people/)
  * [ Versioning ](/docs/packages)
  * [ Changelog ](/docs/changelog)
  * [ Contributing ](/docs/contributing)
  * [ Templates ](/docs/templates/)
  * [ Cookbooks  ](https://github.com/langchain-ai/langchain/blob/master/cookbook/README.md)
  * [ Tutorials ](/docs/additional_resources/tutorials)
  * [ YouTube ](/docs/additional_resources/youtube)

🦜️🔗

  * [ LangSmith  ](https://smith.langchain.com)
  * [ LangSmith Docs  ](https://docs.smith.langchain.com/)
  * [ LangServe GitHub  ](https://github.com/langchain-ai/langserve)
  * [ Templates GitHub  ](https://github.com/langchain-ai/langchain/tree/master/templates)
  * [ Templates Hub  ](https://templates.langchain.com)
  * [ LangChain Hub  ](https://smith.langchain.com/hub)
  * [ JS/TS Docs  ](https://js.langchain.com)

[ 💬  ](https://chat.langchain.com) [ ](https://github.com/langchain-
ai/langchain)

Search

  * [ Get started ](/docs/get_started)

    * [ Introduction ](/docs/get_started/introduction)
    * [ Installation ](/docs/get_started/installation)
    * [ Quickstart ](/docs/get_started/quickstart)
    * [ Security ](/docs/security)
  * [ LangChain Expression Language ](/docs/expression_language/)

    * [ Get started ](/docs/expression_language/get_started)
    * [ Why use LCEL ](/docs/expression_language/why)
    * [ Interface ](/docs/expression_language/interface)
    * [ Streaming ](/docs/expression_language/streaming)
    * [ How to ](/docs/expression_language/how_to/)

    * [ Cookbook ](/docs/expression_language/cookbook/)

    * [ LangChain Expression Language (LCEL) ](/docs/expression_language/)
  * [ Modules ](/docs/modules/)

    * [ Model I/O ](/docs/modules/model_io/)

    * [ Retrieval ](/docs/modules/data_connection/)

      * [ Document loaders ](/docs/modules/data_connection/document_loaders/)

      * [ Text Splitters ](/docs/modules/data_connection/document_transformers/)

      * [ Retrieval ](/docs/modules/data_connection/)
      * [ Text embedding models ](/docs/modules/data_connection/text_embedding/)

        * [ CacheBackedEmbeddings ](/docs/modules/data_connection/text_embedding/caching_embeddings)
      * [ Vector stores ](/docs/modules/data_connection/vectorstores/)
      * [ Retrievers ](/docs/modules/data_connection/retrievers/)

      * [ Indexing ](/docs/modules/data_connection/indexing)
    * [ Agents ](/docs/modules/agents/)

    * [ Chains ](/docs/modules/chains)
    * [ More ](/docs/modules/memory/)

  * [ LangServe ](/docs/langserve)
  * [ LangSmith ](/docs/langsmith/)

  * [ LangGraph ](/docs/langgraph)

  * [ ](/)
  * [ Modules  ](/docs/modules/)
  * [ Retrieval  ](/docs/modules/data_connection/)
  * Text embedding models 

On this page

#  Text embedding models

info

Head to [ Integrations ](/docs/integrations/text_embedding/) for documentation
on built-in integrations with text embedding model providers.

The Embeddings class is a class designed for interfacing with text embedding
models. There are lots of embedding model providers (OpenAI, Cohere, Hugging
Face, etc) - this class is designed to provide a standard interface for all of
them.

Embeddings create a vector representation of a piece of text. This is useful
because it means we can think about text in the vector space, and do things
like semantic search where we look for pieces of text that are most similar in
the vector space.

The base Embeddings class in LangChain provides two methods: one for embedding
documents and one for embedding a query. The former takes as input multiple
texts, while the latter takes a single text. The reason for having these as
two separate methods is that some embedding providers have different