Feature Overview
The Questions feature allows Analysts to manage typical questions their Assistant and Skills are expected to answer. This can server as a hub for your Assistant from before the first skill is even written. Start by identifying the questions that an Assistant will be expected to answer. You can then keep a watchful eye as the Assistant is built out to handle more of the questions originally envisioned.
Key Benefits and Purpose
- Organize questions into Collections.
- Run regression tests on demand for an entire collection.
- Use questions as Starter Questions that are offered to users as they begin a chat.
- Questions can be used as Previews to help exercise your code in Skill Studio.
- Questions can also be used as Hints to guide the LLM when similar questions are asked by users.
Accessing the Feature
Navigation Path
- Navigate to "Skill Studio".
- Choose the "Assistants" area using the left navigation panel. Assistants are selected by default upon first navigating to Skill Studio.
- Select the "Questions" tab at the top of the page.
Step-by-Step Instructions
Creating a Question
- Navigate to the Questions tab within "Assistants".
- Click on "Add New Question."
- Enter the question in the provided field.
- Add a Hint to guide the LLM when the question is asked.
- Tip: You can use the keyword {skill} when adding a hint. This will automatically use the Skill Name chosen in the dropdown for the question. This can be helpful if your skill names change.
- Select the Skill best suited to answer the question.
- Define the Skill Preview Parameters.
- Check the "Start Question" box if it should appear as a Starter Question for users.
- Choose or create a Collection to store the question.
Managing Collections
- Navigate to the Collections section within the Questions tab.
- Create new Collections by clicking "Add Collection."
- Organize existing questions into appropriate Collections.
Previewing Questions
- In the Questions tab, select a question.
- Click on "Preview" to see the answer generated by the Assistant.
- Review and manually adjust if necessary.
Running Diagnostics
- After a question is run, go to the Diagnostics section.
- Review the diagnostics data provided.
- Troubleshoot any issues by analyzing the output and adjusting hints or Skills as needed.
Use Cases
Regression Testing
Description
Using a Collection to run regression tests ensures that the Assistant and Skills perform as expected over time.
Steps to Implement
- Organize questions into a Collection.
- Navigate to the Tests tab within Skill Studio.
- Select the Collection and run the regression test.
Benefits
- Validates Assistant and Skill performance.
- Identifies issues proactively.
Example
A collection of frequently asked customer questions is tested to ensure the Assistant provides consistent and accurate responses.
Starter Questions
Description
Presenting Starter Questions to users when they start a new thread helps guide them and improve their initial interaction with the Copilot.
Steps to Implement
- Create questions and check the "Start Question" box.
- Save the questions in the appropriate Collection.
- When a user starts a new thread, the Starter Questions are displayed.
Benefits
- Enhances user experience.
- Provides immediate guidance to users.
Example
New users are presented with common troubleshooting questions, streamlining their interaction with the support Copilot.
Best Practices
Collections
A Collection should be used like folders for organizing your questions. For example put all of your Starter Questions within one collection. Similarly put all of your hints within another collection. Then organize each of your regression tests into their own collections.
Hints
Hints are inserted into the System Prompt during runtime. Only the most relevant semantic matches are inserted. On performing parameter selection on the relevant semantic matches for the already selected skill are inserted. Be sure your hints stay current with the configuration and data of the overall Copilot. For example if a hint suggests a certain Skill should be run then make sure that Skill name stays current or use the handy {skill} to have it automatically stay current. Allowing your hints to diverge from the actual system configuration can result in unintended outcomes.
A suggested format to help with both Skill selection and parameter selection is a hint in this format:
[{Skill}](multiparameter1=[value1], parameter2=value2, etc...)
Previews
Previews use JSON to execute them. The JSON takes the format of each parameter and the expected values for that parameter. When running that preview in Skill Studio while developing Skills it executes the current Skill with the exact parameters specified in the JSON. One can find sample JSON formats on the diagnostic panel under the Grounding section.
Updated