Guía de configuración
Referencia completa de todas las opciones de configuración de Duckling.
Variables de entorno
Cree un archivo .env en el directorio backend:
# Flask Configuration
FLASK_ENV=development # development | production | testing
SECRET_KEY=your-secret-key # Required for production
DEBUG=True # Enable debug mode
# File Handling
MAX_CONTENT_LENGTH=104857600 # Max upload size in bytes (100MB default)
# Database (optional - defaults to SQLite)
DATABASE_URL=sqlite:///history.db
Entorno de producción
FLASK_ENV=production
SECRET_KEY=your-very-secure-random-key-here
DEBUG=False
MAX_CONTENT_LENGTH=209715200 # 200MB for production
Advertencia de seguridad
No use nunca la SECRET_KEY predeterminada en producción. Genere una clave aleatoria segura.
Configuración OCR
El OCR (reconocimiento óptico de caracteres) extrae texto de imágenes y documentos escaneados.
Opciones de configuración
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Activar o desactivar el OCR |
backend | string | "easyocr" | Motor OCR a usar |
language | string | "en" | Idioma principal de reconocimiento |
force_full_page_ocr | boolean | false | OCR en toda la página frente a regiones detectadas |
use_gpu | boolean | false | Aceleración por GPU (solo EasyOCR) |
confidence_threshold | float | 0.5 | Confianza mínima de los resultados (0–1) |
bitmap_area_threshold | float | 0.05 | Ratio mínimo de área para OCR de mapas de bits (0–1) |
Motores OCR
Adecuado para documentos multilingües que requieren precisión.
- GPU: sí (CUDA)
- Idiomas: más de 80
- Nota: puede haber problemas de inicialización en algunos sistemas
Motor OCR clásico y fiable para documentos simples.
- GPU: no
- Idiomas: más de 100
- Requisito: Tesseract instalado en el sistema
OCR nativo de macOS con el framework Vision de Apple.
- GPU: usa Apple Neural Engine
- Requisito: macOS 10.15+
- Códigos de idioma: Duckling acepta códigos cortos (
en,de,fr, etc.) y los normaliza a etiquetas de localización Vision (p. ej.en-US) durante la conversión.
Idiomas admitidos
| Código | Idioma | Código | Idioma |
|---|---|---|---|
en | Inglés | ja | Japonés |
de | Alemán | zh | Chino (simplificado) |
fr | Francés | zh-tw | Chino (tradicional) |
es | Español | ko | Coreano |
it | Italiano | ar | Árabe |
pt | Portugués | hi | Hindi |
nl | Neerlandés | th | Tailandés |
pl | Polaco | vi | Vietnamita |
ru | Ruso | tr | Turco |
Configuración de tablas
Configure cómo se detectan y extraen las tablas de los documentos.
Opciones de configuración
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Activar detección de tablas |
structure_extraction | boolean | true | Conservar la estructura de la tabla |
mode | string | "accurate" | Modo de detección |
do_cell_matching | boolean | true | Asociar el contenido de las celdas a la estructura |
Modos de detección
- Detección de tablas más precisa
- Mejor reconocimiento de los límites de celda
- Procesamiento más lento
- Recomendado para tablas complejas
Configuración de imágenes
Configure la extracción y el procesamiento de imágenes.
Opciones de configuración
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
extract | boolean | true | Extraer imágenes incrustadas |
classify | boolean | true | Clasificar y etiquetar imágenes |
generate_page_images | boolean | false | Crear una imagen por página |
generate_picture_images | boolean | true | Extraer ilustraciones como archivos |
generate_table_images | boolean | true | Extraer tablas como imágenes |
images_scale | float | 1.0 | Factor de escala de imágenes (0,1 a 4,0) |
Ejemplos de configuración
Configuración de rendimiento
Optimice la velocidad de procesamiento y el uso de recursos.
Opciones de configuración
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
device | string | "auto" | Dispositivo de procesamiento |
num_threads | int | 4 | Hilos de CPU (1–32) |
document_timeout | int/null | null | Tiempo máximo de procesamiento en segundos |
Opciones de dispositivo
| Dispositivo | Descripción | Ideal para |
|---|---|---|
auto | Selecciona automáticamente el mejor dispositivo | Uso general |
cpu | Fuerza procesamiento en CPU | Servidores sin GPU |
cuda | Aceleración GPU NVIDIA | Linux/Windows con GPU NVIDIA |
mps | Apple Metal Performance Shaders | macOS con Apple Silicon |
Ejemplos de configuración
Configuración de fragmentación (chunking)
Configure el fragmentado de documentos para aplicaciones RAG.
Opciones de configuración
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | false | Activar fragmentación |
max_tokens | int | 512 | Máximo de tokens por fragmento |
merge_peers | boolean | true | Fusionar fragmentos demasiado pequeños |
Ejemplos de configuración
Configuración de salida
Defina el formato de salida predeterminado.
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
default_format | string | "markdown" | Formato de exportación predeterminado |
Ejemplo de configuración completo
{
"ocr": {
"enabled": true,
"backend": "easyocr",
"language": "en",
"force_full_page_ocr": false,
"use_gpu": false,
"confidence_threshold": 0.5,
"bitmap_area_threshold": 0.05
},
"tables": {
"enabled": true,
"structure_extraction": true,
"mode": "accurate",
"do_cell_matching": true
},
"images": {
"extract": true,
"classify": true,
"generate_page_images": false,
"generate_picture_images": true,
"generate_table_images": true,
"images_scale": 1.0
},
"performance": {
"device": "auto",
"num_threads": 4,
"document_timeout": null
},
"chunking": {
"enabled": false,
"max_tokens": 512,
"merge_peers": true
},
"output": {
"default_format": "markdown"
}
}
Configuración vía API
Obtener la configuración actual
Actualizar la configuración
curl -X PUT http://localhost:5001/api/settings \
-H "Content-Type: application/json" \
-d '{
"ocr": {"backend": "tesseract"},
"performance": {"num_threads": 8}
}'
Restablecer valores predeterminados
Solución de problemas
El OCR no funciona
- Error de inicialización de EasyOCR: cambie a
ocrmac(macOS) otesseract - Errores de GPU: establezca
use_gpu: false - Resultados poco fiables: baje
confidence_threshold
Procesamiento lento
- Reduzca
images_scalea0.5 - Use
mode: "fast"para tablas - Desactive
generate_page_images - Aumente
num_threads
Problemas de memoria
- Active
document_timeout(p. ej. 120 segundos) - Procese menos archivos por lote
- Reduzca
images_scale - Desactive el chunking si no lo necesita