Bulut API'si Kullanmadan Yerel AI Modelleriyle PDF Veri Çıkarmayı Otomatikleştirme

En güvenilir yerel PDF veri çıkarma iş akışı genellikle tek bir AI istemi değil, bir boru hattıdır: önce PDF'den güvenilir metin ve düzeni geri kazanın, ardından yerel bir modelden bu içeriği katı bir şemaya eşleştirmesini isteyin ve son olarak kaydetmeden önce alanları doğrulayın. Her PDF sayfasını doğrudan bir görme modeline göndermek işe yarayabilir, ancak bu yöntem genellikle daha yavaştır, daha fazla donanım yoğunluğu gerektirir ve yeterli olduğunda yerel PDF metni veya OCR kullanmaya kıyasla denetlenmesi daha zordur.

Bu ayrım, hedefiniz "bulut API'si yok" ise önemlidir. Belge içeriklerini barındırılan bir hizmete göndermeden kendi makinenizde bir yerel API kullanmaya devam edebilirsiniz; örneğin, localhost üzerindeki Ollama HTTP uç noktası gibi. Ollama, modeller yerel olarak çalıştığında istemlerin ve yanıtların Ollama'ya geri gönderilmediğini belirtir ve bulut özelliklerini devre dışı bırakan yalnızca yerel bir mod sunar. Docling de uzaktan hizmetleri varsayılan olarak devre dışı bırakır, ancak çevrimdışı kullanım için önceden indirilmedikleri sürece kurulum sırasında model dosyalarının indirilmesi gerekebilir.

Doğru teknoloji yığını PDF'ye bağlıdır. Seçilebilir metne sahip dijital olarak oluşturulmuş faturalar, taranmış makbuzlardan, karmaşık finansal tablolardan veya görsel ağırlıklı formlardan farklı bir yaklaşım gerektirir. Bu rehber bu seçenekleri karşılaştırır ve faturalar, sözleşmeler, satın alma siparişleri, başvuru formları, raporlar ve diğer tekrarlayan belgelere uyarlayabileceğiniz dört aşamalı bir otomasyon kalıbı sunar.

Hızlı öneri: Boru hattını belge türüne göre seçin

PDF türüPratik yerel boru hattıTemel avantajTemel ödünleşim
Temiz seçilebilir metne sahip dijital olarak oluşturulmuş PDFPyMuPDF → yerel metin LLM → JSON doğrulamaHızlı ve donanım açısından nispeten hafifDüz çıkarma, okuma sırasını veya tablo ilişkilerini kaybedebilir
Basit sayfalara sahip taranmış PDFOCRmyPDF/Tesseract → PyMuPDF → yerel metin LLMAI çıkarmasından önce sayfa görüntülerini aranabilir metne dönüştürürOCR hataları model girdi hatalarına dönüşür
Metin, tarama ve tablolar içeren karışık PDFDocling veya OCRmyPDF (atla/yeniden yap modunda) → yerel LLMKarışık içerik ve belge yapısı üzerinde daha iyi kontrolDaha fazla bağımlılık ve işlem süresi
Düzen ağırlıklı formlar, tablolar, diyagramlar veya görsel olarak anlamlı sayfalarDocling yerel boru hattı veya yerel görme modeli → yapılandırılmış çıktıDaha fazla görsel/düzen bağlamını korurGenellikle daha fazla işlem gücü ve daha güçlü doğrulama gerektirir

Evrensel bir kazanan yoktur. Belgeleriniz öngörülebilir ve gömülü metin içeriyorsa, bir ayrıştırıcı artı küçük bir yerel dil modeli, maliyet, hız ve tekrarlanabilirlik açısından çok daha büyük bir görme iş akışından daha iyi performans gösterebilir. Metnin konumu anlamın bir parçasıysa—örneğin, birleşik hücreli bir tablo veya etiketlerin ve değerlerin uzamsal olarak eşleştirildiği bir form—düzen farkındalıklı işlem daha değerli hale gelir.

Adım 1: OCR veya AI seçmeden önce PDF'yi sınıflandırın

Belgenin zaten kullanılabilir metin içerip içermediğini belirleyerek başlayın. Dijital olarak oluşturulmuş, PDF'nin yazılımdan üretildiği ve genellikle seçilip kopyalanabilen metin nesneleri içerdiği anlamına gelir. Bir taranmış PDF yalnızca sayfa görüntüleri içerebilir, bu nedenle normal bir metin ayrıştırıcısı çok az veya hiç sonuç döndürmez.

PyMuPDF'nin resmi belgeleri, page.get_text() ile doğrudan metin çıkarmayı gösterir. Minimal bir yerel test şu şekilde görünür:

import pymupdf

def extract_native_text(pdf_path: str) -> str:
    pages = []
    with pymupdf.open(pdf_path) as doc:
        for page in doc:
            pages.append(page.get_text())
    return "\f".join(pages)

text = extract_native_text("invoice.pdf")
print(text[:1000])

Resmi PyMuPDF temelleri sayfasına bakın. PyMuPDF ayrıca düz PDF metninin doğal okuma sırasına sahip olmayabileceğini ve beklenmedik satır sonları içerebileceği konusunda uyarır. Bu bir ayrıştırıcı sınırlamasıdır, mutlaka bir AI sorunu değildir.

En uygun kullanım: Metin kopyalama/yapıştırmanın zaten çalıştığı ve alanların yakındaki etiketlerden kolayca tanımlanabildiği faturalar, ekstreler, raporlar ve formlar.

Dikkat edilmesi gerekenler: Bir sayfa küçük bir metin katmanı ve büyük bir taranmış görüntü içerebilir. Bu nedenle, "bazı metinlerin var olup olmadığını" kontrol etmek mükemmel bir tarama dedektörü değildir. Üretim otomasyonu için, tek bir evrensel karakter sayısı eşiğine güvenmek yerine temsilci belgeleri inceleyin.

Eylem: 20–50 temsilci PDF alın ve bunları dijital olarak oluşturulmuş, taranmış, karışık ve düzen ağırlıklı gruplara ayırın. Boru hattınız yalnızca dosya uzantısına göre değil, belge davranışına göre yönlendirme yapmalıdır.

Taranmış ve dijital PDF dosyalarını yerel veri çıkarma hattına girdi olarak gösteren AI tarafından oluşturulmuş illüstrasyon
PDF girdi aşamasının AI tarafından oluşturulmuş illüstrasyonu. Bu kavramsal bir iş akışı görüntüsüdür, belirli bir PDF uygulamasının ekran görüntüsü veya bir kıyaslama sonucu değildir.

Adım 2: Metni yerel olarak çıkarın—veya yalnızca ihtiyaç duyduğunuzda OCR kullanın

Seçenek A: Temiz dijital PDF'ler için PyMuPDF

Metin katmanı güvenilirse, doğrudan çıkarma genellikle en basit yoldur. OCR gecikmesinden kaçınır ve zaten doğru kodlanmış metne OCR karakter hatalarının girmesini önler. Uzun belgeler için, tüm belgeyi modele tek seferde geçirmek yerine sayfa ayırıcılarını koruyabilir ve sayfa gruplarını veya mantıksal bölümleri işleyebilirsiniz.

Ödünleşim: Düz metin ucuz ve hızlıdır, ancak tablolar, çok sütunlu sayfalar, başlıklar, altbilgiler ve okuma sırası ek işlem gerektirebilir. Bu ilişkiler hedef alanlar için önemliyse, kötü kaynak metne istem talimatları yığmak yerine düzen farkındalıklı bir temsile geçin.

Seçenek B: Taranmış sayfalar için OCRmyPDF ve Tesseract

Tesseract açık kaynaklı bir OCR motorudur. Mevcut kullanıcı kılavuzu, 5.x serisini ve ayrı eğitimli veri dosyaları aracılığıyla birçok dil desteğini belgeler. OCRmyPDF, taranmış sayfaların aranabilir bir metin katmanı kazanabilmesi için OCR'ı PDF'ye özgü işlemlerin etrafına sarar.

Bazı sayfaların zaten metin içerdiği karışık bir belge için, mevcut OCRmyPDF sürümleri bir skip modunu destekler:

ocrmypdf --mode skip input.pdf searchable.pdf

Resmi OCRmyPDF gelişmiş dokümantasyonu, --mode skip komutunun mevcut metin içeren sayfaları olduğu gibi bıraktığını ve ihtiyaç duyan sayfaları OCR'ladığını açıklar. Aynı dokümantasyon, algılanan önceki OCR'ı değiştirmek için redo ve tüm içeriği rasterleştirip OCR'lamak için force komutlarını tanımlar. Rasterleştirme vektör avantajlarını yok edebilir ve etkileşimli içeriği düzleştirebileceğinden force komutunu dikkatli kullanın.

Tesseract kurulumu, diller ve komut satırı davranışı için resmi Tesseract kullanıcı kılavuzunu kullanın. OCR dili önemlidir: Örneğin faturalarınız İngilizce ve Almanca içeriyorsa, varsayılan İngilizce modelin her ikisini de eşit derecede iyi ele alacağını varsaymak yerine uygun dil verilerini kurup yapılandırın.

Seçenek C: Yapının önemli olduğu durumlarda Docling

Docling, düzen, tablo, OCR ve yerel görme-dil işleme seçenekleriyle belge dönüştürme için tasarlanmıştır. Proje dokümantasyonu, hassas ve hava boşluklu (air-gapped) iş akışları için yerel çalıştırmayı amaçlayan gelişmiş PDF anlama, tablo yapısı, OCR ve kayıpsız JSON/Markdown tarzı çıktıları listeler.

Temel bir Python dönüştürme şu kadar küçük olabilir:

from docling.document_converter import DocumentConverter

converter = DocumentConverter()
doc = converter.convert("input.pdf").document

markdown = doc.export_to_markdown()
structured = doc.export_to_dict()

Resmi Docling hızlı başlangıç sayfasına bakın. Docling ayrıca yerel VLM boru hatlarını ve çeşitli OCR arka uçlarını destekler. Gelişmiş seçenekleri, uzaktan hizmet çağrılarının açıkça opt-in gerektirdiğini, ancak model artefaktlarının çevrimdışı kullanım için önceden indirilebileceğini açıklar.

En uygun kullanım: Karmaşık tablolar, başlıklar, çok sütunlu raporlar, karışık taramalar veya düz bir metin yığını yerine yeniden kullanılabilir bir belge temsili istediğiniz durumlar.

Ödünleşim: Boru hattı basit bir PDF ayrıştırıcıdan daha ağırdır. Bunu, ek yapının çıkarma doğruluğunuzu iyileştirdiği için kullanın—sadece daha fazla bileşene sahip olduğu için değil.

Eylem: Hedef şemanızın ihtiyaç duyduğu bilgiyi koruyan en hafif çıkarma yöntemini seçin. Temiz gömülü metni OCR'lamayın ve düzen anlamı belirlediğinde düzeni çöpe atmayın.

Taranmış PDF'ler için OCR ile dijital PDF'ler için doğrudan metin çıkarmayı karşılaştıran AI tarafından oluşturulmuş illüstrasyon
Taramalar için OCR ve dijital olarak oluşturulmuş PDF'ler için doğrudan çıkarma seçimini gösteren AI tarafından oluşturulmuş illüstrasyon. Gerçek bir OCR uygulaması arayüzünü değil, karar kavramını temsil eder.

Adım 3: Geri kazanılan içeriği yerel bir modelle katı bir şemaya eşleştirin

Güvenilir kaynak içeriğine sahip olduktan sonra, yerel modeli iyi olduğu şey için kullanın: anlamsal eşleştirme. "Bu faturadan her şeyi çıkar" demek yerine, gerçekten ihtiyaç duyduğunuz alanları tanımlayın.

Örneğin:

from pydantic import BaseModel
from typing import Optional

class LineItem(BaseModel):
    description: str
    quantity: Optional[float]
    unit_price: Optional[float]
    amount: Optional[float]

class Invoice(BaseModel):
    invoice_number: Optional[str]
    invoice_date: Optional[str]
    vendor_name: Optional[str]
    currency: Optional[str]
    subtotal: Optional[float]
    tax: Optional[float]
    total: Optional[float]
    items: list[LineItem]

Ollama'nın mevcut yapılandırılmış çıktı dokümantasyonu, format alanı aracılığıyla bir JSON Şeması geçirmeyi ve yanıtı Pydantic ile doğrulamayı destekler. Yerel bir çağrı şu şekilde görünebilir:

from ollama import chat

schema = Invoice.model_json_schema()

prompt = f"""
Extract the invoice into the supplied schema.

Rules:
- Use only information present in the source.
- Use null when a field is not found.
- Do not infer missing invoice numbers, dates, tax, or totals.
- Preserve line items individually.

SOURCE:
{text}
"""

response = chat(
    model="gpt-oss",
    messages=[{"role": "user", "content": prompt}],
    format=schema,
    options={"temperature": 0},
)

invoice = Invoice.model_validate_json(response.message.content)

Bu, daha deterministik yapılandırılmış tamamlamalar için sıfır gibi düşük bir sıcaklık ve yeniden kullanılabilir şemaları öneren Ollama'nın resmi Yapılandırılmış Çıktılar dokümantasyonundaki kalıbı takip eder.

Yukarıdaki model adı, Ollama'nın kendi yapılandırılmış çıktı dokümantasyonundan bir örnektir ve her çıkarma işi için en iyi model olduğu iddiası değildir. Açık etiketlere sahip tekrarlayan faturalar için daha küçük bir model yeterli olabilir; belirsiz sözleşmeler veya tutarsız düzenler için daha güçlü bir model yardımcı olabilir, ancak genellikle daha fazla bellek ve işlem süresi gerektirecektir.

Metin modeli mi yoksa görme modeli mi?

Ayrıştırıcı/OCR çıktısı ihtiyaç duyduğunuz alan ilişkilerini zaten koruyorsa bir metin modeli kullanın. Görsel konumun hayati olduğu veya metin dönüşümünün yapıyı tutarlı bir şekilde kaybettiği durumlarda görme yetenekli yerel bir model kullanın. Ollama'nın resmi Görme dokümantasyonu, yerel görme modellerine görüntü girdilerini destekler ve yapılandırılmış çıktı özelliği görme yetenekli modellerle birleştirilebilir.

Ancak, her sayfayı bir görüntüye dönüştürmek ödünleşimi değiştirir:

  • daha fazla piksel işlenmelidir;
  • yüksek çözünürlüklü sayfalar daha fazla işlem gücü ve bellek tüketir;
  • uzun PDF'ler için sayfa gruplama önemli hale gelir;
  • görsel modeller yine de bir alan uydurabilir veya bir sayıyı yanlış okuyabilir;
  • çıkarılan değerleri bir sayfaya veya kaynak bölgesine geri izlemenin bir yoluna ihtiyacınız vardır.

Eylem: Ayrıştırıcı/OCR metni artı şema kısıtlı yerel bir LLM ile başlayın. Her sayfa için görme maliyetini ödemek yerine yalnızca zor sayfa türlerini yerel bir VLM'ye yükseltin.

Yerel bir AI modelinin alanları tanımlamasını ve belge içeriğinden yapılandırılmış veri üretmesini gösteren AI tarafından oluşturulmuş illüstrasyon
Yerel model aşamasının AI tarafından oluşturulmuş illüstrasyonu. Gerçek bir Ollama ekranını tasvir etmez ve yerel bir modelin doğrulama olmadan her alanı çıkarabileceğini ima etmez.

Adım 4: JSON, CSV, Excel veya bir veritabanına yazmadan önce doğrulayın

Şema açısından geçerli JSON otomatik olarak olgusal olarak doğru değildir. Bir model, yanlış değerlere sahip geçerli alanlar üretebilir. Bu nedenle son aşama, mümkün olan her yerde deterministik kontroller kullanmalıdır.

Bir fatura için faydalı kontroller şunları içerir:

  • Gerekli kimlik alanları: İş akışınız gerektiriyorsa fatura numarası veya satıcı adı mevcut olmalıdır.
  • Tarih ayrıştırma: 03/04/26 gibi belirsiz dizelere güvenmek yerine tarihleri sabit bir politikayla ayrıştırın.
  • Aritmetik: Satır kalemi tutarlarının toplamını, tanımlanmış bir tolerans dahilinde belge ara toplamıyla karşılaştırın.
  • Toplamlar: Ara toplam artı vergi ve diğer ücretlerin toplamla tutarlı olup olmadığını doğrulayın.
  • Para birimi: Belge İngilizce olduğu için USD olduğunu varsaymayın.
  • Kaynak izleme: Kaynak dosya adını, sayfa numarasını, çıkarma zaman damgasını ve isteğe bağlı olarak orijinal PDF'nin bir karmasını saklayın.
  • İnceleme kuyruğu: Eksik, çelişkili veya düşük güven düzeyine sahip durumları, değerleri sessizce doldurmak yerine insan incelemesine yönlendirin.

Temel bir toplu yapı, çıkarmayı doğrulamadan ayırabilir:

from pathlib import Path
import json

for pdf_path in Path("inbox").glob("*.pdf"):
    source_text = extract_native_text(str(pdf_path))

    # If text is unusable, run your OCR or Docling branch here.
    record = extract_with_local_model(source_text)

    errors = validate_record(record)

    if errors:
        save_for_review(pdf_path, record, errors)
    else:
        output = Path("processed") / f"{pdf_path.stem}.json"
        output.write_text(
            json.dumps(record, ensure_ascii=False, indent=2),
            encoding="utf-8"
        )

Yardımcı işlevler, doğrulama kuralları faturalar, sözleşmeler, vergi formları, laboratuvar raporları ve satın alma siparişleri arasında dramatik şekilde farklılık gösterdiği için bilinçli olarak uygulamaya özgü bırakılmıştır. Evrensel bir doğrulayıcı yanlış bir güven duygusu yaratır.

CSV veya Excel'e ihtiyacınız varsa, yalnızca gerçekten satır ve sütunlara ait olan alanları düzleştirin. Tekrarlayan satır kalemleri içeren belgeler için, genellikle her alanı tek bir geniş elektronik tablo satırına zorlamak yerine, bir belge kimliğiyle bağlantılı bir belge düzeyi tablo ve ikinci bir satır kalemi tablosu oluşturmak daha temizdir.

Eylem: Binlerce dosyayı işlemeye başlamadan önce doğrulama kurallarını tanımlayın. Etiketli bir örnek kümesine karşı test edin ve yalnızca "başarıyla işlenen belgeler" değil, alan düzeyi doğruluğunu da kaydedin.

Yerel olarak çıkarılan PDF verilerinin Excel, CSV veya JSON'a kaydedilmesini gösteren AI tarafından oluşturulmuş illüstrasyon
Excel, CSV ve JSON gibi yerel dışa aktarma hedeflerinin AI tarafından oluşturulmuş illüstrasyonu. Bu kavramsal bir uç noktadır ve her PDF'nin inceleme olmadan dönüştürülebileceğine dair kanıt değildir.

Pratik, tamamen yerel bir mimari

Pek çok küçük ve orta ölçekli otomasyon işi için, bu sorumluluk bölünmesi, hepsi bir arada bir modele göre daha kolay bakılabilir:

PDF inbox
   |
   +-- born-digital --> PyMuPDF -------------------+
   |                                               |
   +-- scanned/mixed --> OCRmyPDF/Tesseract -------+--> normalized text/layout
   |                                               |
   +-- layout-heavy --> Docling -------------------+
                                                   |
                                                   v
                                         local LLM / VLM
                                                   |
                                            JSON Schema
                                                   |
                                                   v
                                   deterministic validation
                                                   |
                            +----------------------+----------------+
                            |                      |                |
                           JSON                   CSV             database

Bu tasarım, bileşenleri bağımsız olarak değiştirmenize olanak tanır. OCR kalitesi zayıfsa, LLM'yi yeniden eğitmeden OCR katmanını iyileştirin. Yerel model çok yavaşsa, PDF ayrıştırıcısını değiştirmeden daha küçük bir model kullanın. Bir satıcının faturaları özel tablo işlemesi gerektiriyorsa, yalnızca o dosyaları Docling veya bir görme dalı üzerinden yönlendirin.

Ollama vs. llama.cpp vs. Docling VLM: Hangi yerel çalışma zamanını seçmelisiniz?

SeçenekNe zaman kullanılırGüçlü yönÖdünleşim
OllamaEn kolay yerel model API'sini ve şema kısıtlı çıktıyı istiyorsanızBasit localhost API'si, yapılandırılmış JSON, uyumlu modeller için görme desteğiSoyutlama, çıplak bir çıkarım motoruna kıyasla daha az düşük seviyeli çalışma zamanı kontrolü sağlar
llama.cppDoğrudan GGUF kontrolü, komut satırı dağıtımı veya hafif bir yerel sunucu istiyorsanızYerel CLI/sunucu ve dilbilgisi/JSON-şeması kısıtlı üretimDaha fazla model/çalışma zamanı detayı sizin sorumluluğunuzdadır
Docling VLMTemel zorluğunuz genel sohbet tarzı çıkarma değil, belge düzeni dönüştürme iseMarkdown/HTML/DocTags tarzı çıktılarla belge odaklı yerel VLM boru hattıHer iş kuralı çıkarma adımı için bir ikame olarak değil, bir belge dönüştürme bileşeni olarak düşünülmelidir

Resmi llama.cpp deposu, yerel bir llama-server ve dilbilgisi kısıtlı üretimi belgeler; mevcut sunucu kodu ayrıca JSON şeması kısıtlamalarını kabul eder. Docling'in Görme Modelleri dokümantasyonu, belge dönüştürme için yerel VLM seçeneklerini listeler.

Bir çalışma zamanını yalnızca bir model sıralamasına göre seçmeyin. PDF çıkarma için pratik ölçütler; alan doğruluğu, belge başına verim, makinenizdeki bellek kullanımı, düzenlerinizdeki hata oranı, başlatma karmaşıklığı ve yanlış sonuçları ne kadar kolay inceleyebildiğinizdir.

Boru hattını gerçekten yerel nasıl tutarsınız

"Bulut API'si yok" ifadesi, sadece bir pazarlama etiketi değil, doğrulayabileceğiniz bir dağıtım özelliği olmalıdır.

Ollama

Ollama'nın resmi SSS sayfası, yerel istem ve yanıtların Ollama'ya geri gönderilmediğini belirtir. Ayrıca bir bulut devre dışı bırakma ayarını belgeler:

OLLAMA_NO_CLOUD=1

veya eşdeğer disable_ollama_cloud sunucu ayarı. Ollama'nın yerel API'si http://localhost:11434 adresinde çalışır ve kimlik doğrulama dokümantasyonuna göre yerel erişim için kimlik doğrulama gerektirmez.

Yerel ana makineye (localhost) bağlanmış bir hizmetin, yerel alan ağınıza (LAN) açık bir hizmetten farklı olduğunu unutmayın. Bağlama adresini değiştirirseniz veya başka bir sunucunun arkasına yerleştirirseniz, erişim kontrolünden siz sorumlusunuz.

Docling

Docling, uzaktan hizmet kullanımını varsayılan olarak devre dışı bırakır. Dokümantasyonu ayrıca işlem gizliliğini model ediniminden ayırır: Modeller, önceden indirilmedikleri sürece ilk kullanımda alınabilir. Hava boşluklu bir sistem için, bağlı bir hazırlama makinesinde docling-tools models download komutunu kullanın veya onaylanmış model artefaktlarını başka bir şekilde önceden hazırlayın, ardından çevrimdışı ortamı o yerel artefakt dizinine yönlendirin.

Eylem: Hassas belgeleri işlemeye başlamadan önce, işletim sistemi veya ağ katmanında giden ağ erişimini engelleyin ve bağlantıları izlerken bir test çalıştırın. Uygulama ayarları faydalıdır, ancak ağ kontrolleri size bağımsız bir doğrulama katmanı sağlar.

Yerel AI'nin çözmediği şeyler

Yerel olarak çalıştırmak veri kontrolü seçeneklerini iyileştirir, ancak çıkarmayı otomatik olarak doğru, uyumlu veya güvenli hale getirmez. Yerel dosyalar yine de hata ayıklama günlükleri, geçici dizinler, yedekler, paylaşılan klasörler, aşırı izin veren hizmetler veya kopyalanan dışa aktarımlar yoluyla sızabilir. Yerel bir model de barındırılan bir modelin yapabileceği gibi değerler uydurabilir.

Banka hesap numaraları, ödeme talimatları, sözleşme tarihleri, tıbbi değerler veya düzenleyici tanımlayıcılar gibi yüksek etkili alanlar için modeli tek doğrulayıcı olarak kullanmayın. Bunlar için kaynak metne karşı karşılaştırın, deterministik doğrulama uygulayın ve güven düzeyi yetersiz olduğunda insan incelemesi gerektirin.

Tüm bir klasörü otomatikleştirmeden önce nasıl test edilir

Gerçekten aldığınız durumları içeren küçük, etiketli bir değerlendirme kümesi oluşturun:

  • temiz dijital PDF;
  • düşük çözünürlüklü tarama;
  • döndürülmüş veya eğik sayfa;
  • çok sayfalı fatura;
  • sayfalar arası uzanan tablo;
  • eksik isteğe bağlı alanlar;
  • farklı tarih ve sayı formatları;
  • en az bir kasıtlı olarak zor belge.

Her hedef alan için, çıkarılan değeri gerçek değerle karşılaştırın. Tanımlayıcılar için tam eşleşmeyi, tutarlar için sayısal toleransı ve satır kalemleri için satır düzeyi doğruluğu ölçün. Ayrıca işlem süresini ve manuel incelemeye gönderilen belgelerin yüzdesini kaydedin.

Daha basit bir PyMuPDF-artı-LLM yolu gerekli doğruluğunuza ulaşıyorsa, onu koruyun. Taramalar ana başarısızlık noktasıysa, OCR'ı iyileştirin. Tablo ilişkileri sorunsa, Docling'i test edin. Görsel olarak konumlandırılmış alanlar zor kalmaya devam ediyorsa, o alt küme yerel bir görme modeli üzerinden yönlendirin. Bu kademeli yükseltme, en ağır modeli her sayfaya uygulamaya kıyasla hız ve donanım kullanımı üzerinde genellikle daha iyi kontrol sağlar.

Sonuç

İyi bir yerel PDF çıkarma sistemi, belge okumayı anlamsal çıkarmadan ayırır. PDF zaten iyi metin içeriyorsa PyMuPDF kullanın; sayfa taranmışsa OCRmyPDF/Tesseract kullanın; yapı ve tablolar önemliyse Docling kullanın; ve bir iş şemasına esnek eşleştirme gerektiğinde yerel bir Ollama veya llama.cpp modeli kullanın. Yerel görmeyi yalnızca, metin boru hattının güvenilir bir şekilde koruyamadığı bilgiyi görsel düzenin eklediği yerlerde kullanın.

Son gereklilik doğrulamadır. JSON Şeması, bir model yanıtının şeklini kısıtlayabilir, ancak tutarın, tarihin, ismin veya hesap numarasının kaynakla eşleştiğini kanıtlayamaz. Boru hattını, belirsiz belgelerin görünür ve incelenebilir olacağı şekilde tasarlarsanız, belgeleri bir bulut API'sine teslim etmeden ve yerel AI'nin kalite kontrol ihtiyacını ortadan kaldırdığını iddia etmeden PDF veri çıkarmasının büyük bir bölümünü otomatikleştirebilirsiniz.

Yorum bırak

ABD'li Serbest Çalışanlar İçin Bağımsız Yüklenici Gider Takip Şablonu

ABD'li Serbest Çalışanlar İçin Bağımsız Yüklenici Gider Takip Şablonu

ABD serbest çalışma işleri için IRS uyumlu kategoriler, makbuz kayıtları, 2026 kilometre ücretleri ve vergi inceleme bayrakları içeren bir bağımsız yüklenici gider takip sistemi oluşturun.

Saat Hesaplayıcılı Ücretsiz Excel Çalışan Vardiya Programı Şablonu

Saat Hesaplayıcılı Ücretsiz Excel Çalışan Vardiya Programı Şablonu

Saat hesaplayıcı, gece vardiyası formülleri, haftalık toplamlar, kalite kontrolleri ve net sınırlar içeren ücretsiz bir Excel çalışan vardiya programı oluşturun.

CRM Satın Almadan Önce Excel'de Basit Bir Potansiyel Müşteri Takip Sistemi Nasıl Oluşturulur

CRM Satın Almadan Önce Excel'de Basit Bir Potansiyel Müşteri Takip Sistemi Nasıl Oluşturulur

Tablolar, açılır listeler, takip uyarıları ve basit bir satış hunisi özeti içeren pratik bir Excel potansiyel müşteri takipçisi oluşturun; ayrıca bir CRM'e geçme zamanının geldiğine dair net işaretler.

Atölye Yöneticileri İçin Ekipman Bakım Kayıt Formu Excel Şablonu: Pratik 2026 Kurulumu

Atölye Yöneticileri İçin Ekipman Bakım Kayıt Formu Excel Şablonu: Pratik 2026 Kurulumu

Servis geçmişi, son tarihler, duruş süreleri, maliyetler, denetim kayıtları ve net güvenlik sınırları içeren atölye varlıkları için pratik bir Excel ekipman bakım kaydı oluşturun.

Windows 11'de LM Studio ile DeepSeek'i Çevrimdışı Çalıştırma Rehberi

Windows 11'de LM Studio ile DeepSeek'i Çevrimdışı Çalıştırma Rehberi

LM Studio ile Windows 11'de DeepSeek'i yerel olarak çalıştırın. Normal bir PC için uygun modeli öğrenin, indirip yükleyin, çevrimdışı kullanımı doğrulayın ve yaygın sorunları giderin.

İstem Sıkıştırma Teknikleriyle API Token Maliyetlerini %50 Azaltma Yöntemleri

İstem Sıkıştırma Teknikleriyle API Token Maliyetlerini %50 Azaltma Yöntemleri

Dört pratik istem sıkıştırma tekniği, önbellek dostu düzenler, yapılandırılmış çıktılar ve kalite koruyucu bir değerlendirme planı ile LLM API maliyetlerini düşürün.

n8n ve Claude ile Ücretsiz AI İçerik Dönüştürme Hattı Nasıl Kurulur (Gerçekte Ücretsiz Olan Nedir)

n8n ve Claude ile Ücretsiz AI İçerik Dönüştürme Hattı Nasıl Kurulur (Gerçekte Ücretsiz Olan Nedir)

Yapılandırılmış çıktıları, inceleme kapılarını ve gerçekçi API maliyet rehberliğini içeren, kendi sunucunuzda barındırılan n8n ve Claude ile ücretsiz barındırılabilir bir AI içerik dönüştürme hattı kurun.

Word İçin Yazdırılabilir Etkinlik Planlama Kontrol Listesi ve Bütçe Şablonu

Word İçin Yazdırılabilir Etkinlik Planlama Kontrol Listesi ve Bütçe Şablonu

Zaman çizelgeleri, tedarikçi takibi, tahmini ve gerçek maliyetler, ödemeler ve etkinlik günü görevleri içeren, Word için pratik bir yazdırılabilir etkinlik planlama kontrol listesi ve bütçe şablonu kullanın.

Kişisel Bilgi Yönetimi İçin Yerel Ollama Modellerini Obsidian'a Nasıl Bağlarsınız

Kişisel Bilgi Yönetimi İçin Yerel Ollama Modellerini Obsidian'a Nasıl Bağlarsınız

Yerel AI sohbeti ve kasa farkındalıklı PKM için Ollama'yı Obsidian'a bağlayın. Kurulum, kalite kontrolleri, yerel gömme işlemleri, gizlilik sınırları ve modellerin ne zaman değiştirileceğini öğrenin.

Adım Adım Rehber: AI Ajanlarını Kullanarak Haftalık Rakip İzlemeyi Otomatikleştirme

Adım Adım Rehber: AI Ajanlarını Kullanarak Haftalık Rakip İzlemeyi Otomatikleştirme

AI ajanları, web araması, kanıta dayalı değişiklik tespiti, GitHub Actions zamanlaması ve insan incelemesi ile haftalık rakip izleme iş akışını oluşturun.