# Nanonets-OCR-s

**Nanonets-OCR-s** é um modelo de reconhecimento óptico de caracteres (OCR) que converte a imagem de um documento em Markdown estruturado. A saída preserva o layout da origem, incluindo títulos, listas, tabelas e tags básicas, para que outro modelo consiga interpretá-la. [AI Inference](/pt-br/documentacao/plataforma/ai-inference/) executa o modelo sob o id `nanonets/Nanonets-OCR-s`.

## Detalhes do modelo

O id do modelo seleciona este modelo em uma requisição, e `Azion.AI.run` o recebe como primeiro argumento.

| Detalhe        | Valor                     |
| -------------- | ------------------------- |
| Nome do modelo | Nanonets-OCR-s            |
| Id do modelo   | `nanonets/Nanonets-OCR-s` |

## Capacidades

Os valores abaixo descrevem o modelo em si, e nenhum deles é um campo do corpo da requisição. Para saber quais campos um corpo de requisição aceita, com seus tipos, padrões e limites, consulte [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/).

| Capacidade              | Valor          |
| ----------------------- | -------------- |
| Dados de entrada        | Texto e imagem |
| Comprimento de contexto | 32k tokens     |

---

## Uso

`Azion.AI.run` executa o modelo de dentro de uma [função](/pt-br/documentacao/plataforma/functions/): o id vai no primeiro argumento e um corpo de requisição compatível com OpenAI vai no segundo. O exemplo desta página chama o binding dessa forma. Para enviar o mesmo corpo por HTTP, consulte [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/).

### OCR

Uma requisição de OCR carrega a imagem do documento e a instrução que diz ao modelo como transcrevê-la. As duas viajam em uma única mensagem de usuário, como um array `content` cujas partes indicam cada uma o seu `type`. Para os campos que cada parte carrega, consulte [Objetos de mensagem](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/#objetos-de-mensagem). Esta requisição lê um PNG codificado em base64 e limita a resposta a 500 tokens:

```ts
const modelResponse = await Azion.AI.run("nanonets/Nanonets-OCR-s", {
  "stream": false,
  "max_tokens": 500,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,{img_base64}"
          }
        },
        {
          "type": "text",
          "text": "Extract the text from the above document as if you were reading it naturally. Return the tables in html format. Return the equations in LaTeX representation. If there is an image in the document and image caption is not present, add a small description of the image inside the <img></img> tag; otherwise, add the image caption inside <img></img>. Watermarks should be wrapped in brackets. Ex: <watermark>OFFICIAL COPY</watermark>. Page numbers should be wrapped in brackets. Ex: <page_number>14</page_number> or <page_number>9/22</page_number>. Prefer using ☐ and ☑ for check boxes."
        }
      ]
    }
  ]
})
```

O modelo retorna uma entrada em `choices`, e o texto transcrito fica em `choices[0].message.content`:

```json
{
  "id": "chatcmpl-0123456789abcdef0123456789abcdef",
  "object": "chat.completion",
  "created": 1767268800,
  "model": "nanonets/Nanonets-OCR-s",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning_content": null,
        "content": "E = mc^2",
        "tool_calls": []
      },
      "logprobs": null,
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "total_tokens": 527,
    "completion_tokens": 518,
    "prompt_tokens_details": null
  },
  "prompt_logprobs": null
}
```

---

## Recursos relacionados

- [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos.md): Todos os campos que um corpo de requisição aceita e o endpoint HTTP que recebe o mesmo corpo.
- [Modelos de AI](/pt-br/documentacao/plataforma/ai-inference/modelos.md): Os outros modelos que AI Inference executa e o id ao qual cada um responde.
- [AI Inference](/pt-br/documentacao/plataforma/ai-inference.md): O produto que executa este modelo.
- [Functions](/pt-br/documentacao/plataforma/functions.md): O produto cujo runtime contém o binding que o exemplo desta página chama.
- [Limites do AI Inference](/pt-br/documentacao/plataforma/ai-inference/limites.md): As condições sob as quais a Azion encerra ou desprovisiona um modelo.
- [Glossário](/pt-br/documentacao/plataforma/ai-inference/glossario.md): Onde id do modelo, comprimento de contexto e o restante do vocabulário do AI Inference são definidos.
