Zerox OCR 翻新引领光学字符识别新境界 探求
一、Zerox OCR 的基本原理
的外围原理是应用先进的技术手腕对图像中的文字启动识别和提取。 它不齐全依赖传统的光学字符识别技术,而是奇妙地结合了大型言语模型 。在解决环节中,当面对输入的文档,如 PDF、图片或 DOCX 等格局的文件时,首先会对文档启动预解决。关于 PDF 文件,会将其转换为图像,以便后续剖析每一页的内容。而后,应用大型言语模型的弱小了解才干,对图像中的文字启动解读和识别。这种模式使得 Zerox OCR 能够更好地解决各种复杂的文本状况,包括格调化水平很高的文本、规划不寻常的文档以及蕴含不凡符号或图形的文本内容等。与传统 OCR 技术相比,它更器重对文本语义的了解,从而提高了识别的准确性和牢靠性。
二、Zerox OCR 的特点与长处
1. 高效准确的识别才干
借助大型言语模型的长处,Zerox OCR 能够对复杂的文本启动精准识别。无论是手写体、艺术字还是带有各种搅扰起因的文字,它都能准确地提取其中的消息,大大缩小了失误识别的概率,为用户提供高品质的识别结果。
2. 宽泛的文件格局允许
允许多种经常出现的文件格局,如 PDF、DOCX、图片(包括经常出现的图片格局如 JPEG、PNG 等)。这使得用户在不同的场景下都能繁难地经常使用 Zerox OCR,无需启动繁琐的格局转换,节俭了期间和精神。
3. 零-shot 学习才干
具有弱小的零-shot OCR 解决才干象征着它无需针对特定义务启动少量的预先训练数据预备,就可以间接对各种文档启动解决。这种灵敏性和顺应性使得 Zerox OCR 能够极速应答不同类型的文档和义务,为用户提供了方便的经常使用体验。
4. 友好的输入格局
解决后的文本以 Markdown 格局前往。Markdown 格局繁复明了,既保管了文本的基本格局,又便于后续的编辑和经常使用。用户可以轻松地对输入的文本进后退一步的整顿、剖析和排版,满足不同的需求。
5. 易于集成
提供了繁难的开发接口,特意是关于开发者来说,它提供了 Node.js 和 Python 的 SDK。这使得开发者能够轻松地将 Zerox OCR 集成到现有的运行程序中,裁减运行的性能,成功智能化的 OCR 解决,提高上班效率和流程的智能化水平。
6. 并发解决与自定义选项
允许并发解决多个页面,用户可以依据自己的需求设置同时解决的页面数量,从而放慢全体的解决速度。同时,还提供了多种自定义选项,例如选用解决特定页面、能否坚持格局以及选用经常使用的模型等,用户可以依据详细的义务和需求启动共性化的性能,满足不同场景下的不凡要求。
7. 清算性能
在解决成功后,允许智能清算暂时生成的图像文件,防止了不用要的文件占用和存储疑问,简化了用户的文件治理上班,坚持系统的整洁和高效。
三、Zerox OCR 的运行场景
1. 文档数字化与档案治理
在图书馆、档案馆、企业文档治理等畛域,有少量的纸质文档须要启动数字化解决。Zerox OCR 可以极速将这些纸质文件转换为电子文本,繁难存储、检索和编辑。例如,图书馆可以将宝贵的古籍文献启动 OCR 解决后,建设数字化图书馆,繁难读者查阅和钻研;企业可以将历史档案文件数字化,提低档案治理的效率和安保性。
2. 数据提取与剖析
从各种报表、合同、发票等文档中提取关键消息是企业日常经营中的关键义务。Zerox OCR 能够准确地识别和提取这些文档中的数据,为数据剖析和决策提供允许。例如,财务部门可以应用它从财务报表中提取数据启动剖析,开售部门可以从开售合同中提取关键条款启动业务剖析和跟进。
3. 内容创作与编辑
关于作者、编辑等从事文字上班的人员,Zerox OCR 可以将手写笔记、图片中的文字等转换为电子文本,繁难进后退一步的创作和编辑。例如,作家可以将手写的草稿经过 Zerox OCR 转换为电子文档,而后启动修正和完善;编辑可以将扫描的稿件极速转换为可编辑的文本,提高上班效率。
4. 教育畛域
在教育畛域,老师可以应用 Zerox OCR 将教材、试卷等资料中的文字转换为电子文本,繁难制造教学课件、启动在线教学和作业修改。在校生也可以经常使用它将笔记、书籍中的重点内容转换为电子文档,便于温习和整顿常识。
5. 电子商务与物流
在电子商务中,商家可以经常使用 Zerox OCR 解决订单、发票等文件,提高订单解决的效率和准确性。在物流畛域,快递单号、地址等消息的识别和录入也可以借助 Zerox OCR 成功智能化,缩君子工输入的失误和上班量。
四、极速开局
1、在线体验
在线地址:
2、本地经常使用
1)装置 py-zerox
pip install py-zerox
2)代码示例
from pyzerox import zeroximport osimport jsonimport asyncio### Model Setup (Use only Vision Models) Refer:##### placeholder for additional model kwargs which might be required for some modelskwargs = {}## system prompt to use for the vision modelcustom_system_prompt = None# to override# custom_system_prompt = "For the below pdf page, do something..something..." ## example###################### Example for OpenAI ######################model = "gpt-4o-mini" ## openai modelos.environ["OPENAI_API_KEY"] = "" ## your-api-key###################### Example for Azure OpenAI ######################model = "azure/gpt-4o-mini" ## "azure/<your_deployment_name>" -> format <provider>/<model>os.environ["AZURE_API_KEY"] = "" # "your-azure-api-key"os.environ["AZURE_API_BASE"] = "" # "https://example-endpoint.openai.azure.com"os.environ["AZURE_API_VERSION"] = "" # "2023-05-15"###################### Example for Gemini ######################model = "gemini/gpt-4o-mini" ## "gemini/<gemini_model>" -> format <provider>/<model>os.environ['GEMINI_API_KEY'] = "" # your-gemini-api-key###################### Example for Anthropic ######################model="claude-3-opus-20240229"os.environ["ANTHROPIC_API_KEY"] = "" # your-anthropic-api-key###################### Vertex ai ######################model = "vertex_ai/gemini-1.5-flash-001" ## "vertex_ai/<model_name>" -> format <provider>/<model>## GET CREDENTIALS## RUN ### !gcloud auth application-default login - run this to add vertex credentials to your env## OR ##file_path = 'path/to/vertex_ai_service_account.json'# Load the JSON filewith open(file_path, 'r') as file:vertex_credentials = json.load(file)# Convert to JSON stringvertex_credentials_json = json.dumps(vertex_credentials)vertex_credentials=vertex_credentials_json## extra argskwargs = {"vertex_credentials": vertex_credentials}###################### For other providers refer:####################### Define main async entrypointasync def main():file_path = "https://omni-demo-data.s3.amazonaws.com/test/cs101.pdf" ## local filepath and file URL supported## process only some pages or allselect_pages = None ## None for all, but could be int or list(int) page numbers (1 indexed)output_dir = "./output_test" ## directory to save the consolidated markdown fileresult = await zerox(file_path=file_path, model=model, output_dir=output_dir,custom_system_prompt=custom_system_prompt,select_pages=select_pages, kwargs)return result# run the main function:result = asyncio.run(main())# print markdown resultprint(result)
参数说明:
async def zerox(cleanup: bool = True,concurrency: int = 10,file_path: Optional[str] = "",maintain_format: bool = False,model: str = "gpt-4o-mini",output_dir: Optional[str] = None,temp_dir: Optional[str] = None,custom_system_prompt: Optional[str] = None,select_pages: Optional[Union[int, Iterable[int]]] = None,kwargs) -> ZeroxOutput:...
前往
五、结语
Zerox OCR 作为一款翻新的光学字符识别工具,以其共同的原理、丰盛的特点和宽泛的运行场景,为用户在数字化时代解决文字消息提供了弱小的允许。它的产生不只提高了 OCR 技术的效率和准确性,还为各个行业的数字化转型和开展带来了新的时机。假设你对 Zerox OCR 感兴味,想要了解更多详细消息,可以访问其官网 GitHub 地址: 。置信在未来,随着技术的始终提高和完善,Zerox OCR 将在更多的畛域施展关键作用,为咱们的生存和上班带来更多的便利和翻新。
本文转载自,作者: