IBM watsonx.ai Toolkit wrapper.
Convert WatsonxTool to watsonx tool structure.
Normalize deprecated 'apikey' to 'api_key'.
Resolve watsonx credentials.
Return default factory that yields a SecretStr from the first non-empty env var.
The factory:
names_priority).deprecated.IBM watsonx.ai Tool.
IBM watsonx.ai Toolkit.
To use, you should have langchain_ibm python package installed,
and the environment variable WATSONX_API_KEY set with your API key, or pass
it as a named parameter api_key to the constructor.
pip install -U langchain-ibm
# or using uv
uv add langchain-ibm
export WATSONX_API_KEY="your-api-key"
apikey and WATSONX_APIKEY are deprecated and will be removed in
version 2.0.0. Use api_key and WATSONX_API_KEY instead.
IBM watsonx.ai for IBM Cloud:
from langchain_ibm.agent_toolkits.utility import WatsonxToolkit
watsonx_toolkit = WatsonxToolkit(
url="https://us-south.ml.cloud.ibm.com",
project_id="*****", # or `space_id`
api_key="*****", # not needed if `WATSONX_API_KEY` is set
)
IBM watsonx.ai software:
from langchain_ibm.agent_toolkits.utility import WatsonxToolkit
watsonx_toolkit = WatsonxToolkit(
url="<CPD_URL>",
project_id="*****", # or `space_id`
username="*****",
password="*****",
instance_id="*****",
version="*****", # optional
)tools = watsonx_toolkit.get_tools()
google_search = watsonx_toolkit.get_tool(tool_name="GoogleSearch")
tool_config = {
"maxResults": 3,
}
google_search.set_tool_config(tool_config)
input = {
"input": "Search IBM",
}
search_result = google_search.invoke(input)rag_query = watsonx_toolkit.get_tool(tool_name="RAGQuery")
rag_query.set_tool_config(
{
"vectorIndexId": "<vector-index-id>",
"projectId": "<project-id>",
}
)
res = rag_query.run("How to initialize APIClient?")