Skip to content

OCR: VLM backend provider (implement OcrProvider for vision LLMs) #294

Description

@bzsanti

Motivación

El trait OcrProvider (src/text/ocr/mod.rs, process_image/process_image_regions, Send+Sync) es pluggable, pero la única implementación real es Tesseract (text/tesseract_provider.rs). Azure/AWS se mencionan en el doc-comment sin implementar. No hay backend VLM.

Tesseract falla en escaneos de layout complejo, frecuentes en corpus RAG. Referencia: Kreuzberg soporta OCR vía VLM (GPT-4o/Claude/Gemini/Ollama).

Propuesta

Implementar un OcrProvider que delegue en un VLM. No es cambio arquitectónico —es una impl más del trait existente.

  • Backend configurable por endpoint/modelo (compatible con proveedores OpenAI-like y Anthropic).
  • Encaja con que el ecosistema Tessera ya tendrá acceso a APIs LLM.

Alcance

  • Nuevo provider implementando OcrProvider.
  • Manejo de credenciales fail-safe (sin key → denegar/return error, nunca fallback silencioso inseguro).
  • Tests con imagen de texto conocido verificando el texto reconocido exacto (mock del transporte HTTP para no depender de red en CI; contenido verificado, no smoke).

Valor: medio-alto para corpus escaneado. Esfuerzo: medio.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions