{"id":23575881,"url":"https://github.com/bytefer/ollama-ocr","last_synced_at":"2025-05-16T04:03:14.044Z","repository":{"id":264567912,"uuid":"893720264","full_name":"bytefer/ollama-ocr","owner":"bytefer","description":"Implementing OCR with a local visual model run by ollama.","archived":false,"fork":false,"pushed_at":"2024-11-27T14:10:05.000Z","size":425,"stargazers_count":278,"open_issues_count":2,"forks_count":26,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-11T12:20:13.510Z","etag":null,"topics":["llama","llama-vision-model","llama3","ollama","ollama-ocr","vison-models"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytefer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-25T04:54:51.000Z","updated_at":"2025-05-10T06:44:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"23eea704-098c-480d-9a55-94f5d2000756","html_url":"https://github.com/bytefer/ollama-ocr","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"761c18818a0451b8ffb5a84e9949d55439dd730b"},"previous_names":["bytefer/ollama-ocr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytefer%2Follama-ocr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytefer%2Follama-ocr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytefer%2Follama-ocr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytefer%2Follama-ocr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytefer","download_url":"https://codeload.github.com/bytefer/ollama-ocr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464891,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["llama","llama-vision-model","llama3","ollama","ollama-ocr","vison-models"],"created_at":"2024-12-26T21:10:13.408Z","updated_at":"2025-05-16T04:03:13.853Z","avatar_url":"https://github.com/bytefer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ollama OCR\n\nAn OCR tool based on Ollama-supported visual models such as [Llama 3.2-Vision](https://ollama.com/library/llama3.2-vision) or [MiniCPM-V 2.6](https://ollama.com/library/minicpm-v)  accurately recognizes text in images while preserving the original formatting.\n\n## Features\n\n- 🚀 High accuracy text recognition using Llama 3.2-Vision/MiniCPM-V 2.6 model\n- 📝 Preserves original text formatting and structure\n- 🖼️ Supports multiple image formats: JPG, JPEG, PNG\n- ⚡️ Customizable recognition prompts and models\n- 🔍 Markdown output format option\n- 💪 Robust error handling\n\n\u003e Accurate text recognition on macOS: [macos-vision-ocr](https://github.com/bytefer/macos-vision-ocr).\n\n## System Requirements\n\n- Node.js 18.0 or higher\n- Local running [Ollama](https://ollama.com/) server\n- [Llama 3.2-Vision](https://ollama.com/library/llama3.2-vision) model installed\n\n## Important Notes\n\n1. Ensure Ollama server is running before use\n2. Make sure Llama 3.2-Vision model is downloaded\n3. Currently supported image formats: .jpg, .jpeg, .png\n\n## Installation\n\n```bash\nnpm install ollama-ocr\n# or using pnpm\npnpm add ollama-ocr\n```\n\n## Usage\n\n### Basic Usage\n\n```javascript\nimport { ollamaOCR, DEFAULT_OCR_SYSTEM_PROMPT } from \"ollama-ocr\";\n\nasync function runOCR() {\n  const text = await ollamaOCR({\n    filePath: \"./test/images/handwriting.jpg\",\n    systemPrompt: DEFAULT_OCR_SYSTEM_PROMPT,\n  });\n  console.log(text);\n}\n```\n\n### Markdown Output\n\n```javascript\nimport { ollamaOCR, DEFAULT_MARKDOWN_SYSTEM_PROMPT } from \"ollama-ocr\";\n\nasync function runOCR() {\n  const text = await ollamaOCR({\n    filePath: \"./test/images/trader-joes-receipt.jpg\",\n    systemPrompt: DEFAULT_MARKDOWN_SYSTEM_PROMPT,\n  });\n  console.log(text);\n}\n```\n\n## Use MiniCPM-V 2.6 Vision Model\n\n```javascript\nasync function runOCR() {\n  const text = await ollamaOCR({\n    model: \"minicpm-v\",\n    filePath: \"./handwriting.jpg.jpg\",\n    systemPrompt: DEFAULT_OCR_SYSTEM_PROMPT,\n  });\n  console.log(text);\n}\n```\n\n## Error Handling\n\nThe tool provides comprehensive error handling:\n\n```javascript\nimport { ollamaOCR, LlamaOCRError, ErrorCode } from \"ollama-ocr\";\n\nasync function runOCR() {\n  try {\n    const text = await ollamaOCR({\n      filePath: \"./test/images/handwriting.jpg\",\n    });\n    console.log(text);\n  } catch (error) {\n    if (error instanceof LlamaOCRError) {\n      switch (error.code) {\n        case ErrorCode.FILE_NOT_FOUND:\n          console.error(\"Image file not found\");\n          break;\n        case ErrorCode.UNSUPPORTED_FILE_TYPE:\n          console.error(\"Unsupported image format\");\n          break;\n        case ErrorCode.OLLAMA_SERVER_ERROR:\n          console.error(\"Ollama server connection failed\");\n          break;\n        case ErrorCode.OCR_PROCESSING_ERROR:\n          console.error(\"OCR processing failed\");\n          break;\n      }\n    }\n  }\n}\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytefer%2Follama-ocr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytefer%2Follama-ocr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytefer%2Follama-ocr/lists"}