The recent popularity of large language models (LLMs) has been accompanied by a surge in interest in virtual assistants. Virtual assistants are not limited only to chatbots. The most common uses of virtual assistants include: completion of manual tasks, answering questions, and even assisting developers to write code. Although they existed long before LLMs, they are currently receiving renewed attention because of the capabilities for text generation in natural language and AI-powered reasoning offered by these models.
IBM has been a recognized virtual assistant and AI leader for many years, and has recently revamped it’s virtual assistant portfolio by infusing products with LLMs. The IBM watsonx portfolio includes all IBM products infused with generative AI capabilities.
This article will specifically provide an overview of the watsonx virtual assistant offerings:
IBM watsonx Assistant is a simple to deploy tool for creating enterprise grade chatbots with conversational and natural responses. Users can design custom conversation flows with both user & AI generated responses. The tool can be used to build both voice and text virtual agents, and easily integrates with cloud data sources and APIs. Users should leverage this product if they want to use LLMs to answer questions based on information in a knowledge store with Retrieval-Augmented-Generation (RAG).
IBM watsonx Orchestrate is an AI assistant that leverages generative AI and automation technology to streamline repetitive, tedious tasks for human resources and talent acquisition departments to increase efficiency and provide better business results. Orchestrate comes with prebuilt “skills” that integrate with popular tools like Salesforce, Workday, Outlook and Gmail to automate tasks seamlessly with a no-code interface using Robotic Process Automation (RPA). Custom skills tailored to unique use cases can also be easily created through Orchestrate’s Unified Automation Builder. Orchestrate skills are easy to interact with a seamless enterprise-grade, chatbot-style interface.
IBM watsonx Code Assistant watsonx Code Assistant is a family of products both powered by IBM Granite models engineered for code generation: watsonx Code Assistant for Ansible Lightspeed and watsonx Code Assistant for Z. Watsonx Code Assistant for Ansible Lightspeed helps developers streamline IT Automation by automatically generating code for Ansible playbooks. Watsonx Code Assistant for Z can perform application discovery and analysis, and converts legacy COBOL code to semantically equivalent Java. This helps organizations simplify mainframe application modernization and address skill shortages by migrating to a language with a significantly larger pool of talent.
watsonx Assistant
Virtual assistants built with watsonx Assistant are built upon the idea of the action. Actions are used to interpret customer responses and intents, search and retrieve information, and use logic to process that information to steer the conversation’s flow. Users may configure their own actions from scratch, or choose from pre-configured templates.
Assistants can even be configured to understand natural human voice, and to generate voice responses back to customers over the phone. IBM Research has built novel large speech models based on the same Transformer architecture that powers LLMs. These large speech models are capable of understanding and generating human speech for virtual voice agents. IBM’s large speech models are more efficient, cost effective and provide better performance relative to traditional methods like Whisper, though users can still integrate them into watsonx Assistant should they so choose. For more information on large speech models, read this IBM blog.
The following screen capture is an example of an action used to search Google and then feed the response into another action to process the search results data:
By setting variable values, users can add custom logic to assistant responses and conversation flows. User responses do not need to perfectly conform to pre-defined values to trigger logic. Watson Assistant is capable of using AI to discover user intent, and to learn from user behavior. Users can also give multiple examples of variations of responses to better train the assistant’s AI to recognize user response.
Users who want to use LLMs to generate responses can integrate them simply with watsonx Assistant. Users can configure session variables to hold values of prompts to be sent to LLMs via the watsonx.ai API. These prompts can even contain other session variables representing user or other data. The following screen capture is an example action flow where a user specifies the prompt to a Llama 2 LLM and then invokes another action to send that prompt to the watsonx.ai API.
One of the main advantages of watsonx Assistant is its native integration with Watson Discovery and ElasticSearch via watsonx Discovery to enable retrieval augmented generation (RAG)-powered responses. RAG is used to give an LLM context about information stored in a knowledge base that is often too large for a model to understand with just a prompt. By using RAG, the user searches for the most relevant parts of the source information that match the user’s input, and inputs this along with the user’s query into the model. This can allow a chatbot to answer a user’s question about the operation of a device based upon it’s manual, even if the manual is 100 pages long for example. The Watson Discovery search integration can even show the user where in the source documents the assistant pulled the information from.
Once assistants are configured, they can be embedded simply into websites with HTML and apps via the API documentation. watsonx Assistant contains native integrations with WhatsApp or SMS messages via Twilio, Facebook Messenger, Service Now, Mailchimp, Spotify, Slack and Microsoft Teams. Using integrations like Genesys, users can be connected with real human agents, or users can also build their own custom integrations using the API.
watsonx Orchestrate
Watsonx Orchestrate is built upon the idea of skills, which are repetitive tasks that can be automated through digital labor. Skills can be as simple as adding a row to a table or as complex as sending emails to a specific set of contacts obtained from a merge-sort table creation. While watsonx Orchestrate comes with a few pre-built skills, users can also create custom skills either completely from scratch or from pre-configured templates that allow grouping simple skills together into a flow through a no-code interface. This powerful tool seamlessly integrates with popular applications like Workday, Salesforce, Slack, and Box, simplifying the process of connecting to existing tools and creating new skills, as shown in the following figure.
Specifically crafted for HR professionals, watsonx Orchestrate is tailored to enhance various HR functions, including streamlining the end-to-end talent acquisition process, from job requisition management to seamless onboarding for new hires.
Create and Manage Job Postings. Watsonx Orchestrate simplifies the creation and management of job postings by enabling integration with HR tools such as Workday and SAP, and facilitating postings across multiple platforms like LinkedIn and Indeed simultaneously. This approach not only saves time but also optimizes the visibility of job listings. Additionally, watsonx Orchestrate can automate the monitoring and management of postings, adjusting them based on the volume of applications received and engaging directly with potential candidates. This allows for a more efficient and targeted recruitment process, reducing the manual effort required to manage job openings.
Streamlining the Interview Process. Watsonx Orchestrate enhances the interview process by automating candidate screening, scheduling, and follow-up tasks. It interacts with applicant tracking systems to identify candidates ready for interviews or assessments and automatically sends out role-specific tests. Watsonx Orchestrate can also coordinate between the calendars of hiring managers, interviewers, and candidates to schedule interviews, ensuring that the process moves forward smoothly and efficiently. This level of automation significantly reduces administrative overhead and helps maintain a consistent, organized interview workflow.
Seamless Onboarding. With watsonx Orchestrate, the onboarding process for new hires becomes streamlined and highly efficient. It automates the sending of personalized emails, calendar invites, and role-specific information to thousands of new hires by integrating various digital tools and platforms. By handling complex, large-scale onboarding tasks, watsonx Orchestrate ensures that every new employee receives all the necessary information and materials tailored to their specific role and schedule, making the onboarding experience smooth and welcoming for all involved.
watsonx Code Assistant
IBM watsonx Code Assistant (WCA) is a family of products both powered by IBM Granite models engineered for code generation:
watsonx Code Assistant for Ansible Lightspeed
watsonx Code Assistant for Z.
watsonx Code Assistant for Ansible Lightspeed
Red Hat Ansible is an open-source automation tool developed to streamline enterprise IT Automation. As enterprise IT operations evolve to become more complex, Ansible can help developers automate common tasks such as: configuration management, application deployment, CI/CD pipelines for DevOps, provisioning and monitoring/reporting among many others.
The following diagram enumerates a few of Ansible's capabilities. Note that Ansible Tower has now been deprecated and has been replaced by Ansible Automation Platform:
Ansible organizes automation operations into playbooks, which are broken down into plays and are simple to read and write using the YAML language. Playbooks are comprised of “tasks,” which are single actions that Ansible performs by calling modules. These modules are pre-written scripts used to perform operations like installing packages, copying files, or managing services. For a more detailed description of Ansible and its uses, check out this video on the IBM MediaCenter.
Watsonx Code Assistant for Ansible Lightspeed simplifies the development of Ansible playbooks by automatically writing syntactically correct YAML code for tasks with generative AI and natural language directions. After installing and configuring the Ansible Extension in the Visual Studio Code IDE, users will be ready to use the code assistant.
Once inside Visual Studio Code, the user only needs to write out a simple description of the task to be generated in the - name field, and WCA will generate the code for it automatically. The generated code will be syntactically correct and contextually relevant. The user will then have the option to accept or reject/modify the assistant’s recommendations.
Watsonx Code Assistant for Ansible Lightspeed was designed to give users confidence in the recommendations generated. The IBM Granite LLM powering the assistant was trained on open-source code from Ansible Galaxy projects. The assistant includes a source attribution feature which links users to the open-source projects that the assistant’s training data sourced its recommendation from. This can help give users confidence in the assistant’s recommendations, and connect them to resources that might help them during playbook development.
For more information on watsonx Code Assistant for Ansible Lightspeed’s source attribution feature, check out the content source matching and attribution section of this lab.
watsonx Code Assistant for Z
Watsonx Code Assistant for Z uses the advanced capabilities of IBM Granite generative AI models to transform outdated COBOL code into Java. Presently, COBOL is the foundation for 43% of banking systems, supports $3 trillion in daily commercial transactions, and accounts for 95% of ATM transactions. Yet, the pressing need for modernization and the significant lack of COBOL programmers make a complete overhaul both expensive and fraught with challenges.
Watsonx Code Assistant for Z introduces a precise solution. It bypasses the need for shifting systems to the public cloud or developing new applications from the ground up. Instead, watsonx Code Assistant for Z employs generative AI to selectively upgrade sections of the COBOL code to Java, ensuring seamless integration. This comprehensive service encompasses application identification and evaluation, code refactoring, and transformation.
The refactoring assistant in watsonx Code Assistant for Z automatically allows developers to visualize how different parts of the code and metadata are connected so that they can isolate high impact structures for refactoring and transformation.
Once the high impact COBOL structures have been isolated, the generative AI in watsonx Code Assistant for Z can be used to transform the COBOL code into Java. Before doing so, however, developers can use the watsonx Code Assistant for Z plug-in in Visual Studio to establish appropriate class hierarchy.
After setting up the right hierarchy, specific Java methods can be generated instantly with just a click. This method of code transformation surpasses traditional line-by-line conversion techniques by preserving the object-oriented programming architecture inherent to Java, making it intuitively accessible to Java developers. Conversely, conventional line-by-line conversions tend to produce code that, while technically Java, retains a COBOL-like syntax, leading to increased complexity and diminished ease of use.
Learn more about watsonx and IBM's generative AI tech stack
Now that you've learned all about the watsonx virtual assistant offerings, learn more about the watsonx product suite overall and about the foundation of IBM's generative AI tech stack, the hybrid cloud AI tools, in the article, "The open source ecosystem of watsonx."
Try watsonx.ai -- next-generation studio for AI builders.
About cookies on this siteOur websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising.For more information, please review your cookie preferences options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.