Navu 4: Building Skills

Navu 4:  Skills Training

If you want to learn how to give your AI assistants new skills, you’re in the right place.  You’re going to learn how to create sophisticated new skills for your web visitors to take advantage of.

What is a Skill?

A skill is a new behavior that you teach the assistant.  Some skills are very simple, like how to answer a very particular type of question.  Other skills are very sophisticated, such as how to converse with a visitor about a specific topic, fetch particular information, take various actions, and produce contextually meaningful responses.

In Navu, you create custom skills by going to the Settings > Sidebar > Guide > Skills page in your portal.  Click on the + button under Custom Skills to create a new one.  Assign it a unique ID and configure its other settings.  One of those settings is Enablement.  When that is set to Enabled, your assistants will have this new skill.

Hello, world!

Let’s start simple.  Suppose that you want a skill that handles requests for a poem and responds accordingly.  Here are the steps:

1) In your portal, go to Settings > Sidebar > Guide > Skills and click on the + under Custom Skills.

2) Populate the settings as follows:

  • ID:  “poem-request”
  • Name:  “Poems”
  • Applicability:  “This is applicable whenever the user asks for a poem”
  • Enablement: preview-only
  • Primary AI Instructions:  “Compose a short poem in response to the request”
  • No File Search:  ON

3) Go to the Sidebar page in the portal.  Enter a question, “Write me a poem”.  You’ll see that even though your assistant will not normally respond to questions like this (being unrelated to the company), your new skill will kick in and give an answer.4) Let’s say that you like this, but you’d like to write a poem on a subject that the visitor asks for.  So go back and change your instructions to, “Compose a short poem on a subject provided by the user.  If necessary, ask the user for the subject.”  Now try this again.  

5) Go to the Questions page.  You should see the last question you just asked along with the response.  Notice that the Skill at the top of the page says, “Custom Poem Request”.  That tells you that the AI used your new skill to answer that question.

6).Notice that you set the Enablement to “preview-only”, so this skill is only available to visitors who are using preview.  If you want everyone’s assistant to have this skill, change Enablement to “enabled”.

That’s it!  Your first skill is up and running!

Tools:  File Search

Your first skill depends on nothing other than the AI itself with the instructions you give it.  But in some cases, you may want your skill to take advantage of content you have on the website.  That is the purpose of the File Search tool.  When enabled, you can ask the AI to use it to find something in your website content.  That might be a general search based on what the user is asking about.  Or your instructions could ask for a search for a more specific topic.  Then you can instruct the AI on how to use that content to generate the response.

Let’s enhance our poem-request skill so that it can write a poem using some of the content from the website.  Update the settings as follows:

  • Primary AI Instructions:  “Ask the user to provide a product or topic that is relevant to the company.  Use the file search tool to find relevant content.  Then compose a short poem based on that content.”
  • No File Search:  OFF

Try it again.  See how it asks about a topic and generates a poem that contains obvious references to the appropriate content.  

In more realistic example, you can use the file search tool in a variety of ways.  In some cases, you may just suggest that the AI use the file search tool and allow it to decide how to use it.  In other cases, you may be very prescriptive about what search string should be used when searching.

Tools:  Fetch Page

In some cases, you want to use some content that you know is on the website.  But there’s no reason to search for content, because for a particular skill you know exactly where to find it.  For example, suppose that you have information scattered over your website discussing pricing.  But if someone asks a pricing-related question, you want to handle those questions in a very particular ways.

Let’s create a new skill for handling pricing questions.  You have worked hard on your pricing page on the website and you want to take advantage of that content.  

Create a new skill with the following settings:

  • id: pricing-question
  • name:  Pricing
  • applicability:  “This is applicable when the user asks a pricing-related question”
  • enablement:  preview-only
  • primary ai instructions:  “Use the fetch-page tool to get the contents from the https://mycorp.com/pricing page.  Then use that content to formulate an appropriate response to the user’s question.”  (Replace the URL with your own pricing page URL.)
  • No File Search:  ON
  • Tools:  fetch page contents: ON

Give it a try.  Go to the Sidebar page and ask a question about pricing.  The response should reflect the contents on your pricing page and nothing else on your website because you have also set No File Search ON.

Tools:  Notify Contact

There are many cases where you want a skill that will kick off an external process.  In many cases, those processes involve your own team.  For example, a user wants a quote for one of your products.  Perhaps you could create a skill where the AI could provide that quote directly.  But you may prefer to have the AI collect the necessary information from the visitor and then have your own team take the next steps.  What is needed in a way for the AI to tell your team about this quote request.  That’s what the notify-contact tool is for — to give the AI the ability to notify someone on your team about something at the right time with the right information.

Create a new skill with the following settings:

  • id: quote-request
  • name: Request a quote
  • applicability: “This is applicable when the user explicitly asks for a price quotation (or ‘quote’).”
  • primary ai instructions:  “Ask the user to provide their name and email address.  Then ask them to specify which product they are interested in, how many units they need, where it is to be delivered, and preferred delivery date.  Use a conversational style rather than asking for all of this information at once.  Once you have all of the necessary information, use the notify-contact tool.  Set the route to “quotes”.  Populate the message with all of the information that the user has provided.  Then tell the user that the quote is being processed and they should expect a response within 2 business days.”
  • Tools:  notify contact:  ON

Before you try this, there is one more step.  Notice how the instructions refer to a “route” set to “quotes”.  This is a very simple way to enable routing of these notifications.  That’s powerful because it means that different cases can be handled by different teams.  To make this work, you’ll also need to go to the Settings > Sidebar > Guide > Tools > Notify Contact settings and add a route called “quotes” and put in your email address as the recipient.  Later, you can change that route to use other email addresses that are appropriate for that route.  One skill might use instructions to use different routes depending on the situation.  Or you may have multiple skills that use the notify-contact tool, each using a different route.

Now give it a try.  Ask, “Can you give me a quote?” and see how it engages you in conversation to get the necessary information.   Then take a look at your inbox.  You should have received a notification about the quote request.

Before you go further, pause for a moment to think about all of the possibilities that are unleashed by this notify-contact tool.  To a website visitor, they are interacting with an AI assistant.  They don’t need to think about the fact that, behind the scenes, you are kicking off all kinds of complex processes that the visitor need never worry about.  Meanwhile, you are working more efficiently because these requests contain all of the information you need and the AI has resolved those ambiguities that would otherwise require you to go back and forth with the customer.

Prior Identity

In order to use the contact-tool, you need to have the visitor’s identity — their name and email address.  So in those instructions, you ask the user for them.  But Navu understands the visitor’s entire journey.  Suppose that they had already filled in a Contact form previously.  It could be annoying that the AI will ask them again for that same information.  For this reason, there is a setting to allow the AI to use that prior identity information, if available.  

Update your quote-request skill as follows:

  • Allow Prior Identity:  ON
  • Change the first sentence in the primary ai instructions to:  “If you don’t already know them, ask the user for their name and email address.”

Now try this again.  This time, the AI already knows the visitor’s name and email and won’t need to ask. 

Enablement

Up until this point, we’ve been setting the enablement to “preview-only”.  That means that only your assistant while you are previewing will have these skills.  Once you have concluded that you want all of your web visitors to have one of these skills, all you need to do is to change enablement to “enabled”.

But what if you don’t want just anyone to be able to kick off that quote processing?  Suppose, for example, that you only want visitors in the United States to be able to do that.  Is that possible? 

Yes.  Navu supports the notion of “audiences”.  Each audience is made up of some subset of the visitors to your website.  We support many different ways to segment visitors into audiences.  One of the simplest ways is based on geolocation.  But there are many different ways to target visitors into audiences.

For now, let’s focus on updating our quote-request skill so that it will only be available to those in the US.  The first step is to create a new audience.  Go to the Audiences page.  Click the + button in the top-left and set the name to “US” and submit it.  Then go to the Targeting tab, click Add Filter, name the filter “US”, and click on Geography, then select “United States” and submit.  That’s it.  You now have a new audience that will be populated with all visitors who are in the US.

Now return to quote-request skill settings page (Settings > Sidebar > Guide > Skills > quote-request.  Change the settings as follows:

  • enablement:  audience-specific
  • audience: “US”

Be aware that this will make this skill available to all visitors from the US.  Once you understand the Targeting capabilities in Navu audiences, you can focus skills on almost any group of visitors that you want.

If you’re not ready for this skill to be live, just change the enablement back to “preview-only”.

Response Format Instructions

You have been populating the “primary ai instructions” but have left these “response format instructions” blank.  That means that you are using the default formatting instructions.  For many cases, that is fine.  But in some cases, you may find that the responses aren’t quite right.  Perhaps you’d like those responses to be more or less verbose.  Or you’d like to encourage the AI to use bulleted or numbered lists.  Or maybe you even want to encourage the use of a table.

This is the purpose of the response format instructions.  For example, go back to your request-quotes skill and update the settings as follows:

  • response format instructions:  “In your final response after routing the quote, include a summary of all of the key information for the quote in bullet-point form.”

When you try that again, you’ll see that the formatting looks different now.

Tool:  navigate browser

In some cases, you may find it convenient for the visitor if you navigate their browser to a particular page on your website.  This should be used carefully because it can confuse visitors when it doesn’t feel appropriate.  But when it is, it will feel great to visitors — taking them to exactly what they need next.

Let’s suppose that after you process that quotation request, you have a page that explains exactly what happens next in the process and that you want to take the visitor to that page.  Update your request-quote skill as follows:

  • Allow Navigation Browser:  ON
  • Add the following to primary ai instructions:  “After a successful result from the notify-contact tool, navigate the browser to https://mycorp.com/quote-processing“.  Replace that URL with the appropriate one on your site.

Now try that again.  This time notice how after the notification is sent how you are navigated to that URL.

Data Tools

There are some skills that may require access to structured data.  For example, suppose that you have a spreadsheet containing your complete parts catalog.  Each row in the spreadsheet represents one part and the columns provide different pieces of information about that part.  You would like web visitors to be able to ask questions about these parts.  Perhaps you list these parts on your website.  But that web-based content is often confusing for an AI to understand or is incomplete or inaccessible.  But you can make that information available to one or more of your skills using the data tools.

Currently, you do not have the ability to upload this data yourself.  You’ll need to contact Navu in order to import your data.  Eventually, you’ll be able to do this on your own.  The data is organized into “collections”.  Think of one spreadsheet or any similar set of records as a collection.  Each collection has a name, and a “data dictionary” — which describes the information in that collection in detail.  This is how you “teach” the AI about what is available for it to you.

Navu makes this data available to your skill via a set of data tools that access that data in a MongoDB database.  The AI knows about MongoDB and has been trained on how to use those tools.   So you don’t need to have any expertise in this regard.  Your instructions can use natural language to describe how to use this data to answer the visitor’s question.

For example, let’s suppose that you have a spreadsheet of local resellers in each state, each with a name, contact information, and specialty.  If a visitor asks for the reseller in their area, you’d like to look up the appropriate one and respond accordingly.  You could create a skill with instructions such as, “Ask the user to tell you the state they are in.  Use the data tools to query the resellers collection and find the matching record.  Then use that information to provide them with the contact information for that reseller.”  

These data tools allow for much more sophisticated scenarios as well.  You might have several collections of related data.  Imagine, for example, that you have a collection of properties for rent.  You could respond to questions like, “How many properties do you have with at least 3 bedrooms that are located in North Carolina, have a swimming pool and are available in September?”  As long as your data is well structured and documented, the AI can use the data tools to answer questions like these.

More Tools?

Navu 4.0 has a core set of tools that we’ve described here.  But you can expect that more tools will be coming in future releases.  We’d love to hear about ideas you have for tools that you would like your skills to be able to use.

Advanced Reasoning

You’ll see a toggle switch for “Advanced Reasoning”.  This controls how much thought the AI will put into processing this skill.  If you are dealing with a complex skill with a lot of instructions or trying to analyze a lot of subtle content, you may want to turn on Advanced Reasoning.  This may take a bit longer to respond, but may also give better answers.  For simple skills, this is generally unnecessary.

Trying Navu is as easy as 1, 2, 3!

Step 1: Create your custom Sidebar in under one minute

Step 2: Ask questions to your own site and see how Navu answers

Step 3: Try the Sidebar and Navu's analytics free for 14 days!