- Data Hackers Newsletter
- Posts
- Tutorial: Criando fluxos de trabalho com Docling e Langchain
Tutorial: Criando fluxos de trabalho com Docling e Langchain
Aprenda a integrar o Docling em seus projetos usando Langchain para otimizar o processamento e a análise de documentos.
Explore o mundo da automação de documentos com o Docling, uma ferramenta open-source desenvolvida pela IBM que simplifica o processamento de documentos em múltiplos formatos, como PDF e DOCX. Neste tutorial, você aprenderá a integrar o Docling com o Langchain para otimizar a extração e a análise de dados, criando fluxos de trabalho eficientes que atendem a diversas necessidades em projetos de tecnologia e dados.
Com uma configuração simples, você poderá aproveitar recursos avançados para transformar documentos de forma rápida e precisa. Neste post, você verá como definir o ambiente, carregar documentos e personalizar seus fluxos de trabalho, utilizando a flexibilidade dessas ferramentas poderosas para aprimorar seu desempenho em projetos de análise de dados.
O que é o Docling?
Docling é uma ferramenta open-source desenvolvida pela IBM que tem como objetivo facilitar o processamento de documentos. Com a crescente demanda por automação e transformação digital, o Docling se destaca ao permitir que usuários convertam e extraiam dados de documentos de maneira rápida e eficiente, suportando formatos como PDF, DOCX, XLSX e imagens.

O Docling tem facilitado muito a extração de dados de documentos em várias frentes
Recursos Avançados
Compreensão de PDF
O Docling possui recursos avançados para a análise de documentos em PDF, permitindo compreender o layout, a ordem de leitura e a estrutura de tabelas. Essa funcionalidade é particularmente valiosa em setores como o financeiro, onde a precisão na extração de dados é crucial.
Integrações com inteligência artificial
Uma das grandes vantagens do Docling é a sua capacidade de integração com outras ferramentas de [inteligência artificial](https://www.datahackers.news/p/intelig-ncia-artificial-generativa-exemplos-pr-ticos-em-diversas-ind-strias), como o Langchain. Essa flexibilidade amplifica as possibilidades de uso do Docling em projetos que vão desde a simples extração de texto até o tratamento e análise complexa de dados.
Formatos de Exportação
Docling também permite que os usuários exportem documentos em formatos como Markdown, HTML e JSON, ideais para alimentar modelos de aprendizado de máquina e outros sistemas. Isso significa que a utilização dos dados extraídos pode ser facilmente adaptada a diferentes aplicações.
Além de suas capacidades robustas, o Docling destaca-se pela facilidade de uso e por ser open-source, oferecendo a oportunidade para desenvolvedores e cientistas de dados contribuírem para uma ferramenta que pode impactar significativamente a maneira como interagimos com documentos e dados.
Como usar o Docling em projetos?
Integrar o Docling em seus projetos pode otimizar o processamento e a análise de documentos. A seguir, apresentamos um passo a passo sobre como utilizar essa ferramenta da IBM.
1. Instalação do Docling
Antes de começar, instale o Docling em seu ambiente de desenvolvimento utilizando o gerenciador de pacotes do Python, o pip:
pip install docling
Esta ação instalará a biblioteca e todas as dependências necessárias para seu funcionamento.
2. Importação e Configuração
Após a instalação, o próximo passo é importar o Docling em seu projeto:
import docling
Depois de importá-lo, configure os parâmetros de uso conforme necessário.
3. Leitura de Documentos
O Docling permite a leitura de diversos formatos de documentos, como PDFs e DOCX, utilizando a função de leitura integrada:
document = docling.read('caminho/do/seu/documento.pdf')
Isso carrega o documento, permitindo que você comece a extrair informações dele.
4. Extração de Dados
Uma das principais funcionalidades do Docling é a extração de dados relevantes do conteúdo dos documentos. Para extrair texto, use:
texto_extraido = docling.extract_text(document)
print(texto_extraido)
5. Processamento de Dados
Após extrair os dados, o próximo passo é processá-los. O Docling se integra facilmente com bibliotecas do Python, como pandas, permitindo uma análise mais profunda:
import pandas as pd
dados = docling.extract_table(document)
df = pd.DataFrame(dados)
6. Pós-Processamento
Depois de extrair e processar seus dados, você pode precisar limpá-los ou transformá-los para que estejam prontos para análise. O Docling fornece funcionalidades que auxiliam nesse processo, garantindo melhor qualidade nos resultados.
Quais Formatos de Documento o Docling Suporta?
O Docling facilita a extração e a conversão de dados de diversos formatos de arquivo, incluindo:
- PDF: Suporte avançado a PDFs, permitindo compreensão do layout e estrutura de tabelas.
- DOCX e DOC: Integração fácil com textos formatados.
- XLSX e XLS: Suporte a documentos de planilhas, reforçando a análise de dados tabulares.
- HTML: Extração de dados diretamente de páginas web.
- Imagens: Suporte a formatos como JPEG e PNG, para análise de dados visuais.
Esses formatos permitem que o Docling sirva como uma solução versátil para várias aplicações em manipulação de documentos.
Como criar fluxos de trabalho com Langchain?
Integrar o Docling ao Langchain permite criar fluxos de trabalho robustos e flexíveis para processamento de documentos. A seguir, apresentamos um guia passo a passo sobre como estruturar esses fluxos de trabalho.
1. Definindo o Ambiente
Certifique-se de que seu ambiente esteja corretamente configurado. Utilize o Conda para criar e ativar um novo ambiente:
$ conda create -n docling_langchain python=3.9 -y
$ conda activate docling_langchain
Em seguida, instale as bibliotecas necessárias:
$ pip install docling langchain
2. Inicializando as Ferramentas
Depois de preparar o ambiente, inicie as ferramentas que utilizará em seu fluxo de trabalho. Por exemplo:
from docling import DoclingAPI
docling_api = DoclingAPI(api_key='YOUR_API_KEY')
Certifique-se de substituir 'YOUR_API_KEY'
pela chave de API real.
3. Criando um Fluxo de Trabalho Básico
Defina um fluxo de trabalho básico usando Docling para conversão e extração de dados e Langchain para encadeamento da lógica de decisão:
from langchain import PromptTemplate, OpenAI
llm = OpenAI(api_key='YOUR_OPENAI_API_KEY')
prompt_template = PromptTemplate(template="Extraia as informações relevantes do seguinte documento: {documento}")
def fluxo_trabalho(documento):
dados_extraidos = docling_api.extract_data(documento)
resposta = llm.invoke(prompt_template.fill(documento=dados_extraidos))
return resposta
4. Personalizando o Fluxo de Trabalho
A flexibilidade do Langchain permite personalizar seu fluxo de trabalho conforme necessário:
def fluxo_trabalho_personalizado(documento):
dados_extraidos = docling_api.extract_data(documento)
if "condição específica" in dados_extraidos:
resposta = llm.invoke(prompt_template.fill(documento=dados_extraidos))
else:
resposta = "Nenhuma ação necessária."
return resposta
5. Testando o Fluxo de Trabalho
Execute seu fluxo de trabalho utilizando um documento de teste:
documento_teste = "Aqui está o texto do documento que você quer analisar."
resultado = fluxo_trabalho_personalizado(documento_teste)
print(resultado)
Esse exemplo demonstra a criação e teste de um fluxo de trabalho simples utilizando Docling e Langchain.
Como Integrar Docling e Langchain
A integração entre Docling e Langchain permite uma abordagem mais eficiente para o processamento de documentos. Aqui estão os passos para configurar essa integração.
Passo 1: Instalação
Instale a biblioteca de integração:
pip install langchain-docling
Passo 2: Inicialização do DoclingLoader
Com a biblioteca instalada, inicialize o DoclingLoader
para carregar e processar documentos:
from langchain_docling import DoclingLoader
file_path = "link_ou_caminho_do_documento"
loader = DoclingLoader(file_path=file_path)
Passo 3: Carregamento dos Documentos
Carregue os documentos para processamento:
docs = loader.load()
Passo 4: Escolha do Modo de Exportação
O DoclingLoader
oferece dois modos de exportação:
- ExportType.DOC_CHUNKS: Divide o documento em partes, facilitando a captura de cada segmento.
- ExportType.MARKDOWN: Captura o documento como um único arquivo Markdown.
Especifique o modo de exportação ao inicializar o DoclingLoader
:
from langchain_docling import ExportType
loader = DoclingLoader(file_path=file_path, export_type=ExportType.DOC_CHUNKS)
Passo 5: Incorporando ao Fluxo de Trabalho do Langchain
Os documentos carregados podem ser integrados diretamente a componentes do Langchain, permitindo construir pipelines mais sofisticados:
from langchain.chains import create_retrieval_chain
retriever = ... # Implementação do retriever
question_answer_chain = create_retrieval_chain(retriever, ...)
Essa integração permite um processamento eficiente em projetos com grandes volumes de documentos, economizando tempo e melhorando a precisão nas respostas geradas.
Concluindo
Ao final deste tutorial, você aprendeu como integrar o Docling com o Langchain para otimizar o processamento e a análise de documentos. Com passos simples, você passou pela instalação, configuração e criação de fluxos de trabalho que podem transformar a forma como você lida com documentos em seus projetos de dados.
Além disso, a flexibilidade dessas ferramentas permite personalizar as soluções de acordo com suas necessidades específicas, tornando-a uma escolha valiosa para desenvolvedores e profissionais de dados. Aproveite essas funcionalidades para elevar seus projetos a um novo patamar de eficiência e precisão!