Documentation Index

Fetch the complete documentation index at: https://azure-cost-management-playbook.turbo360.com/llms.txt

Use this file to discover all available pages before exploring further.

AI Language

Prev Next

What it does

A suite of NLP capabilities for understanding and processing text:

  • Sentiment Analysis — positive/negative/neutral scoring at document and sentence level.

  • Named Entity Recognition (NER) — extracts people, places, organisations, dates, etc.

  • Key Phrase Extraction — identifies the main topics in a block of text.

  • Text Summarisation — abstractive and extractive summaries.

  • Custom Text Classification / Custom NER — train on your own labelled data for domain-specific tasks.

  • Conversational Language Understanding (CLU) — intent and entity extraction for bot/agent scenarios.

  • Question Answering — builds a knowledge base from FAQs or documents and answers natural-language questions.

When you'd use it

  • You need to classify, tag, or extract meaning from large volumes of unstructured text.

  • You are building a chatbot and need to understand user intent without using a full LLM.

  • You want automated summarisation or sentiment reporting on customer feedback.

Sample use case

A telecoms company processes thousands of customer service transcripts per day. Azure AI Language runs sentiment analysis and key phrase extraction on each transcript. Results are aggregated in a Power BI dashboard, giving the operations team a daily view of which topics are driving negative sentiment and require process changes.

Example reference architecture

Pricing & How Costs Work

Azure AI Language is priced per 1,000 text records. A text record is defined as up to 1,000 characters of text (including whitespace). Text longer than 1,000 characters is split into multiple records and billed accordingly.

Feature

Pricing unit

Notes

Sentiment Analysis

Per 1,000 text records

Document-level and sentence-level scoring

Key Phrase Extraction

Per 1,000 text records

Named Entity Recognition (NER)

Per 1,000 text records

Entity Linking

Per 1,000 text records

PII Detection

Per 1,000 text records

Language Detection

Per 1,000 text records

Very cheap; minimal compute

Text Summarisation

Per 1,000 text records

Abstractive summarisation is at a higher rate than extractive

Custom Text Classification

Per 1,000 text records (inference)

Training: per training hour + per hosted model per hour

Custom NER

Per 1,000 text records (inference)

Training: per training hour + per hosted model per hour

Conversational Language Understanding (CLU)

Per 1,000 text records

Intent + entity recognition for bot scenarios

Orchestration Workflow

Per 1,000 text records

Routes between CLU, QnA, and LUIS models

Question Answering (QnA)

Per 1,000 text records (inference)

Custom question answering: per hosted deployment hour

Key pricing mechanics:

  • Free tier (F0): 5,000 text records/month for most features.

  • Standard tier (S): Per-1,000-record pricing with volume discounts at higher tiers.

  • Custom model hosting: Custom Text Classification, Custom NER, and Question Answering incur a continuous hosting charge (per hour) when a trained model is deployed — this cost accumulates even with zero inference traffic.

  • Multi-feature calls: Calling multiple features (e.g. sentiment + NER) on the same text in a single API call batches the records but each feature is billed separately. The SDK's analyze endpoint can run multiple operations; each operation generates its own record count.

  • Character counting: A 500-character string = 1 record. A 1,500-character string = 2 records. This makes long documents significantly more expensive.

What Drives Costs

Cost driver

Why it matters

Text volume (characters)

The fundamental driver. More characters = more records = higher cost.

Number of features called

Each feature (NER, sentiment, key phrases) is billed independently, even on the same text.

Average text length per call

Long documents are split into multiple records and billed per record.

Custom model hosting hours

A deployed custom model accrues cost continuously, regardless of traffic.

Custom model training frequency

Each training run is charged by compute hours.

Abstractive vs extractive summarisation

Abstractive costs more per record than extractive.

Cost optimization levers:

  • Truncate text to the relevant portion before sending to the API if full-document analysis is not needed.

  • Combine multiple features in a single analyze call (batching) to reduce overhead.

  • Undeploy custom models when not actively receiving traffic — hosting charges stop when a deployment is deleted.

  • Cache results for identical or duplicate text inputs.

  • Use language detection selectively — only run it when the language is genuinely unknown.

Azure Cost Data — Meters & Meter Subcategories

Azure AI Language appears under the Cognitive Services service family. Resource type: Microsoft.CognitiveServices/accounts with kind TextAnalytics.

Meter name

Meter subcategory

What it counts

Text Records

Standard S

Records processed by standard NLP features (sentiment, NER, key phrases, etc.)

Custom Text Classification Records

Standard S

Records processed by a deployed custom classification model

Custom NER Records

Standard S

Records processed by a deployed custom NER model

Custom Text Analytics Training

Standard S

Compute hours consumed during a training run

Custom Text Analytics Hosting

Standard S

Hourly charge for each deployed custom model endpoint

Conversational Language Understanding Records

Standard S

Records processed by a CLU project

Question Answering Records

Standard S

Records processed against a deployed QnA knowledge base

Question Answering Hosting

Standard S

Hourly charge for a deployed QnA endpoint

Meter subcategory notes:

  • Standard NLP features (sentiment, NER, key phrases, language detection, summarisation) all roll up into the same Text Records meter. To see a breakdown by feature, you need to use Azure Monitor Metrics on the Cognitive Services resource (the ProcessedTextRecords metric, filtered by FeatureName).

  • Custom model hosting meters accumulate 24×7 while a deployment exists, making them visible as a flat daily cost in billing exports even on days with zero inference volume.

  • The Tags on the Cognitive Services resource are inherited by all billing rows, making resource tagging (e.g. env=prod, team=nlp) a key mechanism for cost allocation.


Common Developer Mistakes That Drive Up Costs

  • Sending long documents to the API without truncating to the relevant portion. A text record is up to 1,000 characters. A 10,000-character document costs 10 records. If only the first 2,000 characters are relevant (e.g. the executive summary of a report), submitting the full text costs 5× more than necessary.

  • Calling multiple features on the same text without considering whether all are needed. Each feature (sentiment, NER, key phrases, language detection) is billed independently. Running all five features on every document when only sentiment is used downstream means paying for four features on every call that go unused.

  • Leaving custom model deployments running when not in active use. Custom Text Classification, Custom NER, and Question Answering deployments incur an hourly hosting fee even with zero traffic. Teams that deploy models for a proof-of-concept and don't remove the deployment continue paying indefinitely.

  • Calling language detection on content where the language is already known. If the application already knows the source language (e.g. a form where the user selects their language), calling the language detection API on every document is unnecessary cost.

  • Not caching results for frequently repeated text. In pipelines processing recurring content (e.g. daily re-analysis of product descriptions that rarely change), re-calling the API on every pipeline run charges for the same records repeatedly.

  • Using abstractive summarisation when extractive would suffice. Abstractive summarisation costs more per record than extractive. For use cases where the goal is identifying the key sentences rather than generating a novel summary, extractive is a cheaper alternative.


What Could Make Your Bill Go Up or Down Next Month

Could go UP:

  • A new data pipeline begins processing a backlog of historical documents, generating a large one-time spike in text record consumption.

  • The average document length increases (e.g. processing full contracts instead of abstracts), multiplying records per document.

  • A new feature enables two additional NLP features (e.g. NER + key phrases) on the same documents that previously only had sentiment analysis.

  • A custom model deployment is created for a pilot and not removed at pilot end, accruing hosting charges.

  • User-generated content volume on the platform grows significantly (e.g. following a marketing campaign).

Could go DOWN:

  • Text is truncated to the relevant portion before submission, reducing average records per document.

  • Custom model deployments for inactive pilots or seasonal features are deleted.

  • Results are cached for content that is re-processed on recurring pipeline runs.

  • Language detection calls are removed from pipelines where the source language is already known from metadata.

  • Abstractive summarisation is replaced with extractive for use cases where extractive output quality is acceptable.


Most Common Optimization Techniques

Technique

Mechanism

Typical saving

Truncate text to the relevant portion

Submit only the characters that contribute to the analysis; skip boilerplate, headers, and footers

Proportional to the ratio of relevant to total text — often 30–70% on long documents

Call only the features you use downstream

Audit which NLP features' outputs are actually consumed by the application; remove unused feature calls

Reduces cost by 1/N per unused feature removed from each call

Delete idle custom model deployments

Remove deployments for inactive pilots, seasonal features, or completed projects

Eliminates 100% of hosting cost for idle deployments

Cache results for recurring content

Store analysis results keyed on content hash; skip API call on cache hit

Eliminates cost for unchanged content re-processed on recurring runs

Skip language detection when language is known

Use metadata (user locale, form selection) to bypass language detection calls

Eliminates one text record per document for known-language pipelines

Use extractive instead of abstractive summarisation where appropriate

Extractive costs less per record; evaluate whether the quality difference matters for your use case

Meaningful per-record rate difference on summarisation-heavy workloads