Skip to main content Skills Marktplatz Entdecken und erkunden Sie KI-Skills, die von der Community erstellt wurden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Prompt kopierenPrompt-Details anzeigen Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-ai-document-intelligence-tsDer Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
ZIP herunterladen Herunterladen... Mehr aus diesem Repository
Verwandte Berufe SOC
Basierend auf der SOC-Berufsklassifikation
name azure-ai-document-intelligence-ts description Extract text, tables, and structured data from documents using prebuilt and custom models. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","document","intelligence"]
Azure Document Intelligence REST SDK for TypeScript
Extract text, tables, and structured data from documents using prebuilt and custom models.
Installation
npm install @azure-rest/ai-document-intelligence @azure/identity
Environment Variables
DOCUMENT_INTELLIGENCE_ENDPOINT=https://<resource>.cognitiveservices.azure.com
DOCUMENT_INTELLIGENCE_API_KEY=<api-key>
Authentication
Important : This is a REST client. DocumentIntelligence is a function , not a class.
DefaultAzureCredential
import DocumentIntelligence from "@azure-rest/ai-document-intelligence" ;
import { DefaultAzureCredential } from "@azure/identity" ;
const client = DocumentIntelligence (
process.env .DOCUMENT_INTELLIGENCE_ENDPOINT !,
new DefaultAzureCredential ()
);
API Key
import DocumentIntelligence from "@azure-rest/ai-document-intelligence" ;
const client = DocumentIntelligence (
process.env .DOCUMENT_INTELLIGENCE_ENDPOINT !,
{ key : process.env .DOCUMENT_INTELLIGENCE_API_KEY ! }
);
Analyze Document (URL)
import DocumentIntelligence , {
isUnexpected,
getLongRunningPoller,
AnalyzeOperationOutput
} from "@azure-rest/ai-document-intelligence" ;
initialResponse = client
. ( , )
. ({
: ,
: {
:
},
: { : }
});
( (initialResponse)) {
initialResponse. . ;
}
poller = (client, initialResponse);
result = ( poller. ()). ;
. ( , result. ?. ?. );
. ( , result. ?. ?. );
const
await
path
"/documentModels/{modelId}:analyze"
"prebuilt-layout"
post
contentType
"application/json"
body
urlSource
"https://example.com/document.pdf"
queryParameters
locale
"en-US"
if
isUnexpected
throw
body
error
const
getLongRunningPoller
const
await
pollUntilDone
body
as
AnalyzeOperationOutput
console
log
"Pages:"
analyzeResult
pages
length
console
log
"Tables:"
analyzeResult
tables
length
Analyze Document (Local File) import { readFile } from "node:fs/promises" ;
const fileBuffer = await readFile ("./document.pdf" );
const base64Source = fileBuffer.toString ("base64" );
const initialResponse = await client
.path ("/documentModels/{modelId}:analyze" , "prebuilt-invoice" )
.post ({
contentType : "application/json" ,
body : { base64Source }
});
if (isUnexpected (initialResponse)) {
throw initialResponse.body .error ;
}
const poller = getLongRunningPoller (client, initialResponse);
const result = (await poller.pollUntilDone ()).body as AnalyzeOperationOutput ;
Prebuilt Models Model ID Description prebuilt-readOCR - text and language extraction prebuilt-layoutText, tables, selection marks, structure prebuilt-invoiceInvoice fields prebuilt-receiptReceipt fields prebuilt-idDocumentID document fields prebuilt-tax.us.w2W-2 tax form fields prebuilt-healthInsuranceCard.usHealth insurance card fields prebuilt-contractContract fields prebuilt-bankStatement.usBank statement fields
Extract Invoice Fields const initialResponse = await client
.path ("/documentModels/{modelId}:analyze" , "prebuilt-invoice" )
.post ({
contentType : "application/json" ,
body : { urlSource : invoiceUrl }
});
if (isUnexpected (initialResponse)) {
throw initialResponse.body .error ;
}
const poller = getLongRunningPoller (client, initialResponse);
const result = (await poller.pollUntilDone ()).body as AnalyzeOperationOutput ;
const invoice = result.analyzeResult ?.documents ?.[0 ];
if (invoice) {
console .log ("Vendor:" , invoice.fields ?.VendorName ?.content );
console .log ("Total:" , invoice.fields ?.InvoiceTotal ?.content );
console .log ("Due Date:" , invoice.fields ?.DueDate ?.content );
}
Extract Receipt Fields const initialResponse = await client
.path ("/documentModels/{modelId}:analyze" , "prebuilt-receipt" )
.post ({
contentType : "application/json" ,
body : { urlSource : receiptUrl }
});
const poller = getLongRunningPoller (client, initialResponse);
const result = (await poller.pollUntilDone ()).body as AnalyzeOperationOutput ;
const receipt = result.analyzeResult ?.documents ?.[0 ];
if (receipt) {
console .log ("Merchant:" , receipt.fields ?.MerchantName ?.content );
console .log ("Total:" , receipt.fields ?.Total ?.content );
for (const item of receipt.fields ?.Items ?.values || []) {
console .log ("Item:" , item.properties ?.Description ?.content );
console .log ("Price:" , item.properties ?.TotalPrice ?.content );
}
}
List Document Models import DocumentIntelligence , { isUnexpected, paginate } from "@azure-rest/ai-document-intelligence" ;
const response = await client.path ("/documentModels" ).get ();
if (isUnexpected (response)) {
throw response.body .error ;
}
for await (const model of paginate (client, response)) {
console .log (model.modelId );
}
Build Custom Model const initialResponse = await client.path ("/documentModels:build" ).post ({
body : {
modelId : "my-custom-model" ,
description : "Custom model for purchase orders" ,
buildMode : "template" ,
azureBlobSource : {
containerUrl : process.env .TRAINING_CONTAINER_SAS_URL !,
prefix : "training-data/"
}
}
});
if (isUnexpected (initialResponse)) {
throw initialResponse.body .error ;
}
const poller = getLongRunningPoller (client, initialResponse);
const result = await poller.pollUntilDone ();
console .log ("Model built:" , result.body );
Build Document Classifier import { DocumentClassifierBuildOperationDetailsOutput } from "@azure-rest/ai-document-intelligence" ;
const containerSasUrl = process.env .TRAINING_CONTAINER_SAS_URL !;
const initialResponse = await client.path ("/documentClassifiers:build" ).post ({
body : {
classifierId : "my-classifier" ,
description : "Invoice vs Receipt classifier" ,
docTypes : {
invoices : {
azureBlobSource : { containerUrl : containerSasUrl, prefix : "invoices/" }
},
receipts : {
azureBlobSource : { containerUrl : containerSasUrl, prefix : "receipts/" }
}
}
}
});
if (isUnexpected (initialResponse)) {
throw initialResponse.body .error ;
}
const poller = getLongRunningPoller (client, initialResponse);
const result = (await poller.pollUntilDone ()).body as DocumentClassifierBuildOperationDetailsOutput ;
console .log ("Classifier:" , result.result ?.classifierId );
Classify Document const initialResponse = await client
.path ("/documentClassifiers/{classifierId}:analyze" , "my-classifier" )
.post ({
contentType : "application/json" ,
body : { urlSource : documentUrl },
queryParameters : { split : "auto" }
});
if (isUnexpected (initialResponse)) {
throw initialResponse.body .error ;
}
const poller = getLongRunningPoller (client, initialResponse);
const result = await poller.pollUntilDone ();
console .log ("Classification:" , result.body .analyzeResult ?.documents );
Get Service Info const response = await client.path ("/info" ).get ();
if (isUnexpected (response)) {
throw response.body .error ;
}
console .log ("Custom model limit:" , response.body .customDocumentModels .limit );
console .log ("Custom model count:" , response.body .customDocumentModels .count );
Polling Pattern import DocumentIntelligence , {
isUnexpected,
getLongRunningPoller,
AnalyzeOperationOutput
} from "@azure-rest/ai-document-intelligence" ;
const initialResponse = await client
.path ("/documentModels/{modelId}:analyze" , "prebuilt-layout" )
.post ({ contentType : "application/json" , body : { urlSource } });
if (isUnexpected (initialResponse)) {
throw initialResponse.body .error ;
}
const poller = getLongRunningPoller (client, initialResponse);
poller.onProgress ((state ) => {
console .log ("Status:" , state.status );
});
const result = (await poller.pollUntilDone ()).body as AnalyzeOperationOutput ;
Key Types import DocumentIntelligence , {
isUnexpected,
getLongRunningPoller,
paginate,
parseResultIdFromResponse,
AnalyzeOperationOutput ,
DocumentClassifierBuildOperationDetailsOutput
} from "@azure-rest/ai-document-intelligence" ;
Best Practices
Use getLongRunningPoller() - Document analysis is async, always poll for results
Check isUnexpected() - Type guard for proper error handling
Choose the right model - Use prebuilt models when possible, custom for specialized docs
Handle confidence scores - Fields have confidence values, set thresholds for your use case
Use pagination - Use paginate() helper for listing models
Prefer neural mode - For custom models, neural handles more variation than template
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]