Edit

Share via


Skills for extra processing during indexing (Azure AI Search)

This article describes the skills in Azure AI Search that you can include in a skillset to access external processing.

A skill is an atomic operation that transforms content in some way. Often, it's an operation that recognizes or extracts text, but it can also be a utility skill that reshapes existing enrichments. The output is usually text-based for use in full-text search or vectors for use in vector search.

Skills are organized into the following categories:

  • A built-in skill wraps API calls to another Azure resource, where the inputs, outputs, and processing steps are well understood. Some built-in skills require an attached resource solely for billing, while others use your Azure-hosted model or resource for both billing and processing.

  • A custom skill provides custom code that executes externally to the search service. It's accessed through a URI. Custom code is often made available through an Azure function app. To attach an open-source or third-party vectorization model, use a custom skill.

  • A utility skill is internal to Azure AI Search, with no dependency on external resources or outbound connections. Most utility skills are nonbillable.

Built-in skills

There are two types of built-in skills:

Foundry resource

Skills in this category call subservices of Foundry Tools. For billing rather than processing, you must attach a Foundry resource to your skillset. Azure AI Search uses internal resources to execute these skills and only uses your Foundry resource for billing purposes.

A small quantity of processing is nonbillable, but at larger volumes, processing is billable. These skills are based on pretrained models from Foundry Tools, which means you can't train the models using your own data.

These skills are billed at the Standard rate.

Skill Description Metered by
Azure Vision multimodal embeddings Multimodal image and text vectorization. Foundry Tools (pricing)
Custom Entity Lookup Looks for text from a custom, user-defined list of words and phrases. Azure AI Search (pricing)
Entity Linking This skill uses a pretrained model to generate links for recognized entities to articles in Wikipedia. Foundry Tools (pricing)
Entity Recognition This skill uses a pretrained model to establish entities for a fixed set of categories: "Person", "Location", "Organization", "Quantity", "DateTime", "URL", "Email", "PersonType", "Event", "Product", "Skill", "Address", "Phone Number" and "IP Address" fields. Foundry Tools (pricing)
Image Analysis This skill uses an image detection algorithm to identify the content of an image and generate a text description. Foundry Tools (pricing)
Key Phrase Extraction This skill uses a pretrained model to detect important phrases based on term placement, linguistic rules, proximity to other terms, and how unusual the term is within the source data. Foundry Tools (pricing)
Language Detection This skill uses a pretrained model to detect which language is used (one language ID per document). When multiple languages are used within the same text segments, the output is the LCID of the predominantly used language. Foundry Tools (pricing)
OCR Optical character recognition. Foundry Tools (pricing)
PII Detection This skill uses a pretrained model to extract personal information from a given text. The skill also gives various options for masking the detected personal information entities in the text. Foundry Tools (pricing)
Sentiment This skill uses a pretrained model to assign sentiment labels (such as "negative", "neutral" and "positive") based on the highest confidence score found by the service at a sentence and document-level on a record by record basis. Foundry Tools (pricing)
Text Translation This skill uses a pretrained model to translate the input text into various languages for normalization or localization use cases. Foundry Tools (pricing)

Azure-hosted model or resource

Skills in this category call Azure-hosted models or resources that you own for both billing and processing. Although Azure Content Understanding is part of Foundry Tools, the Azure Content Understanding skill connects to your deployed resource for processing, not just billing.

These skills are billed at the Standard rate.

Skill Description Metered by
Azure Content Understanding Connects to Azure Content Understanding for advanced document analysis and semantic chunking. Azure Content Understanding (pricing)
Azure OpenAI Embedding Connects to a deployed Azure OpenAI embedding model for integrated vectorization. Azure OpenAI (pricing)
GenAI Prompt Extends an AI enrichment pipeline with a Foundry chat completion model. Azure OpenAI (pricing)

Custom skills

Skills in this category wrap external code that you design, develop, and deploy to the web. You can then call the module from within a skillset as a custom skill.

For guidance on creating a custom skill, see Define a custom interface and Example: Creating a custom skill for AI enrichment.

Skill Description Metered by
AML Extends an AI enrichment pipeline with a Foundry or Azure Machine Learning model. None, unless your solution uses a metered Azure service.
Custom Entity Lookup Extends an AI enrichment pipeline by detecting user-defined entities. None, unless your solution uses a metered Azure service.
Web API Extends an AI enrichment pipeline by making an HTTP call into a custom Web API. None, unless your solution uses a metered Azure service.

Utility skills

Skills in this category execute only on Azure AI Search, iterate mostly on nodes in the enrichment cache, and are mostly nonbillable.

Skill Description Metered by
Conditional Allows filtering, assigning a default value, and merging data based on a condition. Not applicable
Document Extraction Extracts content from a file within the enrichment pipeline. Azure AI Search (pricing) for image extraction
Shaper Maps output to a complex type (a multi-part data type, which might be used for a full name, a multi-line address, or a combination of last name and a personal identifier.) Not applicable
Text Merge Consolidates text from a collection of fields into a single field. Not applicable
Text Split Splits text into pages so that you can enrich or augment content incrementally. Not applicable