🐍 Instalación • 📦 Paquetes • 🚀 Características • 📚 Ejemplo de uso • 🌐 Aplicación Web • 📙 Documentación • 🔍 Licencia
**Sinapsis OCR** proporciona implementaciones potentes y flexibles para extraer texto de imágenes utilizando diferentes motores OCR. Permite a los usuarios configurar y ejecutar fácilmente tareas OCR con una configuración mínima.Este mono-repositorio consiste en diferentes paquetes para OCR:
sinapsis-doctrsinapsis-easyocr
Instala el administrador de tu paquete de elección. Alentamos el uso de uv
Ejemplo con uv:
uv pip install sinapsis-doctr --extra-index-url https://pypi.sinapsis.techo con solo pip:
pip install sinapsis-doctr --extra-index-url https://pypi.sinapsis.techCambia el nombre del paquete para el que deseas instalar.
Important
Las plantillas en cada paquete pueden requerir dependencias adicionales. Para el desarrollo, recomendamos instalar el paquete con todas las dependencias opcionales:
con uv:
uv pip install sinapsis-doctr[all] --extra-index-url https://pypi.sinapsis.techo con solo pip:
pip install sinapsis-doctr[all] --extra-index-url https://pypi.sinapsis.techTip
También puedes instalar todos los paquetes dentro de este proyecto:
uv pip install sinapsis-ocr[all] --extra-index-url https://pypi.sinapsis.techResumen de paquetes
- Sinapsis DocTR
Utiliza la biblioteca DocTR para OCR de alta calidad con modernos modelos de aprendizaje profundo
Admite múltiples arquitecturas de detección y reconocimiento
Provee la extracción detallada de texto con cajas y puntajes de confianza
- Sinapsis EasyOCR
Provee la biblioteca EasyOCR para OCR simple pero eficaz
Soporta varios idiomas
Extrae texto con cajas atados y puntajes de confianza
[!TIP] Usa el comando de CLI
sinapsis info --all-template-namespara mostrar una lista con todos los nombres disponibles de Plantillas instalados con Sinapsis OCR.[!TIP] Usa el comando de CLI
sinapsis info --example-template-config TEMPLATE_NAMEpara producir un ejemplo Agente config para la Plantilla especificado en **TEMPLATE_NAME **.
Por ejemplo, DocTROCRPrediction
uso sinapsis info --example-template-config DocTROCRPrediction para producir un config de ejemplo.
Ejemplo DocTR
agent:
name: doctr_prediction
description: agent to run inference with DocTR, performs on images read, recognition and save
templates:
- template_name: InputTemplate
class_name: InputTemplate
attributes: {}
- template_name: FolderImageDatasetCV2
class_name: FolderImageDatasetCV2
template_input: InputTemplate
attributes:
data_dir: dataset/input
- template_name: DocTROCRPrediction
class_name: DocTROCRPrediction
template_input: FolderImageDatasetCV2
attributes:
recognized_characters_as_labels: True
- template_name: BBoxDrawer
class_name: BBoxDrawer
template_input: DocTROCRPrediction
attributes:
draw_confidence: True
draw_extra_labels: True
- template_name: ImageSaver
class_name: ImageSaver
template_input: BBoxDrawer
attributes:
save_dir: output
root_dir: datasetEjemplo EasyOCR
agent:
name: easyocr_inference
description: agent to run inference with EasyOCR, performs on images read, recognition and save
templates:
- template_name: InputTemplate
class_name: InputTemplate
attributes: {}
- template_name: FolderImageDatasetCV2
class_name: FolderImageDatasetCV2
template_input: InputTemplate
attributes:
data_dir: dataset/input
- template_name: EasyOCR
class_name: EasyOCR
template_input: FolderImageDatasetCV2
attributes: {}
- template_name: BBoxDrawer
class_name: BBoxDrawer
template_input: EasyOCR
attributes:
draw_confidence: True
draw_extra_labels: True
- template_name: ImageSaver
class_name: ImageSaver
template_input: BBoxDrawer
attributes:
save_dir: output
root_dir: datasetPara correr, simplemente usa:
sinapsis run name_of_the_config.ymlLa aplicación web proporciona una interfaz sencilla para extraer texto de imágenes usando OCR. Cargue su imagen, y la aplicación la procesará y mostrará el texto detectado con cajas delimitadoras.
Important
Para ejecutar la aplicación primero necesitas clonar este repositorio:
git clone https://github.com/Sinapsis-ai/sinapsis-ocr.git
cd sinapsis-ocrNote
Si deseas habilitar el intercambio de aplicaciones externas en Gradio, export GRADIO_SHARE_APP=True
[!TIP]
La configuración del agente se puede actualizar utilizando el AGENT_CONFIG_PATH environment var.
Para usos predeterminados el config para fácil ocr, pero esto puede ser castigado con:
AGENT_CONFIG_PATH=/app/packages/sinapsis_doctr/src/sinapsis_doctr/configs/doctr_demo.yaml
🐳 Docker
IMPORTANTE Esta imagen del docker depende de la sinapsis: imagen de fondo. Por favor consulta las instrucciones de sinapsis para construir con Docker.
- Construir la imagen sinapsis-ocr:
docker compose -f docker/compose.yaml build- Iniciar el contenedor de aplicaciones:
docker compose -f docker/compose_app.yaml up- Comprueba el estado:
docker logs -f sinapsis-ocr-app- Los registros mostrarán la URL para acceder a la aplicación web, por ejemplo:
NOTA: La url puede ser diferente, comprueba la salida de los registros
Running on local URL: http://127.0.0.1:7860- Para detener la aplicación:
docker compose -f docker/compose_app.yaml down💻 UV
Para ejecutar la aplicación web utilizando el administrador de paquetes uv , por favor:
- Crear el entorno virtual y sincronizar las dependencias:
uv sync --frozen- Instalar paquetes:
uv pip install sinapsis-ocr[all] --extra-index-url https://pypi.sinapsis.tech- Ejecuta la aplicación web:
uv run webapps/gradio_ocr.py- El terminal mostrará la URL para acceder a la aplicación web, por ejemplo.:
Running on local URL: http://127.0.0.1:7860NOTA: La url puede ser diferente, comprueba la salida de la terminal
- Para detener la aplicación pulse
Control + Cen el terminal
La documentación para este y otros paquetes de sinapsis está disponible en la web de sinapsis
Los tutoriales para diferentes proyectos dentro de sinapsis están disponibles en la página de tutoriales de sinapsis
Este proyecto está licenciado bajo la licencia AGPLv3, que fomenta la colaboración abierta y el intercambio. Para más detalles, consulta el LICENSE archivo.
Para uso comercial, consulta nuestra página Sitio web de Sinapsis para información sobre la obtención de una licencia comercial.