Back to Langflow

lfx-ibm

src/bundles/ibm/README.md

1.12.0.dev313.0 KB
Original Source

lfx-ibm

IBM components — Db2 Vector Store, watsonx.ai LLM and embeddings, and watsonx.data Presto and MCP — as a standalone Langflow Extension Bundle.

This bundle ships five components:

  • DB2VectorStoreComponent — wraps the DB2VS LangChain-compatible vector store and exposes Db2's native vector search through Langflow's standard vector-store palette entry.
  • WatsonxAIComponent — chat/text-generation against IBM watsonx.ai foundation models via langchain-ibm's ChatWatsonx.
  • WatsonxEmbeddingsComponent — embeddings via watsonx.ai's WatsonxEmbeddings model.
  • WatsonxDataPrestoComponent — run SQL on a watsonx.data Presto engine (Iceberg lakehouse, federated sources, Confluent Tableflow tables) and get a DataFrame back; presto-python-client DBAPI with ibmlhapikey / IAM-API-key or basic auth and an optional CA bundle.
  • WatsonxDataMCPComponent — a preset MCP toolset for the watsonx.data remote MCP server (/api/v2/mcp/): LIST_/QUERY_DOCUMENT_LIBRARY, LIST_/QUERY_DOCUMENT_SET, LIST_/QUERY_DATA_ASSETS for an Agent, with bearer-token or IBM Cloud API-key (IAM exchange) authentication.

It follows the documented porting recipe in src/bundles/PORTING.md.

Install

bash
pip install lfx-ibm

The bundle is registered automatically via the langflow.extensions entry-point. After install, restart your Langflow server; the components appear in the palette under the ibm bundle group.

Platform notes:

  • The ibm-db driver does not ship a prebuilt wheel for linux/aarch64; the dep is gated with a marker so pip install succeeds on that architecture, but DB2VectorStoreComponent will fail to build the vector store at runtime there. Use an x86_64 image or install ibm-db from source if you need Db2 on aarch64.
  • ibm-watsonx-ai (>=1.5.13) and langchain-ibm (>=1.1.0) added Python 3.14 support upstream, so the watsonx components are importable on every supported Python version (3.10-3.14). Earlier releases capped at <3.14; the bundle pins were bumped to pick up the 3.14-capable builds.

Develop

bash
cd src/bundles/ibm
pip install -e .
lfx extension validate src/lfx_ibm

Manifest

The extension manifest is shipped at src/lfx_ibm/extension.json and points at the bundle at components/ibm. Components register under the canonical namespaced IDs:

  • ext:ibm:DB2VectorStoreComponent@official
  • ext:ibm:WatsonxAIComponent@official
  • ext:ibm:WatsonxEmbeddingsComponent@official
  • ext:ibm:WatsonxDataPrestoComponent@official
  • ext:ibm:WatsonxDataMCPComponent@official

Migration

Saved flows referencing the legacy bare class names (DB2VectorStoreComponent, WatsonxAIComponent, WatsonxEmbeddingsComponent) or the old import paths (lfx.components.ibm.<module>.<Class> and the package-level lfx.components.ibm.<Class> forms) are rewritten to the new namespaced IDs by the migration table in src/lfx/src/lfx/extension/migration/migration_table.json.