Applies to: SharePoint Online
Description
NITRO Copilot can be used by end users to get comprehensive answers to their questions. And Help Desk staff users can easily generate responses for their Tickets.
NITRO Copilot leverages the latest AI technologies along with an organization’s existing information and data to provide relevant and accurate answers to user inquiries.
Organizations can now use their data to provide users with a self-serve Copilot that integrates with the NITRO Help Desk.
If users still need help after making an inquiry to NITRO Copilot, they can escalate the request to the Help Desk with just a click. The request is auto-populated based on the conversation with Copilot, saving time for the user and staff.
This article describes the steps to configure copilot in NITRO Studio.
Prerequisites
Copilot can work with different data sources; prerequisites vary based on the type of data source for the knowledge base that is used to generate the answers.
Please refer this article for more details on Azure Services: Instructions to create Azure Services – Crow Canyon Software Support
Summary of steps
- AI services connections in NITRO Studio
- Configure NITRO Copilot settings
- Add NITRO Copilot component in a SharePoint site page
- KB Copilot in NITRO Helpdesk
Detailed description
AI Connections in NITRO Studio
Connections are a way to authenticate and consume both Microsoft and other resources within your Azure AI Studio projects.
Below are the supported connection types in NITRO Copilot.
Connection Type | Description |
Azure Open AI | Azure OpenAI Service provides REST API access to OpenAI’s powerful language models including GPT-4o, GPT-4 Turbo with Vision, GPT-4, GPT-3.5-Turbo, and Embeddings model series. |
Open AI | OpenAI is a cloud-based platform that allows developers to access a variety of models hosted by OpenAI, configure and submit prompts to said models and use their generative outputs in automations. |
Document Intelligence AI | Document Intelligence is an AI service that applies advanced machine learning to extract text, key-value pairs, tables, and structures from documents automatically and accurately. |
Azure AI Search | Azure AI Search is an Azure resource that supports information retrieval over your vector and textual data stored in search indexes. |
To configure the connections in NITRO Studio, go to the site -> Site Settings -> Crow Canyon NITRO Site Settings -> Expand “AI Connection Settings” and configure the connections as shown below:
Azure Open AI Connection Settings:
Name: Specify the connection name.
Service Type: Select the type of service you are using from the dropdown.
API Key: Enter the API key provided by the service provider. API key is a unique authentication token that grants access to the AI service capabilities, including text generation and natural language processing. API key value can be accessed from the settings of the Azure Open AI resource in the Azure portal.
Completions Model: Enter the name of the Completion Model provided by the service provider. Models can be added to the Azure Open AI resource from the Azure portal. The completion model generates text based on the input provided, utilizing advanced natural language processing capabilities. Example: gpt -35-turbo.
Embedding Model: Enter the name of the Embedding Model provided by the service provider. Models can be added to the Azure Open AI resource from the Azure portal. The Embedding Model transforms text into numerical representations (embeddings) that capture semantic meaning and context.
Endpoint: Enter the endpoint URL provided by the service provider. This endpoint serves as the gateway for making API requests to utilize advanced AI capabilities such as text generation and natural language processing. Endpoint URL value can be accessed from the settings of the Azure Open AI resource in the Azure portal
API Version: Enter the API Version provided by the service provider.
Open AI Connection Settings
These details can be accessed from your Open AI subscription settings.
Document Intelligence AI Connection Settings
For document intelligence AI connection, users need Azure AI services multi-service account. API key and Endpoint value can be accessed from the corresponding resource in Azure portal.
Azure AI Search Connection Settings
API Key (Admin): Enter your Admin API key to authenticate and authorize administrative tasks and configurations for Azure API search. This key grant access to manage indexes, query settings, and other administrative functions within your Azure API Search service. API key can be accessed from the settings of the Azure AI Search resource in the Azure portal.
API Key (Query): Enter your Query API key to authenticate and authorize queries made to Azure API search. This key allows access to perform search operations and retrieve search results from your Azure API Search service. API key can be accessed from the settings of the Azure AI Search resource in the Azure portal.
General details of NITRO Copilot
To configure NITRO copilots, navigate to the URL below manually.
##SiteURL##/CrowCanyonAppsLib/nitroai/copilot/default.aspx
##SiteURL##: Replace the placeholder with the site URL
General
General Settings
Example:
Name: Specify the name for the copilot. Name will be shown on the copilot page.
Welcome Text: Specify welcome text as required. Leave this blank to use the default welcome text in the copilot webpart.
Supported placeholder: [[CurrentUserDisplayName]]
The above placeholder will be replaced with current logged-in user’s name.
Default message:
Custom Message:
AI SettingsAI Settings
AI Type: Select the AI type as per the requirement for text generation and language processing. Below are the supported AI Types.
- Open AI
- Azure Open AI
AI Connection: Select an AI connection Configured in NITRO Site Settings. If no connection is configured yet, please click the ‘+’ button beside the dropdown to create it now.
Type of Search: Below are the supported search types. Select the type of search you wish to perform.
SharePoint and Embedding Search: Search the content using SharePoint search and the results are ranked using embeddings to capture semantic meaning and context.
SharePoint Search: Access and retrieve information stored within SharePoint repositories. Benefit from SharePoint’s robust document management and collaboration features.
Search Query:
Search query will be shown only if the “Type of Search” is “SharePoint Search” or “SharePoint and Embedding Search”
It provides three options for search query input.
- User Input
- Key Phrases & Synonyms
- Hybrid
User Input: Keywords and phrases entered by the user in Copilot will directly be used to search for relevant information.
Key phrases & Synonyms: Instead of using the user-entered text directly, Copilot will send it to the AI service to extract keywords and synonyms. These keywords and synonyms will be used for the actual search.
Hybrid: Copilot will first search with user entered text. If no results are found, then it will use key phrases and synonyms
- Azure AI Search: It utilizes powerful AI-driven search capabilities provided by Azure with features like semantic search.
Azure AI Search Connection:
This connection will show only when we select “Type of Search” as “Azure AI Search”. Select the Azure AI Search connection to establish a connection with Azure AI Search. This connection allows the Copilot search application to interact with Azure AI Search Services, enabling powerful search capabilities. This dropdown will show the existing Azure AI search connections configured in the NITRO Site Settings.
Also, we can create a new connection using the plus (+) icon.
Azure AI Search Index:
Select the Azure AI Search index you wish to query within your Copilot search application. In Azure AI Search, indexes are used to store the extracted data from the documents and make them available in the search.
The index represents the structured data repository where Azure AI Search stores and retrieves searchable content.
This dropdown will show the existing search indexes in the Azure AI Search. We can also create a new index using the plus (+) icon.
Number of Tokens to API:
Tokens can be thought of as words or pieces of words. 75 words are roughly equivalent to 100 tokens. Passing more tokens to AI APIs will give better results but will incur higher cost.
Specify the number of tokens to the API as per the selected AI connection and the completion model. Different models have different limits for allowed number of tokens.
Chat Message Limit:
Specify the number of messages the user is allowed to send in one conversation with the copilot. Users can start a new chat once this limit is reached.
Data Source
Data Source for SharePoint Search, and SharePoint and Embedding Search:
Select Site URL: Select the site URL for the data source list.
List: This dropdown will show all the available lists from the selected site. Search column can be selected from a custom list or document library list.
Custom List: Select the list from where you want to search.
Search Column: Select a column from the SharePoint list that has the content to search within the Copilot application.
Embeddings Column: This column will store the embedding value of the search column content. This is used to better match the content with user query based on the semantic meaning of the user query.
Number of items/documents to pick: Enter the maximum number of documents or items you wish to retrieve as search results in the SharePoint Search. This number determines how many search results will be displayed or processed based on your query.
Logs: Copilot stores its logs in the list and these can be analyzed by administrator or Crow Canyon support whenever required.
Document Library:
If a document library is used as source, then a NITRO Workflow is required to extract the content of the documents and put it in ‘DocContent’ column (automatically created). Use NITRO Workflows Document Intelligence action for this purpose.
Data source for Azure AI Search
Data source lists are not required for the Azure AI search as it will search content from the search indexes selected in the general settings.
Prompts
Prompts are the instructions to AI to get the desired response. These can be tweaked as per the requirement.
Precanned: Tiles for frequently used queries from the user. These are designed to address common queries or actions within the Copilot application quickly.
You can create a new Precanned by clicking the ‘New’ button.
Upload the icon in any folder in Site Assets, then copy the link.
Sample URL used above: [[Site URL]] /SiteAssets/Icons/Laptop.png
Configured Precanned prompts will be shown in the NITRO Copilot webpart as below
Actions:
Enable Feedback: Enables users to give feedback rating for the conversation. This feedback is stored in a list and can be used by admins to analyze the effectiveness of the copilot. Knowledge-based content can be added and improved based on the types of queries asked by the users.
Save Chat Summary: Enable this setting to copy the conversation along with the feedback.
Feedback List: The feedback list will be created automatically when we save the copilot settings. All the feedback will be saved in this list.
Actions:
Configure actions to escalate the request to the helpdesk if user query is not resolved by the copilot.
Theme
Configure the theme as required.
Configure the Copilot web part in the page
To configure the copilot web part, create a new site page, add “Open AI Search – Crow Canyon” web part, and select the configured NITRO Copilot.
KB Copilot in NITRO Helpdesk
In this article, we have configured NITRO KB Copilot.
In NITRO Helpdesk applications, Knowledge Base is a repository of information to solve frequently occurring issues. It also has data from resolved Tickets so that users can refer to this information if they are facing a problem that has been solved before.
NITRO KB Copilot uses the repository of knowledge base articles data and provides intelligent, appropriate answers to users and reduces demand on the technicians.
In this sample use case, we have used a Knowledge Base list and below is the list of columns required for this configuration.
Column Name | Column Type | Use in NITRO Copilot |
Title | Single line of text | |
Wiki Content | Enhanced rich text | Will be used as search column in NITRO Copilot |
Embeddings | Multiple line of text-Plain | In this sample, use case we have used ‘SharePoint and Embedding Search’ and this column is used to store embedding values |
Checksum | Single line of text | Will use this column to store checksum values |
Configurations for NITRO Copilot
Navigate to the NITRO Copilot page and configure the Copilot as shown below:
Data Source:
Prompts:
Actions:
Create Ticket Action:
Issue Resolved
Calculate Embeddings for Knowledge Base articles
KB Copilot uses the concept of embeddings to provide more relevant response for the user queries.
An embedding is a numerical representation of a text or data that captures the semantic meaning of the text. This is calculated using generative AI services. Embeddings are pre-calculated for the KB articles and stored in a column in the KB list. When user enters their query in the copilot, embedding value is calculated for the user query. The embedding for the user query is matched with that of KB articles and then articles that match more closely with user query are ranked higher.
Using NITRO Workflows, we calculate the embedding for the Knowledge Base article content and store it for use with the copilot.
Configure NITRO Workflows
- Calculate embedding when Knowledge Base articles created
- Configure a workflow on knowledge base article creation
- Calculate embedding when knowledge base article modified
- Configure a workflow on item updated event
Workflow: Calculate embedding when Knowledge Base article is created
Action: Calculate Embeddings
Drag and drop ‘Calculate embeddings’ action as shown below
General Settings: provide action name, action description and delay execution.
Embeddings Settings:
- AI Connection: This dropdown will show all AI connections configured in NITRO site settings. select the AI Connection as required.
- Search Text Column(s): Select the column(s) for which embeddings has to be calculated. This will be the column where KB article text is stored.
- Embeddings Column: Select the multi-line text column to store the embedding value.
- MD5 Checksum Column: Select the single-line text column to store the checksum of the search text column(s). A checksum is used to detect changes in search content, and embedding is recalculated only if the content has changed.
When a knowledge base article is added, embeddings are calculated as shown below:
Configure ‘Update Embeddings value’ workflow on Knowledge base list Item Updated event
Workflow: Calculate embedding when Knowledge Base article is updated
Configure ‘calculate embedding’ action on item update event when ‘Wiki Content’ is modified. ‘Calculate Embedding’ action configuration is same as above.
Condition:
Add KB Copilot to Page
To add KB Copilot to a page, Go to Site Contents in Settings -> Site Pages -> select ‘Site Page’ in the New button dropdown.
In the page after adding the Crow Canyon Open AI Search web part as explained above, click edit properties button to select KB Copilot
Publish the page by clicking the ‘Publish’ button.