IBM watsonx.ai
features and configuration options, please refer to the API reference.
Overview
Integration details
Class | Package | Local | Py support | Downloads | Version |
---|---|---|---|---|---|
WatsonxEmbeddings | @langchain/community | ❌ | ✅ |
Setup
To access IBM WatsonxAI embeddings you’ll need to create an IBM watsonx.ai account, get an API key or any other type of credentials, and install the@langchain/community
integration package.
Credentials
Head to IBM Cloud to sign up to IBM watsonx.ai and generate an API key or provide any other authentication form as presented below.IAM authentication
Bearer token authentication
IBM watsonx.ai software authentication
IAM authentication
Bearer token authentication
IBM watsonx.ai software authentication
Installation
The LangChain IBM watsonx.ai integration lives in the@langchain/community
package:
Instantiation
Now we can instantiate our model object and embed text:- You must provide
spaceId
orprojectId
in order to proceed. - Depending on the region of your provisioned service instance, use correct serviceUrl.
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 under the Learn tab. Below, see how to index and retrieve data using theembeddings
object we initialized above. In this example, we will index and retrieve a sample document using the demo MemoryVectorStore
.
Direct Usage
Under the hood, the vectorstore and retriever implementations are callingembeddings.embedDocument(...)
and embeddings.embedQuery(...)
to create embeddings for the text(s) used in fromDocuments
and the retriever’s invoke
operations, respectively.
You can directly call these methods to get embeddings for your own use cases.
Embed single texts
You can embed queries for search withembedQuery
. This generates a vector representation specific to the query:
Embed multiple texts
You can embed multiple texts for indexing withembedDocuments
. The internals used for this method may (but do not have to) differ from embedding queries: