Cognitive Search allows you to extend the out of the box functionality with custom skills. This extensibility enables a broad range of features such as creating custom filters, classifying documents, extracting custom entities, and more.
This folder contains some example templates you can leverage to build your own custom skills and some useful Python notebooks you can use if you are building ML models.
Cognitive Search is agnostic to the tool(s) you use to build your custom skills, which are deployed as restful APIs. The only requirements for building your custom skill(s) are:
- Have a secure, HTTPS, end-point.
- Follow the defined input/output schema shown here.
The code found in this repo will help you build and deploy these restful APIs in the correct format whether you are building a simple Azure Function or building your own custom ML model.
- If you are using Azure Machine Learning to build custom skills for your solution, you will need to deploy additional resources to Azure subscription. Please see the AML Quickstart for more information.
In general, there are two types of custom skills that will be used:
Deploying an Azure Function is the quickest and easiest way to create a custom skill. The Sample Skills project provides a template for Azure Functions in C# as well as several examples. Azure Functions are the recommended approach for deploying skills that do not require an ML model.
ML models can be used to enhance the Cognitive Search pipeline. In this template, Azure Machine Learning is used to build and deploy the model. The AML Custom Skill Template provides the files needed to quickly deploy a model to be used as a custom skill.
See the product documentation for more information on custom skills: