项目介绍:receipt-scanner
receipt-scanner 是一个基于 AI 的发票和收据扫描工具,适用于 Laravel 应用。此工具能从图像、PDF 和电子邮件中轻松提取结构化的收据数据,并集成了 OpenAI 强大的文本分析功能,提供了一种高效、准确的数据处理方式。
功能特点
- 开放AI集成:该项目使用了 OpenAI 的 Chat 和 Completion 接口,可以接受文本输入并返回结构化的收据信息。
- 多种输入格式支持:支持纯文本、PDF、图像、Word 文档和网页内容等多种格式。
- OCR功能:通过集成 AWS 的 Textract 服务,能处理来自图像的文本识别。
- 精准分析:拥有经过精调的提示系统,以便更好地解析收据内容。
安装指南
用户可以通过以下命令安装该包:
composer require helgesverre/receipt-scanner
安装后,需要发布配置文件:
php artisan vendor:publish --tag="receipt-scanner-config"
由于此包依赖于 OpenAI 的 Laravel 包,用户还需发布其配置并在 .env
文件中添加 OPENAI_API_KEY
。
使用方法
从纯文本中提取收据数据
假如用户有电子收据或发票的文本格式,他们可以通过以下方式处理文本:
Text::text(file_get_contents('./receipt.txt'));
然后调用 ReceiptScanner::scan()
方法进行数据提取并分析。
从其他格式中提取数据
receipt-scanner 还提供了从 PDF、图像以及 Word 文档等格式中提取文本的便捷方法。对于每种格式,用户可以直接使用对应的方法进行文本提取并分析。
收据数据模型
提取的收据数据将会被解析为一个数据传输对象 (DTO),包括收据的主要信息、商家信息以及每个项目的详情。这些信息可以通过调用 toArray()
方法转换为数组格式,以便于灵活操作。
返回数组而非 DTO
如果用户需要以数组格式来处理数据,可以在调用 scan()
方法时指定 asArray: true
参数。
模型选择
用户可以通过指定不同的模型名称来调整文本解析的速度和精度,例如使用更快的 GPT-3 模型或更精准的 GPT-4 模型。
配置 AWS Textract 进行 OCR
在使用 Textract 进行 OCR 操作时,需要配置 AWS 凭证及 S3 存储参数以确保图像和 PDF 的顺利处理。
发布提示模板
用户可以发布并自定义提示模板,以便在文本解析中适应特殊的格式或需求。
许可证
该项目使用 MIT 许可证,详细内容请参考 LICENSE 文件。
通过这款工具,用户可以轻松地将图片、PDF 以及文本中的收据数据提取出来,大大节省了人工操作的时间和成本,适合有批量处理数据需求的企业和开发者使用。