HaloITSM Guides
Documentation to assist with the setup and configuration of the HaloITSM platform
Azure AI Search
Configuring your own Azure AI Search Models
It is important to make sure your Azure tenant is setup to support the Azure AI area, it may be disabled. If this is the case, please contact Microsoft to get Azure AI enabled for your tenant. There are multiple models which you can deploy in the Azure AI area, so the possibilites are extensive when configuring your own models (AI Models). For the setup of an Azure OpenAI model in Azure (Not Azure AI Search) check out this video by Mendy at Rising Tide Consulting.
To configure the Azure AI Search Integration, you must go to the Azure AI portal on Microsoft Entra and then "Azure AI Services" from here you can create an model for AI Searching.
The Keys and Endpoints tab is where you get the API Key and the Endpoint, which you input in Halo (Configuration > AI > AI Knowledge Search):
You can then configure the connection specifically for Azure AI Search. The credentials you input below, can be found in Azure AI when creating a model:
The endpoint and api key of your Azure AI Search instance are all that is required to configure the connection.
Once configured, the indexing of all articles and services currently in the database can be scheduled. When articles and services are created, edited or deleted, the search indexes in Azure AI Search are automatically updated with the embeddings in the background.
It may say that it is scheduled to run at a certain time:
You can force the initial indexing by going to configuration > advanced settings > backend service monitoring > *Click into automation log and filter to 'upcoming'*
right click on the indexing row that will appear in the table and then click 'retry'
The search screen then allows you to do an AI search using the AI button in the search bar. When active, all filters are cancelled and search as you type is disabled, and the search becomes text only. An embedding is created for the search term, and an AI similarity search is run in Azure AI Search. The match score is also shown in the results.
The main use case for this functionality is the new Virtual Agent feature, which uses Azure AI Search to search the knowledge base for answers. Virtual Agents can be used without Azure AI Search, but there will be limitations with the search results.
"Virtual Agents" can be configured in Config > AI > Virtual Agents, or Config > Chat > Virtual Agents. These currently integrate with Open AI and Azure OpenAI Assistants.
Creating a new Virtual Agent will create a new Assistant in OpenAI and create the functions implemented in Halo. A built-in Virtual Agent is provided out of the box for hosted customers.
Plug a Virtual Agent into a Chat flow, and the chat conversation will stay on the same step but alternate between the Virtual Agent and user.
Additional instructions can also be provided at step level. This allows you to provide some additional context if you are using the generic out of the box Virtual Agent, or provide additional step-specific information.
The following functions are currently implemented;
- Knowledge search - the agent will search the knowledge base using Azure AI Search, and receive the descriptions and resolutions of matched articles, and formulate a response based on the results where appropriate
- Service search - the agent will search services using Azure AI Search, and receive the names and links to any matched services, and direct the user to the service where appropriate
- Log an incident - the agent will log a ticket for the user once it knows the user's information and details of an issue
- Check my tickets - the agent will provide the user information about their open tickets when requested, or a specific open ticket
- Update a ticket - the agent will add an update to one of the user's tickets when requested
- Speak to an agent - the agent will begin a transfer to a human agent
- End chat - the agent will end the chat
Custom functions can also be implemented to escape the Virtual Agent conversation step and move to a different step of the chat flow. The outcomes can be configured at chat flow step level - include instructions about when to call the custom function and the parameter name, and the agent will execute the function when those conditions are met.
For example, you can set a custom function called PASSWORD_RESET, that moves the chat flow onto a step that logs a password reset service request and then moves back to the Virtual Agent conversation, by adding a Custom function and telling the agent in the additional instructions "if you determine that the user wishes to log a password reset request, call "custom_function" with function_name="PASSWORD_RESET".
Several minor improvements have also been made to chat and other AI features.
The Azure AI Search is useful for searching for knowledge base articles in Halo, for example searching for "Signing In" doesn't return anything in a trial:
When using the Azure AI Search button, it will find the article I need, the similarity score is also visible underneath the article views:
The minimum vector match score has been met for the two articles suggested above:
Article Suggestions
Pre-requisites (Config > AI);
- Ticket matching and AI insights method must be set to "Built-in functionality"
- AI knowledge search - Vector search database must be set to "Azure AI Search"
Select the checkbox "Enable AI Article Suggestions" from Config > AI.
When active, when ticket matches are retrieved when logging a ticket, a search term will be written by AI and used to perform a vector search on indexed knowledge base articles.
The closest matches are recorded and are shown in the Problem/Resolution finder on the ticket details screen.
Improvements have also been made to the Problem/Resolution finder when using AI ticket matching.
Options have been added to the Ticket details ... menu to re-index the ticket and refresh matching tickets and articles.
$-BESTARTICLEMATCHES can be used to show a table of AI matched articles.
$-BESTARTICLEMATCHESJSON can be used to show the AI matched articles and the content of the articles in JSON format.
The "Generate User Response" AI operation in Action configuration can now accept $-variables in instructions. This allows you to provide details of matched articles to assist the AI in writing an answer.
For example, these instructions;
You will be given a conversation between an Agent and a User on a service desk ticket. The user may be asking for help, or have an issue.
The following JSON is an array of matched knowledge base articles regarding the topic, where title is the name of the article, description is the content of the article, and the resolution contains details on the resolution where applicable. Please read these and write a response to the user in HTML format using the articles provided. Do not answer in Markdown.
$-BESTARTICLEMATCHESJSON
will allow the AI to attempt to answer the ticket using the details of the matched knowledge base articles. Please note that consistent use of large articles here result in OpenAI rate limits being breached or additional cost in OpenAI.
A setting to provide additional context to AI insights has also been added.
Popular Guides
- Asset Import - CSV/XLS/Spreadsheet Method
- Call Management in Halo
- Creating a New Application for API Connections
- Creating Agents and Editing Agent Details
- Departments, Teams and Roles
- Halo Integrator
- Importing Data
- Multiple New Portals with different branding for one customer [Hosted]
- NHServer Deprecation User Guide
- Organisation Basics
- Organising Teams of Agents
- Step-by-Step Configuration Walk Through
- Suppliers