Skip to content

Deterministic inference and document extraction for Qwen2.5-3B on Ivy Bridge CPUs. Daemon-based, fixed 1024-token context, PDF→JSON (OCR+RAG), CPU-only.

Notifications You must be signed in to change notification settings

tensoriz/IvyDoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IvyDoc Engine

Descrição

Sistema de extração de dados de documentos e assistente técnico. É construído para executar um LLM (Qwen2.5-3B) em CPUs legadas (Intel Ivy Bridge) que possuem o conjunto de instruções AVX. O sistema prioriza a inferência determinística e de baixa latência.

Arquitetura

  • Core de Inferência: Um binário llama.cpp customizado é executado como um daemon de longa duração, expondo a funcionalidade do modelo em uma porta local (8080).
  • Backend (API Bridge): Um servidor Python (FastAPI) atua como uma ponte para o daemon llama.cpp. Ele gerencia um pipeline de ingestão de documentos e expõe endpoints para upload, status e recuperação de resultados (:8002).
  • Pipeline de Ingestão: Um serviço de monitoramento (watchdog) observa um diretório (ingestion/input) para novos arquivos PDF. O motor de ingestão processa os PDFs usando extração de texto nativo e OCR adaptativo (Tesseract) quando necessário. O conteúdo extraído é usado para RAG e armazenado em um banco de dados SQLite.
  • Frontend: A interação do usuário é feita através de duas interfaces web estáticas (HTML/JS):
    • frontend/: Interface de conversação (chat).
    • frontend_technical/: Painel para monitorar o status da extração de documentos.

Dependências

  • Hardware: CPU com suporte ao conjunto de instruções AVX (ex: Intel Ivy Bridge ou superior).
  • Software:
    • Sistema Operacional: Linux
    • Compiladores: GCC ou Clang
    • Python: 3.10+
    • OCR Engine: Tesseract
  • Bibliotecas Python:
    • PyMuPDF
    • pdfplumber
    • pytesseract
    • Pillow
    • pydantic
    • fastapi
    • uvicorn

Como Executar

  1. Compilar Binários: Execute o script para compilar o motor llama.cpp.
    ./scripts/build_optimized.sh
  2. Iniciar o Daemon do Modelo: Inicie o servidor de inferência em segundo plano.
    ./scripts/start_daemon.sh
  3. Iniciar a API Backend: Inicie o servidor da API Python.
    ./scripts/start_api.sh
  4. Ativar o Monitor de Arquivos: Inicie o serviço que monitora o diretório de ingestão.
    ./scripts/start_watchdog.sh
  5. Acessar a Interface:
    • Para o assistente de chat, abra frontend/index.html em um navegador.
    • Para o painel técnico, abra frontend_technical/index.html.

About

Deterministic inference and document extraction for Qwen2.5-3B on Ivy Bridge CPUs. Daemon-based, fixed 1024-token context, PDF→JSON (OCR+RAG), CPU-only.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published