View Only

Hot new watsonx SDK for SAP! Easily integrate Generative AI and ML into SAP apps

By Laurent Montaron posted Tue April 23, 2024 08:44 AM


We have exciting news for SAP developers and SAP clients. You may remember that last year, IBM and SAP jointly announced  a milestone collaboration around embedding AI into SAP solusions. One visible outcome was the adoption of Watson technology in the SAP Start and SAP Joule digital assistants.

And at the same time, IBM's been working on creating a watsonx Software Development toolKit (SDK) for SAP ABAP, complementing the existing Watson SDK that was refreshed in 2023.

I am pleased to confirm that the watsonx ABAP SDK version 1.0.0 is now live. It was released late March 2024 by the IBM SAP Software Engineering Team as expected. It is a separate release from its relative, the Watson SDK, who released a version 2 in Q4 2023. Both SDKs are open source and downloadable from GitHub.

If you develop SAP apps or have clients doing so, this is big news. It is truly a revolution in easily integrating Machine Learning and Generative AI, in just a few clicks, into an SAP ABAP application. Literally in 10 minutes!

The watsonx SDK comes in two flavors, allowing SAP developers to easily access watsonx from an ABAP application in a traditional SAP NetWeaver environment, and also in the latest SAP Business Technology Platform (BTP):

The SDK natively supports both the (V1) and the Watson Machine Learning (V4). To get developers up to speed quickly, comprehensive examples are included in both of the APIs' documentation.

  • The sample code for the sends a AI prompt to a generative AI model and collects the generated response. It uses the granite-13b-chat-v2 in the example but there are many other superb models available through watsonx.
  • The sample code for the Watson Machine Learning API lets you unleash the full capability of Watson Machine Learning (ML):
    • Without going too far in the detail, to use watsonx ML you have to create a watsonx deployment space. This is where you will deploy your ML assets, which can be models, functions, or scripts.
    • Python is a popular language for functions, in fact most frameworks in Watson ML rely on Python (or R). With a Python function, you can perform any ML task like creating, training, and using models.
    • Going back to the watsonx ABAP SDK: in the supplied sample code, the ABAP application deploys arbitrary Python code as a Python function on a watsonx deployment space and calls the deployed function. It also supplies a CURL command that can be used to easily call the deployed function from the command line
    • So the SDK connects lets you use the full capabilities of watsonx ML with very little development effort.  Then no further SAP programming knowledge is necessary, you can refer to the regular watsonx ML documentation. And of course, reuse the many examples of functions, models, and scripts provided by IBM and third parties.

Further information can be also found on the SAP community blog.