基于 Ollama-OCR 与 Llama 3.2-Vision 的文字识别方案
本文介绍了基于 Ollama-OCR 工具与 Llama 3.2-Vision 模型实现高质量文字识别的技术方案。文章涵盖了环境搭建、模型拉取、Node.js 代码集成、Markdown 格式输出及高级配置优化等内容。通过本地部署多模态大模型,用户可以在保护数据隐私的前提下,实现对图像中文字的高精度提取与结构还原,适用于手写识别、单据处理及图片问答等场景。

本文介绍了基于 Ollama-OCR 工具与 Llama 3.2-Vision 模型实现高质量文字识别的技术方案。文章涵盖了环境搭建、模型拉取、Node.js 代码集成、Markdown 格式输出及高级配置优化等内容。通过本地部署多模态大模型,用户可以在保护数据隐私的前提下,实现对图像中文字的高精度提取与结构还原,适用于手写识别、单据处理及图片问答等场景。

Llama 3.2-Vision 是一种多模态大型语言模型,包含 11B 和 90B 两种参数规模。该模型能够处理文本和图像输入,并生成高质量的文本输出。在视觉识别、图像推理、图像描述以及回答图像相关问题方面,Llama 3.2-Vision 表现出色,在多个行业基准测试中均优于现有的开源和闭源多模态模型。
本文将详细介绍开源工具 ollama-ocr。它默认使用本地运行的 Llama 3.2-Vision 视觉模型,可准确识别图像中的文字,同时保留原始格式。相比传统 OCR 工具,基于大模型的 OCR 在处理复杂布局、手写体及模糊图像时具有显著优势。
对于难以通过传统算法识别的手写笔记、签名或潦草字迹,Llama 3.2-Vision 凭借语义理解能力能进行有效还原。

适用于发票、收据、文档扫描件等结构化或非结构化文本的提取。

除了提取文字,还可以对图片内容进行逻辑推理和问答。

Ollama 是一个支持在本地运行多模态模型的平台,提供了便捷的模型管理和推理接口。
步骤:
ollama --version。安装 Ollama 后,需拉取对应的视觉模型。推荐使用 11B 版本以平衡性能与资源消耗。
ollama run llama3.2-vision
首次运行时会自动下载模型权重,请确保网络通畅且磁盘空间充足(建议预留 10GB 以上空间)。
本项目基于 Node.js 开发,需先安装 Node.js 环境。
npm install ollama-ocr
# 或使用 pnpm
pnpm add ollama-ocr
以下示例展示了如何调用 API 识别图片中的纯文本内容。
import { ollamaOCR, DEFAULT_OCR_SYSTEM_PROMPT } from "ollama-ocr";
async function runOCR() {
try {
const text = await ollamaOCR({
filePath: "./handwriting.jpg",
systemPrompt: DEFAULT_OCR_SYSTEM_PROMPT,
});
console.log("识别结果:", text);
} catch (error) {
console.error("OCR 失败:", error.message);
}
}
runOCR();
输入图片:

输出结果: The Llama 3.2-Vision collection of multimodal large language models (LLMs) is a collection of instruction-tuned image reasoning generative models in 118 and 908 sizes (text + images in / text out). The Llama 3.2-Vision instruction-tuned models are optimized for visual recognition, image reasoning, captioning, and answering general questions about an image. The models outperform many of the available open source and closed multimodal models on common industry benchmarks.
若需要保留表格、列表等结构,可使用 Markdown 系统提示。
import { ollamaOCR, DEFAULT_MARKDOWN_SYSTEM_PROMPT } from "ollama-ocr";
async function runMarkdownOCR() {
const text = await ollamaOCR({
filePath: "./trader-joes-receipt.jpg",
systemPrompt: DEFAULT_MARKDOWN_SYSTEM_PROMPT,
});
console.log(text);
}
输入图片:

输出结果:

ollama-ocr 主要依赖本地视觉模型。如果您希望使用云端部署的 Llama 3.2-Vision 模型,可以尝试 llama-ocr 库。

为了获得更精准的识别效果,可以修改 systemPrompt 参数。例如,指定只提取数字、日期或特定字段。
const customPrompt = "You are an expert OCR assistant. Extract only dates and amounts from the image.";
// 传入自定义 prompt
ollama 服务已启动 (ollama serve)。systemPrompt,明确指定语言为中文或英文。利用 Ollama 结合 Llama 3.2-Vision 构建 OCR 解决方案,实现了数据隐私保护与高识别率的平衡。通过简单的几行代码,即可集成强大的视觉理解能力到现有业务系统中。随着多模态模型的持续迭代,此类本地化 AI 应用将在文档数字化、知识管理等场景发挥更大价值。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online