Self-hosted, verifiable pipeline for extracting structured data (station,

date/time, price per litre, litres, discount, total) from German fuel
receipt photos: grayscale + mild bilateral filter + contrast stretch,
Tesseract OCR, then LLM structuring via a small local model (Qwen 2.5,
served by Ollama). Each step is independently runnable and inspectable
through numbered scripts against a shared tooling container.
This commit is contained in:
2026-09-28 19:17:47 +02:00
commit aae57d7a2b
15 changed files with 773 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
FROM python:3.12-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
tesseract-ocr \
tesseract-ocr-deu \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir \
opencv-python-headless==4.10.0.84 \
numpy==2.1.3 \
pillow==11.0.0 \
pytesseract==0.3.13 \
requests==2.32.3 \
odfpy==1.4.1
COPY src/ /opt/app/src/
RUN chmod -R a+rX /opt/app/src
WORKDIR /data
ENTRYPOINT []