RolmOCR: modelo de reconocimiento óptico de caracteres (OCR) de documentos para reconocer caracteres manuscritos e inclinados
Últimos recursos sobre IAPublicado hace 4 meses Círculo de intercambio de inteligencia artificial 1.8K 00
Introducción general
RolmOCR es una herramienta de reconocimiento óptico de caracteres (OCR) de código abierto desarrollada por el equipo Reducto AI, basada en el modelo de lenguaje visual Qwen2.5-VL-7B. Puede extraer texto de imágenes y archivos PDF más rápidamente que otras herramientas similares. olmOCR RolmOCR no depende de los metadatos PDF, lo que simplifica el procesamiento al tiempo que admite una amplia gama de tipos de documentos, incluidas notas manuscritas y trabajos académicos. El equipo de Reducto creó la herramienta actualizando el modelo y optimizando los datos de entrenamiento, con el objetivo de hacer más eficiente la digitalización de documentos.


Lista de funciones
- Extracción rápida de texto: Extraiga texto de imágenes y archivos PDF con gran velocidad de procesamiento para un gran número de documentos.
- Admite una amplia gama de documentos: reconoce notas manuscritas, documentos impresos y formularios complejos.
- Código abierto y gratuito: abierto bajo licencia Apache 2.0, el código puede descargarse y adaptarse libremente.
- Poca memoria: en comparación con olmOCR Mayor eficiencia de recursos y menores requisitos informáticos durante el funcionamiento.
- Sin necesidad de metadatos: procese directamente el documento original sin depender de la información adicional del PDF.
- Reconocimiento mejorado de documentos inclinados: 15% en los datos de entrenamiento se gira para mejorar la adaptación a documentos con ángulos no positivos.
- Basado en el último modelo: adopta Qwen2.5-VL-7B para mejorar la precisión y la eficacia del reconocimiento.
Utilizar la ayuda
RolmOCR es una herramienta de código abierto que funciona principalmente mediante código y es adecuada para usuarios con conocimientos básicos de programación. A continuación se ofrece una guía detallada de instalación y uso.
Proceso de instalación
- Comprobación del entorno Python
RolmOCR requiere Python 3.8 o superior. Abra la línea de comandos y escribapython --version
Comprueba la versión. Si no la tiene instalada, vaya al sitio web de Python y descárguela e instálela. - Instalación del marco vLLM
Uso de RolmOCR vLLM Ejecute el modelo. Introduzca en la línea de comandos:
pip install vllm
Una vez finalizada la instalación, configure las variables de entorno:
export VLLM_USE_V1=1
Esto garantiza que vLLM funcione correctamente.
- Descargar el modelo RolmOCR
Los archivos del modelo están alojados en Hugging Face. Vaya a https://huggingface.co/reducto/RolmOCR y haga clic en "Archivos y versiones" para descargarlo. O sácalo desde la línea de comandos:
git clone https://huggingface.co/reducto/RolmOCR
- Puesta en marcha de servicios locales
Vaya a la carpeta del modelo descargado y ejecútelo:
vllm serve reducto/RolmOCR
Cuando se inicia el servicio, la dirección por defecto es http://localhost:8000/v1
. Mantenga abierta la ventana de la línea de comandos.
Utilización
RolmOCR extrae texto mediante llamadas a la API. Aquí están los pasos exactos.
Preparar el documento
Prepare el archivo que desea reconocer, por ejemplo, una imagen (PNG/JPG) o un PDF. suponga que la ruta del archivo es test_doc.png
.
Llamada a la API para extraer texto
Escriba un script en Python para convertir el archivo a codificación base64 y enviarlo a RolmOCR. el código de ejemplo es el siguiente:
from openai import OpenAI
import base64
# 连接本地服务
client = OpenAI(api_key="123", base_url="http://localhost:8000/v1")
model = "reducto/RolmOCR-7b"
# 图片转 base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")
# 调用 RolmOCR 提取文字
def ocr_page_with_rolm(img_base64):
response = client.chat.completions.create(
model=model,
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_base64}"}},
{"type": "text", "text": "把这张图片里的文字提取出来,像人读的那样自然返回。"}
]
}
],
temperature=0.2,
max_tokens=4096
)
return response.choices[0].message.content
# 运行示例
test_img_path = "test_doc.png"
img_base64 = encode_image(test_img_path)
result = ocr_page_with_rolm(img_base64)
print(result)
guardar como (un archivo) ocr_test.py
y luego corre:
python ocr_test.py
El programa devuelve el texto extraído, por ejemplo:
会议记录
2025年4月7日
- 项目计划讨论
- 准备相关资料
archivo por lotes
Para manejar múltiples archivos, reescribe el código. Coloca las rutas de los archivos en una lista y llámala en un bucle:
file_paths = ["doc1.png", "doc2.png", "doc3.png"]
for path in file_paths:
img_base64 = encode_image(path)
result = ocr_page_with_rolm(img_base64)
print(f"{path} 的结果:\n{result}\n")
Función destacada Operación
- reconocimiento de escritura
RolmOCR reconoce la escritura a mano. Por ejemplo, una nota que diga "Deepseek Coder" se emite con precisión sin confundirse con "OCLM". Tras cargar la imagen, los resultados se clasifican por orden natural. - Tratamiento sesgado de documentos
El 15% se rota en los datos de entrenamiento, por lo que se adapta mejor a los documentos sesgados. Por ejemplo, un escaneado sesgado, el texto se sigue extrayendo correctamente. - Funcionamiento con poca memoria
Sin dependencia de los metadatos, longitudes de pista más cortas y menor uso de memoria gráfica (VRAM) para el procesamiento. Adecuado para ordenadores con configuraciones inferiores.
advertencia
- interrupción del servicioNo cierre la ventana de línea de comandos después de iniciar el servicio o la API se detendrá.
- déficit de memoriaSi su ordenador no tiene suficiente memoria, puede ajustar el parámetro vLLM, por ejemplo
per_device_train_batch_size
reduciendo las necesidades de recursos. - limitacionesRolmOCR puede pasar por alto texto pequeño con bajo contraste o el reconocimiento incompleto de tablas complejas sin metadatos. Se recomienda optimizar la calidad de la imagen y volver a intentarlo.
- No se admiten los cuadros de diseñoA diferencia de la API comercial de Reducto, RolmOCR no puede generar cuadros delimitadores para texto.
Con estos pasos, los usuarios pueden instalar y utilizar fácilmente RolmOCR para extraer texto de documentos rápidamente.
escenario de aplicación
- investigación académica
Los estudiantes e investigadores pueden utilizar RolmOCR para escanear notas manuscritas o documentos antiguos y convertirlos en textos electrónicos para facilitar su organización y búsqueda. - Procesamiento de documentos de empresa
La empresa puede utilizarlo para extraer texto de contratos y sobres e introducirlo en el sistema, lo que reduce el trabajo manual. - Soporte multilingüe
Maneja documentos mixtos en chino e inglés o cartas manuscritas en francés, extrayendo la información con rapidez y adaptándose a la comunicación transfronteriza.
CONTROL DE CALIDAD
- ¿Cuál es la diferencia entre RolmOCR y olmOCR?
RolmOCR se basa en el modelo actualizado Qwen2.5-VL-7B, que es más rápido, ocupa menos memoria, no utiliza metadatos y es más robusto para documentos sesgados. - ¿Se puede utilizar sin conexión?
Se puede. Basta con descargar el modelo e iniciar el servicio local, sin necesidad de conexión a Internet. - ¿Admite el reconocimiento de formularios?
Se admite, pero puede omitir partes de tablas complejas sin metadatos, como los subtítulos de los artículos académicos.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...