Check it Out: A Better Way to Manage Your Assistant

Why you definitely want to build with Watson Assistant’s V2 API

Oscar Kafati
IBM watsonx Assistant

--

Not long ago, Watson Assistant introduced a new version of its API (V2) as well as the assistant layer. With this change came some cool new features and a much more efficient way to develop and manage changes. If you’ve noticed this stuff but haven’t a clue where to begin, this post will definitely help!!

Assistants

Dialog skills are like the personalization engine inside your assistant — they let you build succinct and custom responses to your users’ questions. The “V1” way of deploying your assistant involved your building a custom application that called the dialog skill directly (through the V1 /message API). Before now, you had to…

  • build your own frontend and/or integration to a messaging channel
  • maintain the context of a given conversation by using your application to store it in a database or cache
  • manage versions of your work by duplicating dialog skills and naming them creatively
  • manage upgrades and downgrades of versions by changing a pointer in your app (and then re-deploying it)
Before: Application Calls Skill

As you can imagine, this is oh so painful for a number of reasons. But we’ve got your back—the assistant layer now takes on all of this for you!!

Now, you simply add your dialog skill to the assistant and then integrate the assistant into fully managed channel integrations like Slack or Facebook Messenger (or connect your app directly via our V2 API). You can also share and test your assistant with anyone from a pre-built, sharable preview page.

After: Application calls assistant

And we bet you can guess where we’re going with this… Yep—one assistant can handle more than one skill, which lets you separate your work and response content into different units. To that end, we’ve recently introduced the search skill, which acts as a search fallback to your more personalized dialog responses! And you can expect the ability to connect your assistant to more than two skills in the future.

More on the Search Skill

The search skill crawls your knowledge base or FAQ content and provides your customers with search results in the event that your dialog does not have a confident response to a question.

When a query is submitted that your dialog is not designed to answer, the query is sent to the search skill where your configured data sources (web crawl, PDFs, word docs, or other documents) are searched. The best answer is then returned to the user as the assistant’s response.

This allows you to improve dramatically the “coverage” of your assistant without needing to build in a dialog response for every potential question. All it takes is a one-time setup and Watson Assistant handles all of the orchestration and re-syncing of content for you! Pretty cool, right?

You can learn more about the search skill here.

Versioning

Dialog skill versioning is another great benefit of the assistant layer. With versioning, you can save a snapshot of your dialog skill and link your assistant to that specific version. With one, non-editable version roped off for use by your production assistant, you can continue updating your development version without causing disruptions. You can also use the log data from your production assistant to improve the development version of your skill. The methods you use to manage your assistant’s lifecycle and promote a skill to production are a lot simpler with dialog skill versions as well!

Find more details about versions here.

Context Storage

Another key benefit of using an assistant is that it saves your end users’ session data for you. In the V1 API, deploying your assistant meant you had to maintain the conversation context in your application. In other words, any variables and data that your assistant needed to persist had to be saved by your application. These would then be passed back and forth with every turn of the conversation.

This step is no longer required—which is a huge time saver for you. This works automagically when you use any of the integrations in the assistant. And if you still want to use a custom application to call your assistant (through the V2 API), the session ID and the assistant ID are all that’s needed — Watson Assistant maintains the rest.

For the more technically inclined, we describe Watson Assistant V1 API as a stateless service while the assistant layer and the V2 API represents a stateful application. You can learn more about the V2 API here. And if you already have your own application using V1, learn how to migrate to V2 here.

In Summary…

While the original V1 API is not going away anytime in the near future, we think you’ll definitely want to take advantage of the new “V2” approach. Not to mention, just about every new feature we introduce in Watson Assistant will coincide with the assistant layer and the V2 API.

Give the assistant a try! Create one and add your dialog skill to it. Add a search skill too while you’re at it. Then use the built-in preview link integration to test the assistant and see it all come together!

--

--

Oscar Kafati
IBM watsonx Assistant

I am an Offering Manager at IBM working on Watson Assistant, IBM’s AI conversational interaction product.