Skip to main content
WatsonxEmbeddings is a wrapper for IBM watsonx.ai foundation models.
This example shows how to communicate with watsonx.ai models using LangChain.

Overview

Integration details

Setup

To access IBM watsonx.ai models you’ll need to create an IBM watsonx.ai account, get an API key, and install the langchain-ibm integration package.

Credentials

This cell defines the WML credentials required to work with watsonx Embeddings. Action: Provide the IBM Cloud user API key. For details, see documentation.
Additionally you are able to pass additional secrets as an environment variable.

Installation

The LangChain IBM integration lives in the langchain-ibm package:

Instantiation

You might need to adjust model parameters for different models.
Initialize the WatsonxEmbeddings class with previously set parameters. Note: In this example, we’ll use the project_id and Dallas url. You need to specify model_id that will be used for inferencing.
Alternatively you can use Cloud Pak for Data credentials. For details, see documentation.
For certain requirements, there is an option to pass the IBM’s APIClient object into the WatsonxEmbeddings class.

Indexing and retrieval

Embedding models are often used in retrieval-augmented generation (RAG) flows, both as part of indexing data as well as later retrieving it. For more detailed instructions, please see our RAG tutorials. Below, see how to index and retrieve data using the embeddings object we initialized above. In this example, we will index and retrieve a sample document in the InMemoryVectorStore.

Direct usage

Under the hood, the vectorstore and retriever implementations are calling embeddings.embed_documents(...) and embeddings.embed_query(...) to create embeddings for the text(s) used in from_texts and retrieval invoke operations, respectively. You can directly call these methods to get embeddings for your own use cases.

Embed single texts

You can embed single texts or documents with embed_query:

Embed multiple texts

You can embed multiple texts with embed_documents:

API reference

For detailed documentation of all WatsonxEmbeddings features and configurations head to the API reference.