Pular para o conteúdo
Skillpedia
Agentes48 mil · #2271

azure-ai-document-intelligence-ts

Ajuda seu agente a ler e entender informações em documentos. É útil para extrair dados importantes de arquivos como PDFs ou imagens. Isso torna mais fácil organizar e usar as informações contidas nesses documentos.

O que ela faz

Esta ferramenta extrai informações importantes de documentos, como textos, tabelas e dados estruturados. Ela pode entender diferentes tipos de documentos, como faturas e recibos, ou até mesmo ser treinada para entender documentos personalizados.

Quando usar

  • ✓Quando você precisa extrair dados de faturas e recibos automaticamente.
  • ✓Para organizar e buscar informações em grandes volumes de documentos.
  • ✓Ao criar um sistema que precisa entender o conteúdo de documentos específicos.

Exemplo do que pedir para a IA

“Extraia os dados da fatura neste link: [link da fatura]”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-document-intelligence-ts/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-document-intelligence-ts/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você envia um documento (por link ou arquivo) para a ferramenta. Ela usa modelos pré-treinados ou personalizados para identificar e extrair as informações que você precisa, como valores, datas e nomes.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill azure-ai-document-intelligence-ts

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-document-intelligence-ts/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

SDK REST do Azure Document Intelligence para TypeScript

Extraia texto, tabelas e dados estruturados de documentos usando modelos pré-criados e personalizados.

Instalação

npm install @azure-rest/ai-document-intelligence @azure/identity

Variáveis de Ambiente

DOCUMENT_INTELLIGENCE_ENDPOINT=https://<resource>.cognitiveservices.azure.com
DOCUMENT_INTELLIGENCE_API_KEY=<api-key>

Autenticação

Importante: Este é um cliente REST. DocumentIntelligence é uma função, não uma classe.

DefaultAzureCredential

import DocumentIntelligence from "@azure-rest/ai-document-intelligence";
import { DefaultAzureCredential } from "@azure/identity";

const client = DocumentIntelligence(
  process.env.DOCUMENT_INTELLIGENCE_ENDPOINT!,
  new DefaultAzureCredential()
);

Chave de API

import DocumentIntelligence from "@azure-rest/ai-document-intelligence";

const client = DocumentIntelligence(
  process.env.DOCUMENT_INTELLIGENCE_ENDPOINT!,
  { key: process.env.DOCUMENT_INTELLIGENCE_API_KEY! }
);

Analisar Documento https://example.com

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: "https://example.com/document.pdf"
    },
    queryParameters: { locale: "en-US" }
  });

if (isUnexpected(initialResponse)) {
  throw initialResponse.body.error;
}

const poller = getLongRunningPoller(client, initialResponse);
const result = (await poller.pollUntilDone()).body as AnalyzeOperationOutput;

console.log("Pages:", result.analyzeResult?.pages?.length);
console.log("Tables:", result.analyzeResult?.tables?.length);

Analisar Documento (Arquivo Local)

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;

Modelos Pré-criados

ID do Modelo Descrição
prebuilt-read OCR - extração de texto e idioma
prebuilt-layout Texto, tabelas, marcas de seleção, estrutura
prebuilt-invoice Campos de Fatura
prebuilt-receipt Campos de Recibo
prebuilt-idDocument Campos de Documento de Identidade
prebuilt-tax.us.w2 Campos do formulário fiscal W-2
prebuilt-healthInsuranceCard.us Campos do cartão de seguro saúde
prebuilt-contract Campos de Contrato
prebuilt-bankStatement.us Campos de extrato bancário

Extrair Campos de Fatura

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);
}

Extrair Campos de Recibo

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);
  }
}

…

Perguntas frequentes

Quais tipos de documentos posso processar?

Você pode processar diversos tipos de documentos, incluindo faturas, recibos, documentos de identidade, cartões de seguro saúde, contratos e formulários fiscais. Também é possível treinar a ferramenta para entender documentos personalizados.

Como a ferramenta sabe o que extrair?

Ela utiliza modelos de inteligência artificial. Alguns modelos já vêm prontos para entender tipos comuns de documentos (como faturas), e outros podem ser treinados com seus próprios exemplos para extrair informações específicas.

Preciso saber programar para usar?

A ferramenta em si é um serviço de programação, mas você pode usá-la através de interfaces ou ferramentas que simplificam o processo, sem precisar escrever código complexo.

Detalhes

Descrição original do autor

Extract text, tables, and structured data from documents using prebuilt and custom models.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2271
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas