Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O dots.ocr é uma poderosa ferramenta de análise de documentos multilíngues baseada em um modelo visual-linguístico (VLM) de 1,7 bilhão de parâmetros, capaz de detectar simultaneamente o layout e reconhecer o conteúdo. Ele demonstra desempenho de última geração em benchmarks como o OmniDocBench, especialmente na análise de texto, tabela e ordem de leitura. O dots.ocr é compatível com vários idiomas, inclusive idiomas de poucos recursos, e é adequado para o processamento de documentos complexos, como artigos acadêmicos, relatórios financeiros e assim por diante. Em comparação com os pipelines tradicionais de vários modelos, o dots.oc usa uma arquitetura de modelo único que permite alternar entre tarefas simplesmente alterando o prompt de entrada, tornando a inferência rápida e eficiente. Os usuários podem implantá-lo e usá-lo rapidamente por meio do código-fonte aberto no GitHub e da imagem do Docker fornecida.

 

Lista de funções

  • Detecção de layoutCaixa de limite: identifica elementos em um documento (por exemplo, texto, tabelas, fórmulas, imagens etc.) e fornece coordenadas precisas da caixa de limite (bbox).
  • reconhecimento de conteúdoExtrai texto, tabelas (saída em formato HTML), fórmulas (saída em formato LaTeX), etc. de documentos.
  • Suporte a vários idiomasSuporte para análise de documentos em 100 idiomas, especialmente em idiomas com poucos recursos.
  • Otimização da ordem de leituraClassificação: classifica os elementos do documento de acordo com os hábitos de leitura humana para garantir uma saída lógica.
  • inferência rápidaModelo compacto baseado em 1,7 bilhão de parâmetros com velocidade de inferência melhor do que muitos modelos grandes.
  • Troca flexível de dicasPor meio de diferentes prompts (por exemplo prompt_layout_only_eneprompt_ocr) para obter uma análise específica da tarefa.
  • Diversidade de saídaGeração de dados de layout estruturados em formato JSON, arquivos Markdown e visualizações de caixa delimitadora.

Usando a Ajuda

Processo de instalação

Para usar o dots.ocr, primeiro você precisa instalar o ambiente e os pesos do modelo necessários. Veja a seguir as etapas detalhadas da instalação:

  1. Criação de um ambiente virtual::
    conda create -n dots_ocr python=3.12
    conda activate dots_ocr
    

  1. Repositório de código clone::
    git clone https://github.com/rednote-hilab/dots.ocr.git
    cd dots.ocr
    
  2. Instalação do PyTorch e das dependências::
    Dependendo de sua versão do CUDA, instale a versão correspondente do PyTorch, por exemplo:

    pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128
    pip install -e .
    
  3. Download dos pesos do modelo::
    Use o script fornecido para fazer o download dos pesos do modelo. Observe que o nome da pasta do caminho de salvamento do modelo não pode conter pontos; recomenda-se que você use o DotsOCR::

    python3 tools/download_model.py
    
  4. Usando uma imagem do Docker (opcional)::
    Se você tiver problemas de instalação, poderá usar a imagem do Docker fornecida oficialmente:

    git clone https://github.com/rednote-hilab/dots.ocr.git
    cd dots.ocr
    pip install -e .
    

Método de implantação

dots.ocr Recomendado vLLM A implementação é realizada para otimizar o desempenho da inferência. Veja a seguir as etapas da implementação baseada em vLLM:

  1. Registro de modelos no vLLM::
    python3 tools/download_model.py
    export hf_model_path=./weights/DotsOCR
    export PYTHONPATH=$(dirname "$hf_model_path"):$PYTHONPATH
    sed -i '/^from vllm\.entrypoints\.cli\.main import main$/a\
    from DotsOCR import modeling_dots_ocr_vllm' `which vllm`
    
  2. Início do serviço vLLM::
    CUDA_VISIBLE_DEVICES=0 vllm serve ${hf_model_path} --tensor-parallel-size 1 --gpu-memory-utilization 0.95 --chat-template-content-format string --served-model-name model --trust-remote-code
    
  3. Executando o exemplo da API vLLM::
    python3 ./demo/demo_vllm.py --prompt_mode prompt_layout_all_en
    

Como alternativa, use o HuggingFace para inferência:

python3 demo/demo_hf.py

Operações de análise de documentos

Depois que o serviço vLLM for iniciado, você poderá analisar um arquivo de imagem ou PDF com o seguinte comando:

  1. Análise de uma única imagem::
    python3 dots_ocr/parser.py demo/demo_image1.jpg
    
  2. Análise de arquivos PDF::
    Para PDFs de várias páginas, é recomendável definir um número maior de threads:

    python3 dots_ocr/parser.py demo/demo_pdf1.pdf --num_threads 64
    
  3. Somente teste de layout::
    python3 dots_ocr/parser.py demo/demo_image1.jpg --prompt prompt_layout_only_en
    
  4. Extrair somente texto (excluir cabeçalhos e rodapés)::
    python3 dots_ocr/parser.py demo/demo_image1.jpg --prompt prompt_ocr
    
  5. Análise baseada em caixa delimitadora::
    python3 dots_ocr/parser.py demo/demo_image1.jpg --prompt prompt_grounding_ocr --bbox 163 241 1536 705
    

resultado de saída

Após a análise, o dots.ocr gera o seguinte arquivo:

  • Arquivo JSON(por exemplo demo_image1.json): contém a caixa delimitadora, a categoria e o conteúdo de texto do elemento de layout.
  • Arquivo markdown(por exemplo demo_image1.md): mescla todo o conteúdo de texto detectado no formato Markdown, com um demo_image1_nohf.md A versão exclui cabeçalhos e rodapés.
  • visualização(por exemplo demo_image1.jpg): desenha a caixa delimitadora detectada na imagem original.

Demo em execução

A interface de apresentação interativa pode ser iniciada com o seguinte comando:

python demo/demo_gradio.py

ou executar uma demonstração de OCR baseada em caixa delimitadora:

python demo/demo_gradio_annotion.py

advertência

  • Modelo Salvar caminhoVerifique se o caminho de salvamento do modelo não contém períodos (por exemplo DotsOCR), caso contrário, isso pode resultar em um erro de carregamento do módulo.
  • resolução de imagemRecomenda-se que a resolução da imagem não exceda 11289600 pixels e que o DPI seja definido como 200 para resolução de PDF.
  • Tratamento de caracteres especiaisCaracteres especiais consecutivos (por exemplo ... talvez _) pode resultar em uma exceção de saída, é recomendável usar o prompt_layout_only_en talvez prompt_ocr Dica.

cenário do aplicativo

  1. Análise de trabalhos acadêmicos
    O dots.ocr analisa com eficiência textos, fórmulas e tabelas em artigos acadêmicos para produzir dados JSON estruturados e documentos Markdown para que os pesquisadores organizem sua literatura.
  2. Processamento de relatórios financeiros
    Para relatórios financeiros, o dots.ocr extrai com precisão o conteúdo de tabelas e textos, gerando tabelas em formato HTML para facilitar a análise e o arquivamento de dados.
  3. Documentação multilíngue
    Oferece suporte à análise em 100 idiomas e é adequado para o processamento de contratos multilíngues, documentos jurídicos etc., garantindo a extração precisa do conteúdo e do layout.
  4. Coleta de materiais educacionais
    Analisa livros didáticos, testes e outros materiais educacionais para extrair fórmulas (no formato LaTeX) e texto, facilitando a organização de recursos de aprendizado para professores e alunos.

QA

  1. Quais idiomas são suportados pelo dots.ocr?
    O dots.ocr suporta 100 idiomas, incluindo inglês, chinês, tibetano, russo etc. Ele é especialmente bom em idiomas com poucos recursos.
  2. Como lidar com arquivos PDF grandes?
    fazer uso de parser.py e definir o script --num_threads (por exemplo, 64) para acelerar a análise de PDFs de várias páginas.
  3. Como é a saída do resultado da análise?
    Os resultados incluem arquivos JSON (dados estruturados), arquivos Markdown (conteúdo de texto) e imagens visuais (com caixas delimitadoras).
  4. Como faço para resolver os erros de carregamento do modelo?
    Certifique-se de que o caminho de salvamento do modelo não contenha períodos (por exemplo, usando o parâmetro DotsOCR) e verifique se o script de registro do vLLM foi executado corretamente.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

voltar ao topo

pt_BRPortuguês do Brasil