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

O DeepSeek-OCR é uma ferramenta de reconhecimento óptico de caracteres (OCR) desenvolvida e de código aberto pelo DeepSeek-AI. Ela propõe uma nova abordagem chamada "Compressão Óptica Contextual", que repensa a função do codificador visual a partir da perspectiva do Modelo de Linguagem Grande (LLM). Em vez de simplesmente reconhecer o texto em uma imagem, a ferramenta renderiza um conteúdo textual longo, como uma página de documento, em uma imagem, que é então compactada em um conjunto menor de "tokens de visão". Em seguida, o decodificador do modelo de linguagem reconstrói o texto original a partir desses tokens de visão. Essa abordagem pode reduzir o número de tokens de entrada de 7 a 20 vezes, de modo que modelos grandes podem usar menos recursos computacionais para lidar com documentos muito longos, melhorando a eficiência e a velocidade do processamento. O projeto segue a licença de código aberto do MIT.

 

Lista de funções

  • Compressão óptica contextualRedução drástica da quantidade de dados processados pelo modelo por meio da compactação de imagens em tokens visuais, reduzindo o uso da memória e melhorando a velocidade de inferência.
  • Reconhecimento altamente precisoO sistema de reconhecimento de texto é um dos mais avançados do mundo: com uma compactação de 10x, ele ainda pode atingir uma precisão de reconhecimento de cerca de 97%, o que preserva o layout, a tipografia e a relação espacial do documento.
  • Saída estruturadaMarkdown: capacidade de converter documentos, especialmente páginas com layouts complexos (por exemplo, tabelas, listas, cabeçalhos), diretamente no formato Markdown, preservando a estrutura do texto original.
  • Suporte a várias tarefasModificação da palavra de prompt de entrada (Prompt): Ao modificar a palavra de prompt de entrada (Prompt), o modelo pode executar diferentes tarefas, por exemplo:
    • Converta o documento inteiro em Markdown.
    • Reconhecimento genérico de imagens por OCR.
    • Analisa os gráficos no documento.
    • Descreva detalhadamente o conteúdo da imagem.
  • Vários modos de resoluçãoResolução fixa: Suporta uma ampla gama de resoluções fixas de 512 x 512 a 1280 x 1280, bem como um modo de resolução dinâmica para processar documentos de resolução ultra-alta.
  • Raciocínio de alto desempenhoIntegrado com a estrutura vLLM e Transformers, ele pode atingir uma velocidade de cerca de 2.500 tokens/segundo ao processar arquivos PDF em GPUs A100-40G.
  • reconhecimento de escrita manualReconhece o conteúdo manuscrito melhor do que muitas ferramentas tradicionais de OCR com boa iluminação e resolução.

Usando a Ajuda

A instalação e o uso do DeepSeek-OCR são voltados principalmente para desenvolvedores e exigem uma certa base de programação. A seguir, o procedimento detalhado de operação, que é dividido principalmente em três partes: configuração do ambiente, instalação e raciocínio de código.

Etapa 1: Preparação ambiental

Os ambientes oficiais recomendados são CUDA 11.8 e PyTorch 2.6.0. Antes de começar, você precisa instalar o Git e o Conda.

  1. Clonagem do depósito do projeto
    Primeiro, clone a base de código oficial do DeepSeek-OCR do GitHub em seu computador local. Abra um terminal (ferramenta de linha de comando) e digite o seguinte comando:

    git clone https://github.com/deepseek-ai/DeepSeek-OCR.git
    

    Quando executado, ele cria um arquivo no diretório atual chamadoDeepSeek-OCRda pasta.

  2. Criar e ativar o ambiente Conda
    Para evitar conflitos de dependência com outros projetos Python em seu computador, é recomendável criar um ambiente virtual Conda separado.

    # 创建一个名为deepseek-ocr的Python 3.12.9环境
    conda create -n deepseek-ocr python=3.12.9 -y
    # 激活这个新创建的环境
    conda activate deepseek-ocr
    

    Após a ativação bem-sucedida, o prompt do terminal será precedido por(deepseek-ocr)Palavras.

Etapa 2: Instalar dependências

Em um ambiente Conda ativado, as bibliotecas Python necessárias para a execução do modelo precisam ser instaladas.

  1. Instalando o PyTorch
    Instale a versão do PyTorch adaptada ao CUDA 11.8 de acordo com os requisitos oficiais.

    pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118
    
  2. Instalar outras dependências principais
    O projeto conta com a biblioteca vLLM para inferência de alto desempenho e também requer a instalação da bibliotecarequirements.txtOutros pacotes listados no arquivo.

    # 进入项目文件夹
    cd DeepSeek-OCR
    # 安装vLLM(注意:官方提供了编译好的whl文件链接,也可以自行编译)
    # 示例是下载官方提供的whl文件进行安装
    pip install vllm-0.8.5+cu118-cp38-abi3-manylinux1_x86_64.whl
    # 安装requirements.txt中的所有依赖
    pip install -r requirements.txt
    
  3. Instalar o Flash Attention (opcional, mas recomendado)
    Para obter a velocidade ideal, é recomendável instalar a biblioteca Flash Attention.

    pip install flash-attn==2.7.3 --no-build-isolation
    

    Atenção: Você também pode deixar essa biblioteca desinstalada se sua GPU não for compatível ou se a instalação falhar. Posteriormente, no código, você precisará remover a biblioteca_attn_implementation='flash_attention_2'Com esse parâmetro, o modelo será executado, mas será mais lento.

Etapa 3: Executar o código de inferência

O DeepSeek-OCR oferece duas abordagens principais de inferência: com base noTransformersA inferência única da biblioteca e uma biblioteca baseada emvLLMde inferência em lote de alto desempenho.

Abordagem 1: inferência rápida usando transformadores (adequada para testes de imagem única)

Essa abordagem é simples de codificar e ideal para testar rapidamente os efeitos do modelo.

  1. Crie um arquivo Python, por exemplotest_ocr.py.
  2. Copie o código a seguir em um arquivo. Esse código carregará o modelo e executará o reconhecimento de OCR em uma imagem especificada.
    import torch
    from transformers import AutoModel, AutoTokenizer
    import os
    # 指定使用的GPU,'0'代表第一张卡
    os.environ["CUDA_VISIBLE_DEVICES"] = '0'
    # 模型名称
    model_name = 'deepseek-ai/DeepSeek-OCR'
    # 加载分词器和模型
    tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
    # 加载模型,使用flash_attention_2加速,并设置为半精度(bfloat16)以节省显存
    model = AutoModel.from_pretrained(
    model_name,
    trust_remote_code=True,
    _attn_implementation='flash_attention_2',
    use_safetensors=True
    ).eval().cuda().to(torch.bfloat16)
    # 定义输入的图片路径和输出路径
    image_file = 'your_image.jpg' # <-- 将这里替换成你的图片路径
    output_path = 'your/output/dir' # <-- 将这里替换成你的输出文件夹路径
    # 定义提示词,引导模型执行特定任务
    # 这个提示词告诉模型将文档转换为Markdown格式
    prompt = "<image>\n<|grounding|>Convert the document to markdown. "
    # 执行推理
    res = model.infer(
    tokenizer,
    prompt=prompt,
    image_file=image_file,
    output_path=output_path,
    base_size=1024,
    image_size=640,
    crop_mode=True,
    save_results=True,
    test_compress=True
    )
    print(res)
    
  3. código de execução
    Posicione uma imagem a ser reconhecida (por exemployour_image.jpg) no mesmo diretório que o script e, em seguida, execute-o:

    python test_ocr.py
    

    No final da execução do programa, o texto reconhecido será impresso no terminal, enquanto o resultado será salvo no caminho de saída que você especificar.

Segunda maneira: usar o vLLM para raciocínio em lote (adequado para processar um grande número de imagens ou PDF)

O modo vLLM é mais eficiente e adequado para ambientes de produção.

  1. Modificação do arquivo de configuração
    entrar emDeepSeek-OCR-master/DeepSeek-OCR-vllmabra o diretórioconfig.pyaltere o caminho de entrada nele (INPUT_PATH) e o caminho de saída (OUTPUT_PATH) e outras configurações.
  2. script executável
    Scripts para diferentes tarefas são fornecidos nesse diretório:

    • Manipula dados de imagens em fluxo contínuo:python run_dpsk_ocr_image.py
    • Processar arquivos PDF:python run_dpsk_ocr_pdf.py
    • Executar testes de benchmark:python run_dpsk_ocr_eval_batch.py

cenário do aplicativo

  1. Digitalização de documentos
    Depois de digitalizar livros em papel, contratos, relatórios etc. em imagens, use o DeepSeek-OCR para convertê-los rapidamente em texto eletrônico editável e pesquisável, com excelente retenção das legendas, listas e estruturas de tabelas originais.
  2. Extração de informações
    Extraia automaticamente informações importantes, como valor, data, nome do projeto, etc., de imagens de faturas, recibos, formulários, etc., permitindo a entrada automatizada de dados e reduzindo as operações manuais.
  3. Educação e pesquisa
    Os pesquisadores podem usar essa ferramenta para identificar e converter rapidamente o conteúdo textual em documentos, livros antigos, arquivos e outros materiais documentais para posterior análise de dados e recuperação de conteúdo.
  4. Aplicativos de acessibilidade
    Ao reconhecer o texto em imagens e gerar descrições detalhadas, ele pode ajudar usuários com deficiência visual a entender o conteúdo das imagens, por exemplo, para ler menus, placas de trânsito ou instruções de produtos.

QA

  1. O DeepSeek-OCR é gratuito?
    Sim, o DeepSeek-OCR é um projeto de código aberto que segue a licença MIT e é gratuito para os usuários usarem, modificarem e distribuírem.
  2. Quais idiomas são compatíveis?
    O modelo demonstra principalmente seu poder no processamento de documentos em inglês e chinês. Como ele se baseia em um modelo de idioma grande, teoricamente tem potencial para processamento em vários idiomas, mas o efeito exato precisa ser avaliado com base em testes reais.
  3. Qual é o princípio do processamento de arquivos PDF?
    O próprio DeepSeek-OCR lida com imagens. Quando um arquivo PDF é inserido, o programa primeiro renderiza (converte) cada página do PDF em uma imagem, depois faz o OCR dessas imagens página por página e, por fim, mescla os resultados de todas as páginas em uma única saída.
  4. Posso usá-lo sem uma GPU NVIDIA?
    A documentação oficial e os tutoriais são baseados em ambientes NVIDIA GPU e CUDA. Embora o modelo possa, teoricamente, ser executado em uma CPU, ele será muito lento e não será adequado para aplicações práticas. Portanto, é altamente recomendável usá-lo em um dispositivo equipado com uma GPU NVIDIA.
  5. Quais são os benefícios da "compressão óptica contextual"?
    O principal benefício é a eficiência. Quando os modelos tradicionais processam textos longos, o espaço computacional e de memória aumenta drasticamente com o tamanho do texto. Ao compactar imagens de texto em um pequeno número de tokens visuais, o DeepSeek-OCR pode processar o mesmo conteúdo, ou até mais longo, com menos recursos, possibilitando o processamento de documentos de grande escala em hardware limitado.
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